Customer Data Management
Sailthru’s Shopify app provides you the tools needed to respect customer data and opt-in status for an optimal workflow between Shopify and Sailthru.
When customers create an account or make a change to an existing Shopify account, the Shopify App will begin tracking any opt-out changes between Sailthru and Shopify.
Since Shopify uses a true/false Customer Accepts Marketing field to track opt-out status and Sailthru uses a multi-tiered approach, we use the following mapping between the platforms:
When Sailthru receives an opt-out request from Shopify, we will either:
- Set that user to Opt-Out (Marketing)
- Retain an existing Sailthru opt-out status if it is more restrictive.
How Opt-Out Management Works
The Sailthru Shopify App receives customer data through Shopify webhooks when a customer is created or updated. While the data sent from Shopify includes a customer’s marketing opt-in status, it doesn’t specify if the status was human-generated or a default from Shopify.
To respect all opt-in and opt-out decisions, including opt-ins made in Sailthru prior to a customer creating a Shopify account, we use the following logic to interact with Shopify opt-out data.
|Webhook Received||Customer creation||Customer update|
|Customer Accepts Marketing||If the customer is marked as Accepting Marketing at time of customer creation, it means the customer actively signed up at checkout or through a Shopify newsletter signup widget. was done
Treated as an opt-in in Sailthru.
|These are assumed to indicate a recorded opt-in.|
|Customer Doesn’t Accept Marketing||If a Customer is set to Doesn’t Accept Marketing at account creation, that means they didn’t opt-in during checkout However. They may have opted into Sailthru messaging previously.
If the customer is opted in through Sailthru, Shopify will be updated with Sailthru’s knowledge of opt-in.
|This is checked to see if it is an actual opt-out change or if it was propagated from an account creation (sometimes the customers/update webhook is received within seconds of account creation).
We compare the customer’s updated_at timestamp to their accepted_marketing_updated_at timestamp. If they occur within 10 seconds, it is accepted as an active opt-out change.
Opt-Out Data from Sailthru
When an opt-out change is recorded for a Sailthru profile (from email, a profile page, the API, etc.) we propagate that back to Shopify using the mapping in the Opt-Out Management section. Valid profiles in Sailthru become customers that Accept Marketing. Any level of Sailthru profile opt-out will become a customer who Doesn’t Accept Marketing.
Maintain a single source of truth for processing GDPR requests through your Sailthru Shopify integration.
Shopify uses two different webhooks to manage GDPR requests. One webhook manages redact requests and one webhook manages data requests.
This webhook sent by Shopify will remove or redact any data on a specified customer and their orders. It is sent time-delayed from the time of request:
- 10 days if a customer hasn’t made a purchase in the last six months
- 6 months otherwise
The profile will be removed through the User API.
Note: Once a full profile is deleted via a Shopify delete request, the user and all preferences are deleted. This includes DoNotTrack information. You will need to request DoNotTrack information from a user again.
This webhook is sent by Shopify when a customer requests their data. The request is handled manually:
- The request automatically sends an email that opens a Support ticket.
- Support receives the ticket and processes the appropriate information.
- The request is sent to you through email. It includes the user’s email address or Sailthru Profile ID, so you can process the request and send the appropriate data to the user.