Shopify Salesforce Integration: Sync Orders, Customers and Products

In this article
- A Shopify Salesforce integration sends orders, customers and refunds from Shopify into Salesforce so sales and service see what people bought, and can send B2B accounts, prices or products back to Shopify when Salesforce owns them.
- Four ways to build it: a connector app from the Shopify App Store or AppExchange, a no-code tool such as Zapier, an iPaaS (Celigo, Workato, MuleSoft) and a custom integration on Shopify’s GraphQL Admin API and webhooks.
- Small B2C store that wants order history on the contact: a connector app. Several stores, an ERP or B2B pricing in the flow: an iPaaS or custom build. Salesforce Commerce Cloud is a different product, a storefront platform, not a Shopify connector.
- Most problems come from data design: guest checkouts and duplicates, choosing person accounts or contacts, order volume against Salesforce storage, refunds and multi-store currencies.
Jump to
- What a Shopify Salesforce integration actually does
- First, Salesforce Commerce Cloud is not a Shopify integration
- Your integration options compared
- Which option fits you
- Object and field mapping
- Where should a Shopify order live in Salesforce?
- How to set up the integration, step by step
- Common pitfalls and how to fix them
- Magento and Adobe Commerce Salesforce integration
- When a custom integration makes sense
- Go-live checklist
- Where Gilzor fits
What a Shopify Salesforce integration actually does
Shopify knows what people buy. Salesforce knows who they are to your business: the account owner, the open cases, the B2B contract, the marketing journey. Without an integration, a service agent asks the customer for an order number, and sales never sees that a key account just reordered.
Most integrations cover some of these flows:
- Customers: every Shopify customer becomes a person account, or a contact under an account, with a stored Shopify customer ID.
- Orders: orders and line items land in Salesforce (as orders, opportunities or a custom object), with totals, status, discounts and channel.
- Refunds and fulfillment: refunds, cancellations and tracking numbers follow, so service agents answer “where is my order” without leaving Salesforce.
- Products and inventory: products and variants become Salesforce products for reporting and B2B quoting; stock levels show up read-only.
- B2B: companies, price lists and payment terms negotiated in Salesforce flow to Shopify’s B2B features. According to Shopify’s help center, B2B is available on the Basic, Grow, Advanced and Plus plans, with features that depend on the plan.
- Marketing: purchase data and consent feed Marketing Cloud segments and journeys, such as post-purchase or win-back emails.
Not every company needs all of this. A B2C brand usually wants order history on the customer for service and marketing. A B2B wholesaler wants account-level revenue and reorders on the opportunity pipeline. For the wider picture, start with our Salesforce integration guide.
First, Salesforce Commerce Cloud is not a Shopify integration
People searching for a “Salesforce Shopify integration” often land on Commerce Cloud pages. Commerce Cloud (B2C Commerce, B2B Commerce and Order Management) is Salesforce’s own e-commerce platform, and in 2026 Salesforce also markets it under the Agentforce Commerce name. It runs the storefront, so it competes with Shopify rather than connecting to it.
If your store runs on Shopify, you integrate Shopify with Sales Cloud, Service Cloud, Marketing Cloud or Data 360 (formerly Data Cloud). Moving the store itself to Commerce Cloud is a replatforming project with its own budget, and this guide doesn’t cover it.
Your integration options compared
There are four realistic routes. They differ in how much you can change, how they handle volume and who fixes them at 2 a.m. on Black Friday.
1. Connector apps from the Shopify App Store or AppExchange
The Shopify App Store and AppExchange (now AgentExchange) list apps that push Shopify customers and orders into Salesforce, and some sync products, abandoned checkouts or Marketing Cloud data too. Most of these connectors are built by third-party vendors, not by Shopify or Salesforce, so read the developer name, the reviews and the support terms before you install. Pricing is usually monthly and tied to order volume.
2. No-code automation (Zapier, Make)
Zapier connects the two apps with ready triggers such as New Order, New Paid Order and New Customer on the Shopify side, and record actions in Salesforce. It works for a small store that wants a contact and a simple order record per purchase. It gets expensive and fragile at volume, and logic spread across many zaps is hard to audit.
3. iPaaS (Celigo, Workato, MuleSoft)
Integration platforms have connectors for both systems and let you build flows with mapping, error queues and retries. This route fits when Shopify and Salesforce are not alone: an ERP, a warehouse or a second store share the same orders. If you already own MuleSoft, check which Shopify API its connector uses: according to MuleSoft’s release notes, the Shopify Connector (version 1.1.14, September 2026) works on the REST Admin API, which Shopify now treats as legacy. Our Salesforce MuleSoft integration guide covers when MuleSoft is worth its price.
4. Custom integration on Shopify’s GraphQL Admin API
Your developers subscribe to Shopify webhooks, read details through the GraphQL Admin API and write to Salesforce through its REST, Composite or Bulk APIs with upserts on external ID fields. Build it on GraphQL: according to Shopify’s developer docs, the REST Admin API became legacy on October 1, 2024, and since April 1, 2025 all new public apps must use the GraphQL Admin API only.
| Option | What syncs | Direction | Cost level | Effort to launch | Main limits |
|---|---|---|---|---|---|
| Connector app | Customers, orders, often products and refunds | Mostly Shopify to Salesforce | $–$$ monthly, by order volume | Low (days) | Fixed data model; check how it handles guests, refunds and multiple stores |
| Zapier or Make | Single records per event | Either, one zap per direction | $ to $$ as tasks grow | Low | No history backfill, weak error handling, per-task pricing at scale |
| iPaaS (Celigo, Workato, MuleSoft) | Whatever you build; templates help | Any | $$–$$$ subscription plus build | Medium | You own design and error handling; check which Shopify API the connector uses |
| Custom (GraphQL Admin API, webhooks) | Anything, including B2B, metafields and custom objects | Any | $$$ build plus upkeep | High (weeks to months) | Your team maintains it through Shopify’s quarterly API versions and Salesforce releases |
Cost levels are relative. Connector and iPaaS vendors price by orders, flows or connections, so ask for a written quote at your peak monthly order volume, not your average one.
Which option fits you
Five questions, about a minute. The result points to a starting option, not a final architecture.
Which Shopify Salesforce integration fits you?
Object and field mapping
Agree on this table with sales, service and e-commerce before anyone installs a tool. The “system of record” column decides which side wins when both change.
| Shopify | Salesforce | Direction | System of record | Notes |
|---|---|---|---|---|
| Customer (B2C) | Person account, or contact under an account | Shopify → SF | Shopify for profile and addresses | Store the Shopify customer ID as an external ID; match on email only as a fallback |
| Company and company location (B2B) | Account (parent and child or ship-to) | Two-way | Salesforce for terms, owner and pricing | Decide whether accounts start in Salesforce or Shopify |
| Order | Order, or closed-won opportunity, or custom object | Shopify → SF | Shopify | Read-only in Salesforce; include channel, store and currency |
| Line item | Order product or opportunity product | Shopify → SF | Shopify | Map by SKU; keep discounts and tax as separate fields |
| Refund, return | Fields on the order, or a custom refund object | Shopify → SF | Shopify | Partial refunds are common; never overwrite the original total |
| Fulfillment | Status and tracking fields, or custom object | Shopify → SF | Shopify (or your 3PL) | What service agents need most |
| Product, variant | Product and price book entry | Shopify → SF (or SF → Shopify for B2B catalogs) | Shopify, or your ERP or PIM | One Salesforce product per variant SKU |
| Inventory level | Read-only field or live lookup | Shopify → SF | Shopify or ERP | Avoid syncing every stock change; it burns API calls |
| Marketing consent, tags | Consent fields, Marketing Cloud attributes | Shopify → SF | Shopify (where the buyer opts in) | Don’t email people who never opted in |
Two fields on every pair: the Shopify ID on the Salesforce record (as an external ID, so upserts work) and, where you write back, the Salesforce ID on the Shopify record in a metafield. They are how the integration finds a match instead of creating a duplicate.
Where should a Shopify order live in Salesforce?
This decision shapes reporting for years, so make it on purpose:
- Standard Order with order products. The natural fit for B2C purchase history and service. Order products come from a price book, so products must exist in Salesforce first.
- Opportunity, closed won. Fits B2B stores where web orders should count in pipeline and quota reports next to deals reps close. Don’t do this for thousands of consumer orders: it floods forecasts.
- A custom “Web Order” object. Lightest option when you need history but no standard order features. Easy to archive later.
Data 360 (formerly Data Cloud) is a different route again: it is built for loading high-volume commerce data for segmentation and analytics rather than as order records in Sales Cloud. Look at it when the goal is mainly Marketing Cloud audiences.
How to set up the integration, step by step
These steps follow the most common path, a connector app or iPaaS. A custom build follows the same order with code in place of configuration.
- Write down the flows and the ownersOne page: what syncs, in which direction, what triggers it (paid order, fulfilled order), where an order lives in Salesforce and which system owns customers, products and B2B prices. Get sign-off from e-commerce, sales and service leads.
- Decide person accounts or contactsFor B2C, person accounts keep one record per buyer. According to Salesforce’s documentation, person accounts can’t be turned off once enabled, so try them in a sandbox and check what your other apps support first.
- Prepare a sandbox and a test storeA Salesforce full or partial-copy sandbox, and a Shopify development store or a copy of your catalog. Never build the first version against your live store and production org.
- Create a dedicated integration userAn API-only Salesforce user with a permission set limited to the synced objects. Salesforce Help says supported editions include a limited number of free Integration user licenses; check how many you have. Don’t use a person’s login: the sync breaks when that person leaves.
- Install and connect the toolInstall the app in Shopify, authorize Salesforce with the integration user and grant only the Shopify scopes you need. If you need orders older than 60 days, note that Shopify’s API returns only the last 60 days of orders by default; full history needs the read_all_orders scope, which an app has to request.
- Sync products, then customersProducts first, matched by SKU, with price book entries in every currency you sell in. Then customers, matched by Shopify ID or email, with duplicates merged before you switch on automatic creation.
- Turn on orders and test real scenariosPlace test orders and follow each one into Salesforce: a guest checkout, a returning customer, a discount code, a partial refund, a cancellation, an order edit, a multi-currency order and, for B2B, an order on payment terms.
- Set up error alerts and reconciliationRoute failed records to a named person with the reason. Add a scheduled job that re-reads orders updated since the last run, so missed webhooks get caught.
- Backfill history and go live before a quiet weekDecide how much history to load (often 12–24 months) with bulk tools, not one call per order. Never go live right before a big sale; watch the first week of orders daily.
Built by Gilzor
Results we’ve shipped




Talk to the people who build it. Tell us about your project and get a free estimate of scope, timeline and cost.
Common pitfalls and how to fix them
| Pitfall | What happens | Fix |
|---|---|---|
| Guest checkouts | Orders with no linked customer record; one buyer becomes five Salesforce records | Match on the Shopify customer ID first, then normalized email; merge duplicates in Shopify too |
| One “web customers” bucket account | Thousands of contacts and orders hang off one account; pages and sharing slow down | Use person accounts for B2C, or real accounts per company for B2B |
| Order volume against storage | Every order and line item counts toward Salesforce data storage; extra storage costs money | Sync order headers and key lines, archive old orders, keep the full detail in Shopify or a warehouse |
| Refunds overwrite totals | Revenue reports in Salesforce don’t match Shopify or finance | Store refunds separately with dates and amounts; report gross and net |
| Several stores and currencies | Same customer duplicated per store; amounts summed across currencies | Store ID and currency on every order; enable multi-currency in Salesforce if you sell in several |
| Missed or out-of-order webhooks | Orders missing in Salesforce, or an update applied before the create | Deduplicate by webhook ID, compare updated_at before writing, run a reconciliation job |
| Shopify rate limits on backfill | Throttled requests, slow or partial history loads | Use GraphQL bulk operations for large reads and back off on throttle errors |
| Sync loops | A write-back from Salesforce triggers a Shopify webhook that writes to Salesforce again | Skip changes made by the integration; sync only fields that actually changed |
| Personal data that shouldn’t sync | Notes, full addresses or payment details spread across systems and users | Sync only what sales and service use; payment card data never belongs in Salesforce |
Webhooks deserve a closer look. Shopify’s documentation says delivery isn’t guaranteed and ordering within a topic isn’t either. A delivery fails if your endpoint doesn’t respond within five seconds, Shopify retries a failed call up to eight times in four hours, and if failures persist the subscription is removed until you recreate it. So respond fast, put the event on a queue, verify the HMAC signature and process it afterwards.
Rate limits matter at volume. As of October 2026, Shopify’s GraphQL Admin API restores 100 points per second on Standard plans, 200 on Advanced, 1,000 on Shopify Plus and 2,000 for enterprise (Commerce Components), and a single query can’t cost more than 1,000 points. Bulk operations don’t have those limits, which makes them the tool for history loads. Salesforce has its own rolling 24-hour API request allocation, which depends on your edition and licenses.
Data skew is the Salesforce side of the same problem. Salesforce’s large data volumes guidance recommends keeping each parent record under about 10,000 child records, because heavily skewed parents cause record-locking errors during bulk loads and slow sharing recalculations. A bucket account full of web orders becomes exactly that.
Magento and Adobe Commerce Salesforce integration
A Magento or Adobe Commerce store connects to Salesforce the same way, with the same mapping table and the same pitfalls. The tooling differs:
- Marketplace extensions. The Adobe Commerce Marketplace lists several third-party Salesforce connector extensions for Magento 2.4 that sync customers, orders and products, some in both directions. Check the supported versions against yours: Adobe’s latest stable release, as of October 2026, is 2.4.9.
- iPaaS. Celigo, Workato and MuleSoft also work here, which suits stores that already run an ERP integration through one of them.
- Custom on Adobe Commerce APIs. According to Adobe’s developer docs, Adobe Commerce and Magento Open Source share the same web API framework, which supports REST and GraphQL. For real-time order events, Adobe I/O Events for Adobe Commerce sends events such as a placed order to external systems; it requires Adobe Commerce 2.4.4 or higher, and Magento Open Source is not supported.
Magento Open Source stores without I/O Events usually poll for changed orders on a schedule or add a small custom module that publishes events. If you are weighing a move from Magento to Shopify anyway, decide that first: building the Salesforce integration twice is the most expensive option.
When a custom integration makes sense
Connector apps handle the standard B2C flow well. A custom build, or custom logic on top of an iPaaS, is worth it when:
- You run several Shopify stores or a mix of Shopify and Magento, and Salesforce needs one customer view across them.
- B2B pricing, credit terms or account hierarchies live in Salesforce and must drive what buyers see in Shopify.
- An ERP, 3PL or subscription app shares the order and the flows must stay consistent.
- Order volume makes per-order app pricing cost more than owning the code.
A typical custom build has a small integration service that receives webhooks, a queue, a GraphQL client with cost-aware throttling, idempotent upserts into Salesforce keyed on external IDs, a nightly reconciliation job, a retry and error dashboard, and tests for each flow. If payments run outside Shopify, our Stripe Salesforce integration guide covers that side, and the NetSuite Salesforce guide covers the ERP half of the order.
Our API integration cost guide breaks down where that money goes. If the store itself needs work first, see what Shopify website development costs.
Go-live checklist
Tick what is already done. It shows how ready your integration is for real orders.
Shopify Salesforce go-live readiness
FAQ
Does Shopify integrate with Salesforce?
How do I sync Shopify orders to Salesforce?
Is Salesforce Commerce Cloud the same as a Shopify integration?
Should Shopify customers be person accounts or contacts in Salesforce?
Can I integrate Magento or Adobe Commerce with Salesforce?
How much does a Shopify Salesforce integration cost?
Where Gilzor fits
Gilzor’s engineers, based in Poland and Cyprus, can map your Shopify or Adobe Commerce data into Salesforce, build the integration on a connector, an iPaaS or the GraphQL Admin API, and support it after launch. See Gilzor’s Salesforce integration services, or send us your store setup and what Salesforce should show.
No sales pitch
Get a straight answer for your project
Tell us what you’re building. We’ll reply with options, a rough cost and timeline. If we’re not the right fit, we’ll say so.

Head of Mobile Development at Gilzor. Leads iOS and Android delivery and the mobile app audits, from release process to architecture.
LinkedIn →Gilzor · Web Development partner
Need a team for your web product?
Services
Web DevelopmentCustom websites and web apps — front-end, back-end, launch and support.→By company type
Selected projects






The team behind them





