If you sell online with Shopify and manage supporters or members in CiviCRM, you probably have two lists of people that don’t talk to each other. Customers who buy from your shop are often your most engaged supporters, but if their details stay in Shopify you can’t thank them, invite them to events or see the full picture of their relationship with you.
There’s no single “install and go” connector, but there are three practical ways to connect Shopify to CiviCRM. This guide explains each one, who it suits and what to watch out for.
What you’d typically sync
Most organisations want some or all of these in CiviCRM:
- Customers as contacts, matched to existing records rather than duplicated
- Orders as contributions, so purchases show up in giving history and reports
- Marketing consent, so you only email people who’ve agreed to hear from you
- Tags or groups, for example everyone who bought a particular product or event ticket
Decide this first. It shapes which option is right.
Option 1: An automation platform (n8n, Make or Zapier)
This is the most common approach. A workflow starts whenever there’s a new Shopify order or customer, looks up the person in CiviCRM, then creates or updates the contact and records the order as a contribution.
Good for: most small and medium shops, especially when you want to add other steps later, such as notifying a team in Slack or Teams.
Watch out for: usage costs on per-task pricing as order volumes grow, and duplicate contacts if matching isn’t set up carefully. Our comparison of n8n, Zapier and Make explains the differences, including the option to run n8n on your own UK server.
Option 2: A custom integration
Shopify can send a “webhook”, an instant notification, to another system whenever an order is placed. A small custom integration can receive these notifications and write the data into CiviCRM using its API, with exactly the matching rules, financial types and fields you need.
Good for: higher order volumes, complex rules, or when the data must map precisely to your finance codes and Gift Aid processes.
Watch out for: it needs a developer to build and to maintain as Shopify and CiviCRM evolve.
Option 3: Scheduled imports
For low volumes, exporting orders or customers from Shopify as a CSV file and importing them into CiviCRM each week or month can be enough. CiviCRM’s import tools can match existing contacts and record contributions.
Good for: small shops, occasional sales, or as a temporary step while you decide on a fuller integration.
Watch out for: it’s manual, so it depends on someone remembering to do it, and the data is never quite up to date.
Setting up access safely
Whichever option you choose, the connection needs secure access to both systems:
- In Shopify: since January 2026, new custom apps are created through Shopify’s Dev Dashboard rather than the old “custom apps” screen in your store admin. Give the app only the permissions it needs, such as reading orders and customers.
- In CiviCRM: create a dedicated user for the integration with only the permissions it needs, and an API key for that user. Your CiviCRM administrator or provider can set this up.
- Keep keys private: store API keys securely and never share them by email or in documents.
Get the matching right
The most common problem with any Shopify to CiviCRM sync is duplicate contacts. Before you switch anything on:
- Decide how people are matched, usually by email address, with a fallback to name and postcode
- Test with a handful of real orders and check the results in CiviCRM
- Check consent so that buying something doesn’t automatically add someone to your newsletter unless they agreed
Need help connecting your shop?
We connect Shopify, WooCommerce and other systems to CiviCRM for UK charities and organisations, using automation platforms or custom integrations depending on what fits. See our integrations service, or book a free 30-minute automation review to talk it through.
