Skip to main content

Shopify integrations

Send surveys to Shopify customers after an order, and see each rating next to the order and the customer.

Put a Simplesat survey inside Shopify's own notification emails, such as the one that tells customers their order was delivered, or have Simplesat email it a set number of days after the order. Pasting the survey into a notification works without connecting Shopify. Connect your store, and each rating can also appear on the customer in Shopify, with the order's details on the response in Simplesat.

What the Shopify integrations do

The Shopify page groups its integrations under Account-wide integrations, Survey integrations and Ticket integrations. You switch on each one separately with Activate integration.

Integration

Listed under

What it does

Where it shows

Sync customers from Shopify to Simplesat

Account-wide integrations

Adds your Shopify customers to Simplesat and updates them once a day

Customers, in Simplesat

Send order follow-up survey

Survey integrations

Emails the survey a set number of days after an order

The customer's inbox

Tag customers with rating details

Survey integrations

Tags the Shopify customer with their rating and sentiment

The customer in Shopify

Add rating details to customer metafields

Survey integrations

Saves the customer's latest rating, metric, sentiment and comment in metafields

The customer in Shopify

Sync feedback to metaobject in Shopify

Survey integrations

Saves the response as a Simplesat feedback entry linked to the customer and the order

Shopify's metaobjects

Sync order details to Simplesat

Ticket integrations

Adds the order's details and customer to the response

The response, in Simplesat

Tag customers with rating details, Add rating details to customer metafields and Sync feedback to metaobject in Shopify have no settings. They run on responses from every survey in your workspace.

Sync order details to Simplesat runs only on surveys connected to Shopify, and only on responses whose ticket ID is a Shopify order ID. A survey is connected when it's an External email embed survey with the Shopify option, or an Event-based survey with Connected service set to Shopify.

Note: Some workspaces still have older, deprecated versions switched on: Send an event based survey after fulfilling order and Send event based email survey after order is paid for, which send as soon as Shopify reports the order fulfilled or paid, and an older Send order follow-up survey. They take the survey's endpoint URL instead of a Survey setting. They're listed only where they're still on, and they leave the page once you turn them off.

If we've changed one of your Shopify integrations for you, it can work differently from what's described here. Contact us to check what yours does.

Before you start

The Shopify integrations are available on every Simplesat plan. To connect your store, you need:

  • The Manage integrations permission in Simplesat, which lets you connect Shopify and switch integrations on. Owner and Admin have it by default.

  • A Shopify login that can create apps and install them on the store.

If your security team wants to know what Simplesat can do in your store, Integration security, permissions and data flow covers what a connected tool can read and write.

Connect Shopify

Each store connects through its own app, which you create in Shopify.

  1. Go to the Shopify Dev Dashboard (dev.shopify.com/dashboard) and click Create app. Choose Start from Dev Dashboard, name the app Simplesat and click Create.

  2. Select Use legacy install flow, and add https://integration.simplesat.io/connector/callback as a redirect URL, exactly as it's written here. If the app version doesn't offer Use legacy install flow, contact us before you go on.

  3. Click Release.

  4. On the app's Settings, copy the Client ID and Client secret.

  5. In Simplesat, go to the Integrations page, open Shopify and click Authenticate.

  6. Fill in URL with your store's domain ending in .myshopify.com, such as acme.myshopify.com, even if your store has its own domain. Then fill in Client ID and Client secret, and click Authenticate.

  7. Sign in to Shopify if it asks you to, then approve the access the app requests.

  8. When the page shows Authenticated with Shopify, click Activate integration on each integration you want, then fill in its settings.

Tip: Before you rely on an integration, test it with a real order, as described in Testing an integration end to end.

Send surveys from Shopify

The difference is who sends the email. Shopify sends its notifications with the survey inside, while a Simplesat follow-up email holds only the survey.

If you're still deciding where to send from, Choosing a survey delivery method compares these with the other ways Simplesat sends surveys.

Shopify notification emails

  1. Create or open the survey and choose External email embed.

  2. Under Choose where to add your survey, choose Shopify.

  3. On Publish, click Generate embed code.

  4. Choose HTML and click Copy survey.

  5. In your Shopify admin, go to Settings → Notifications and open the notification that should carry the survey. To reach customers once their order has arrived, use Shipping → Delivered or Local delivery → Delivered.

  6. Paste the code where the survey should appear, and click Save. Click Preview to see it.

When Shopify sends the notification, it fills in its variables in the survey code, so each response arrives tied to its order and customer:

What the code carries

Shopify variable

Ticket ID, which is the order's ID

{{id}}

Ticket subject, which is the order name, such as #1001

{{name}}

Customer email

{{customer.email}}

Customer ID

{{customer.id}}

Customer first name

{{customer.first_name}}

Customer last name

{{customer.last_name}}

Company name

{{shipping_address.company}}

The code also saves the order number, order tags, fulfillment status, store location, shipping method and fulfillment service as ticket fields on the response: order_number, order_tags, order_fulfillment_status, store_locations, shipping_method and fulfillment_service.

If a response shows up without its order or customer details, Placeholders and merge fields is the place to look, because it explains how placeholders work.

Simplesat follow-up emails

  1. Create the survey with Direct email delivery → Event-based.

  2. On its Delivery subtab, set Connected service to Shopify, so Sync order details to Simplesat runs on its responses.

  3. On the Shopify page, click Activate integration on Send order follow-up survey.

  4. In Survey, choose the survey. In Delay (days), enter how many days after the order date the survey should go out, and click Save.

Once a day, the integration emails the survey for orders placed that many days earlier. Each order gets it once.

Heads up: The days count from the order date Shopify shows, not from fulfillment or delivery. An order is surveyed only if, on that day, it's paid, fulfilled and has an email address. If it isn't, it never gets the survey.

The survey's own settings still apply. Delay holds the email back for a number of hours, and Suppression keeps a customer from getting it again within a number of days.

Each email includes the customer's name and email, and uses the order's ID as its ticket ID. Sent emails show on the survey's Email activity. If one doesn't arrive, When a survey does not send lists what to check.

Feedback in Shopify

These integrations put a customer's latest rating on their Shopify customer record as tags and metafields, and save their response in Shopify linked to the order.

They write at least five minutes after a response arrives, and again when it changes. If a rating hasn't shown up in Shopify yet, Writing feedback back, and mapping the fields goes into the timing.

Tag customers with rating details

The Shopify customer whose email matches the response gets a tag for the sentiment and a tag for the metric and rating. For example, ss_sentiment_positive and ss_CSAT_5, or ss_NPS_9 for an NPS rating.

The metric is CSAT, NPS, CES or 5-STAR, and the sentiment is positive, neutral or negative.

With every new response, the integration removes the customer's tags that start with ss_ and adds fresh ones. Their other tags stay.

You can use the tags in Shopify customer segments, for example to gather every customer tagged ss_sentiment_negative.

Add rating details to customer metafields

The customer's latest rating, metric, sentiment and comment go into customer metafields in the feedback namespace: Latest Rating, Latest Metric, Latest Sentiment and Latest Comment. The integration creates the metafield definitions the first time it runs.

It writes to the Shopify customer whose ID is on the response. Responses to a survey in a Shopify notification include that ID. It writes nothing for responses to Send order follow-up survey emails, or for any response with a double quote (") in its comment.

To see the fields on a customer's page in Shopify, pin the definitions in Shopify's customer metafield settings.

Sync feedback to metaobject in Shopify

The response itself goes into Shopify as a Simplesat feedback entry, a metaobject linked to the Shopify customer and the order. The integration creates the Simplesat feedback definition the first time it runs. Each entry holds:

Field

What it holds

Created At

When the response was submitted

Customer

The Shopify customer

Order

The Shopify order

Survey

The survey's name

Choice

The rating

Metric

The metric, such as CSAT or NPS

Comment

The customer's comment

Sentiment

positive, neutral or negative

Language

The response's language

Source

Where the response came from

Response URL

A link to the response in Simplesat

Customer URL

A link to the customer in Simplesat

The entry needs the order ID and the Shopify customer ID, and responses to a survey in a Shopify notification include both. The integration writes nothing for responses to Send order follow-up survey emails, or for any response with a double quote (") in its comment.

Order and customer details in Simplesat

These integrations bring Shopify's side into Simplesat: the order behind each response, and your Shopify customers.

If you're checking which order or customer a response belongs to, Attribution: linking feedback to tickets, customers and agents explains how Simplesat makes that link.

Sync order details to Simplesat

A response picks up the details of the Shopify order in its ticket ID:

  • The customer's name, email and Shopify customer ID

  • The order's tags, which replace the response's tags when the order has any

  • These ticket fields: number (the order number), name (the order name, such as #1001), value (the subtotal), items (the products ordered), discount codes, country (the shipping country), shipping (the shipping method), carrier, order created and order shipped

If the survey was in a Shopify notification, the ticket fields its code saved, such as order_number, give way to these.

Sync customers from Shopify to Simplesat

Your Shopify customers come into Simplesat as customers, each with their name, email and Shopify customer ID. The first run imports all of them, and after that a daily run picks up the ones updated in the past day. Nothing is written to Shopify.

If customers don't appear the way you expect, Contact sync from a connected tool goes into how contact syncs work.

Change the Shopify store

The Shopify page connects one store at a time. To connect a different store:

  1. Note which integrations are on.

  2. Click Revoke access.

  3. Click Authenticate and enter the other store's domain, with the client ID and secret of an app created for that store.

  4. Click Activate integration on each integration you use. Connecting again doesn't switch any of them back on, but their settings are kept.

Heads up: Responses that arrive between Revoke access and activating the integrations again aren't written to Shopify.

Survey code you've pasted into a store's notifications keeps working after you switch. The new store needs the code pasted into its own notifications.

Troubleshooting

My orders don't get the follow-up survey email

Once a day, Send order follow-up survey looks for orders placed the number of days ago you set in Delay (days). It surveys an order only if, on that day, the order is paid, fulfilled and has an email address. An order fulfilled later isn't surveyed, and each order gets the survey once.

Check that the integration shows as active and that Survey holds an Event-based survey. The survey's own Delay and Suppression can also hold an email back. Look for the email on the survey's Email activity, then work through When a survey does not send.

I can't connect Shopify, or I get an invalid token error

In URL, enter the store's domain that ends in .myshopify.com, not your store's own domain. Use the client ID and secret of the app you created for this store, and check that the app's redirect URL is exactly https://integration.simplesat.io/connector/callback. The Shopify login you use has to be able to install apps on the store. If it still fails, contact us with the error you see.

My Shopify customers don't get tags or metafields

Tag customers with rating details matches the customer by the email on the response, so a response with no email, or with an email no Shopify customer has, isn't written. Add rating details to customer metafields and Sync feedback to metaobject in Shopify match by Shopify customer ID instead, which responses to a survey in a Shopify notification include. They write nothing for responses to Send order follow-up survey emails, or for any response with a double quote (") in its comment.

These integrations write at least five minutes after a response arrives, and each one has to show as active. If you've clicked Revoke access and Authenticate since you set them up, click Activate integration on each one again.

The Simplesat metafields don't show on my Shopify customers

Shopify shows a customer metafield on the customer page only once its definition is pinned. Pin Latest Rating, Latest Metric, Latest Sentiment and Latest Comment in Shopify's customer metafield settings. The definitions appear once the integration has run for the first time.

My Shopify integrations stopped working, but the page still says Authenticated with Shopify

Simplesat doesn't check the connection after you connect. If the access is revoked in Shopify, or the app is removed from the store, the integrations fail while the page still reads Authenticated with Shopify. To reconnect, note which integrations are on, click Revoke access, then Authenticate, then Activate integration on each integration.

If the page shows an error message, look it up in Integration error messages and what they mean.

FAQ

Is the survey email sent from Shopify or from Simplesat?

Either, depending on how you send it. Survey code pasted into a Shopify notification goes out in Shopify's email, as part of that notification. With Send order follow-up survey, Simplesat sends an email that holds only the survey.

Can the survey go out when the order is delivered instead of when it's fulfilled?

Yes. Paste the survey into Shopify's Shipping → Delivered or Local delivery → Delivered notification. Send order follow-up survey counts days from the order date instead.

How do I send the survey three weeks after an order?

Set Delay (days) on Send order follow-up survey to 21. The count starts at the order date, and the order has to be paid and fulfilled by then.

We have a Shopify store for each country. Do we set up each one separately?

For survey code, yes. Paste it into each store's notifications, which works without connecting any of them. The Shopify page connects one store, with an app created for that store. To connect a second store too, use a second workspace.

Can I see the Shopify order number on a response?

Yes. The ticket ID on a response from Shopify is the order's ID. A survey in a Shopify notification saves the order number in the ticket field order_number. With Sync order details to Simplesat on, the order number is in number instead, and the order name is in name.

How do I stop customers from getting the survey too often?

For Send order follow-up survey, set Suppression on the survey's Delivery subtab. A customer then gets the survey at most once in that many days. A survey pasted into a Shopify notification goes out with every notification of that type.

What do the ss_ tags on my Shopify customers mean?

They come from Tag customers with rating details. ss_CSAT_5 means the customer's latest rating was a 5 on a CSAT survey, and ss_sentiment_positive is that response's sentiment. A new response replaces both.

Did this answer your question?