Skip to main content

Understand Shopify Contact Data Sync

Learn how contacts sync between Shopify and Omnisend, what data transfers in each direction, and how to troubleshoot common sync issues like count mismatches

Ira avatar
Written by Ira
Updated this week

Omnisend offers a two-way integration with Shopify, syncing contacts, orders, and products automatically.

This article explains how contact data moves between platforms, what syncs in each direction, and how to prevent common issues like duplicate contacts or missing subscribers.


Before You Begin

  • Contact count differences are normal. Omnisend stores all contacts from any source (Shopify, manual uploads, 3rd-party apps like Zapier or Google Forms). Shopify only receives contacts who subscribe via Omnisend Signup Forms. If you have more contacts in Omnisend than Shopify, this is expected.

  • Only explicit consent creates subscribers. Contacts who place orders, abandon carts, or create accounts without opting in to marketing are added as non-subscribed. Only those who check the marketing opt-in box at checkout or submit an Omnisend Signup Form appear as subscribed.

  • Changing identifiers creates duplicates ⤵️

⚠️ Warning: Changing a contact's email or phone number in Shopify creates a new contact in Omnisend instead of updating the existing one. This causes duplicate profiles and lost purchase history. To prevent this, update the identifier in Omnisend first (Audience → Edit contact), then update Shopify.

  • Manually uploaded contacts don't sync to Shopify. Contacts uploaded directly to Omnisend (CSV imports, Zapier, Google Forms) stay in Omnisend only. To add them to Shopify, upload them directly in Shopify.

Contacts Synchronization to Omnisend

Initial Sync

When you connect your Shopify store to Omnisend, we start syncing all contacts, orders, and products. The process completes within an hour for most stores, but may take longer depending on the number of contacts.

After Initial Sync: Why You May See Zero "Email Subscribers"

After the initial sync, you may see contacts in your Total audience but not in Email Subscribers. This is expected. Only contacts who explicitly consented (via Signup Forms or checkout opt-in) appear as subscribed. Others are added as non-subscribed. To view subscribed contacts, create a segment with "Email subscription status = Subscribed."

Ongoing Sync

After the initial sync, we continue uploading contacts within different time frames:

Sync timing depends on the update type:

  • Instant (within 3 minutes): Orders, cart updates, customer actions

  • 1 hour: Profile updates (name, address, non-identifier fields)

  • 24 hours: Tag changes

If contacts don't appear after 24 hours, verify your integration is active or contact support.

Note! If you update any information other than the identifier (email or phone) in a contact's Shopify profile, it will update in Omnisend. If you unsubscribe a contact in Shopify, they will be unsubscribed in Omnisend.

⚠️ Warning: Changing a contact's email or phone number in Shopify creates a new contact in Omnisend instead of updating the existing one. This causes duplicate profiles and lost purchase history. To prevent this, update the identifier in Omnisend first (Audience → Edit contact), then update Shopify.

What Data Syncs to Omnisend

Profile Data:

  • Email

  • First name

  • Last name

  • Subscription status for Email channel

  • Phone number

  • Subscription status for SMS channel

We also sync the date when the contact was added to your store and assign it to the external_created field.

Address:

  • Country

  • City

  • Address (if two lines exist, they're combined with commas)

  • Postal code

When both Shipping and Billing addresses are available, priority is given to the Billing address.

Tags:

  • source: shopify (assigned automatically)

  • Any other tags from your Shopify store

Contacts Synchronization to Shopify

What Syncs to Shopify

Only contacts who subscribe via Omnisend Signup Forms sync to Shopify. Manually uploaded contacts (CSV imports, Zapier, Google Forms, etc.) stay in Omnisend only.

Contact data transferred to Shopify:

  • Email

  • Phone number

  • Email subscription status

  • Subscription date

  • First name

  • Last name

  • Tags

💡 Note: SMS subscription status does not sync from Omnisend to Shopify – only email subscription status is passed.

Sync Contact Tag Changes to Shopify

The Sync contact tag changes to Shopify feature automatically syncs tags added or removed in Omnisend to your Shopify store.

To enable:

  1. Go to Store SettingsConnected Store.

  2. Locate the Sync contact tag changes to Shopify toggle.

  3. Turn it on to enable syncing, or off to disable.

Important notes:

  • Tag changes sync within 2 minutes.

  • Only tags added after enabling sync to Shopify.

  • Only manually added tags sync (via automation tag blocks or Audience tab). Automatically assigned tags do not sync.

Subscription Statuses Mapping

Subscribed Status

Anyone subscribing to your Shopify store is added to Omnisend with the same subscribed status.

Subscription sources:

  • Omnisend Signup Forms

  • Marketing opt-in checkbox at checkout

To view subscribed contacts in Shopify, filter by "Email subscription status = Subscribed." 


To view in Omnisend, create a segment with "Email subscription status = Subscribed."

Non-Subscribed Status

Anyone who provides contact details (orders, abandoned carts, account creation) without explicitly consenting to marketing is added to Omnisend as non-subscribedLearn more about non-subscribed contacts.

SMS Channel Subscription

Omnisend collects opt-ins for SMS marketing separately. By default, phone numbers sync to Omnisend with a non-subscribed to SMS status.

SMS subscription priority:

  1. Primary contact input at checkout (if the contact checks out using only a phone number)

  2. Checkout with SMS opt-in (if the contact provides an email, phone in shipping details, and checks the SMS opt-in box)

  3. Billing information (phone syncs from billing but always with non-subscribed status)

💡 Note: SMS subscription status does not sync from Omnisend to Shopify.

GDPR Compliance

Omnisend uses Shopify webhooks to handle GDPR requirements:

Check this tutorial to learn more about each of these requests.

Note! When you delete a contact in Shopify, Omnisend automatically deletes the contact via the customers/redact webhook. Always perform contact cleanup in Shopify first, then delete from Omnisend to avoid accidental re-sync.

Troubleshooting

Contacts aren't syncing after 24 hours

  1. Verify your Shopify store is connected: Store SettingsConnected Store

  2. Check that the Omnisend app is installed in Shopify: Shopify AdminApps

  3. If using Shopify 2.0, enable the Omnisend app embed.

  4. Contact support if the issue persists

Duplicate contacts appearing

Check if contact identifiers (email/phone) were changed in Shopify. Changing identifiers creates new profiles. Update identifiers in Omnisend first to prevent duplicates.

Tags not syncing to Shopify

  1. Verify tag sync is enabled: Store SettingsConnected StoreSync contact tag changes to Shopify toggle

  2. Confirm tags were added manually (automated tags don't sync)

  3. Allow up to 2 minutes for sync

FAQ

Why do I have more contacts in Omnisend than Shopify?

This is normal. Omnisend stores all contacts from any source (Shopify, manual uploads, 3rd-party apps). Shopify only receives contacts who subscribe via Omnisend Signup Forms. Manually uploaded contacts, and those from external tools don't sync to Shopify.

Why don't my manually uploaded contacts appear in Shopify?

Manually uploaded contacts (CSV imports or 3rd-party platforms) stay in Omnisend only. Only contacts who subscribe via Omnisend Signup Forms sync to Shopify. To add manually uploaded contacts to Shopify, upload them directly to Shopify or use a Shopify-compatible integration.

What happens if I change a contact's email or phone number?

Changing a contact's email or phone number in Shopify creates a new contact in Omnisend instead of updating the existing one. This causes duplicate profiles and lost purchase history. To avoid this, update the identifier in Omnisend first (Audience → Edit contact), then update Shopify.

Why don't I see any "Email subscribers" after connecting Shopify?

This is expected. When Shopify syncs to Omnisend, only contacts who explicitly consented to marketing (via Signup Forms or checkout opt-in) appear as "subscribed." Others are added as "non-subscribed." To view subscribed contacts, create a segment with "Email subscription status = Subscribed."

Does SMS subscription status sync to Shopify?

No. Only email subscription status, email address, phone number, subscription date, first name, last name, and tags sync from Omnisend to Shopify. SMS subscription status is not passed to Shopify.

How long does contact sync take?

Initial sync (historical data) completes within 1 hour but may take up to 24 hours for large stores. After that, new orders and customer actions sync within 3 minutes. Profile updates (name, address) sync within 1 hour. Tag changes can take up to 24 hours. If contacts don't appear after 24 hours, verify your Omnisend app is installed in Shopify.

Why doesn't my Shopify segment count match Omnisend?

Segment counts can differ due to filters. Shopify may count all customers who meet criteria (regardless of subscription status), while Omnisend segments may filter by subscription status, tags, or date ranges. Check your segment's filter settings. If using Shopify Segments Sync, ensure it's enabled (syncs every hour).

Can Welcome Automation be triggered for customers who subscribe at checkout?

The default Welcome Automation won't trigger because these customers should trigger an Abandoned Cart or Order Confirmation workflow first. You can create a segment-based Automation for customers who subscribe at checkout.

What happens if I delete contacts from Omnisend? Will they sync back from Shopify?

If you delete a contact from Omnisend, they will only resync from Shopify if an update is made in Shopify (order, tag, subscription status, profile change). To avoid contact recreation, perform cleanup in Shopify first, then delete from Omnisend.


Need help? Contact our support team at [email protected] or via in-app chat.

Did this answer your question?