Connect Shopify to Facebook: 2027 Setup Guide
Install the Facebook & Instagram by Meta channel, link Business Manager, sync your catalog, and wire the Pixel plus Conversions API on Shopify, step by step.
Updated May 2027 · Likit Sae Lee, CTO

To connect Shopify to Facebook, install the free Facebook & Instagram by Meta sales channel from your Shopify admin, sign in, and link four things: your Meta business portfolio (Business Manager), your Facebook Page and ad account, your product catalog, and the Meta Pixel plus Conversions API. Choose the Maximum data-sharing level so Shopify sends purchase events server-side as well as through the browser, which matters because Meta reported advertisers running the Pixel and Conversions API together saw an average 17.8% lower cost per result. Products then flow into Commerce Manager and events land in Events Manager, where a correctly deduplicated purchase shows as one event from two sources. Confirm both before you spend a cent.
You have products in Shopify and an audience on Facebook and Instagram, and the job is to wire the two together so your catalog shows up in ads and every sale is measured. Done right, one connection pushes your products into Meta's Commerce Manager, links your ad account, and streams purchase events back through the Pixel and the Conversions API so Meta can optimize toward real buyers. Done wrong, you end up with duplicate catalogs, a data-sharing link that quietly drops, and purchase numbers you cannot trust. This guide walks the whole setup in order, then the Shopify-specific traps that break it.
What connecting Shopify to Facebook actually sets up
"Connect Shopify to Facebook" sounds like one switch, but it wires four separate links that people tend to conflate, and knowing which is which saves hours of confused troubleshooting later. The first link is the sales channel itself: the Facebook & Instagram by Meta app that Shopify installs and that appears under Sales channels in your admin, not under Apps. The second is the identity layer: a Meta business portfolio (the thing that used to be called Business Manager) plus the Facebook Page, Instagram account, and ad account it owns. The third is the product layer: your Shopify catalog synced into Meta's Commerce Manager so your items can appear in shops and, more importantly, in catalog ads. The fourth is the measurement layer: the Meta Pixel in the browser and the Conversions API on the server, feeding purchase events back so Meta can find more buyers and you can tell which ad actually paid.
Get all four right and a single connection turns your store into an advertisable catalog with clean tracking. The reach on the other side is the reason it is worth doing carefully. DataReportal's early-2025 figures put Facebook's advertising reach at 2.28 billion people, roughly 39.4% of every adult aged 18 and over on the planet, and that audience sits alongside Instagram in the same ads system. Shopify, for its part, processed 378 billion US dollars in merchant sales across full-year 2025, so the plumbing between the two platforms is well worn. That does not make it automatic. The most common outcome of a rushed setup is a store that looks connected in the Shopify admin but shows duplicate catalogs in Commerce Manager, a Pixel that double-counts, and a data-sharing link that dropped a week ago without telling anyone.
This guide takes the four links in the order you should actually build them: accounts first, then the channel, then Business Manager and the ad account, then the catalog, then the Pixel and Conversions API. It ends where every setup should end but most skip, confirming that products are live in Commerce Manager and events are landing in Events Manager before any budget goes out.
Before you start: accounts and permissions
Many failed connections trace back to a permissions problem that existed before you ever opened the sales channel, so it pays to sort the account structure first. You need four things in place on the Meta side.
A Facebook account you can log in with. If you do not have one, the Shopify setup will prompt you to create one, but it is cleaner to have it ready.
A Meta business portfolio, created or claimed at business.facebook.com. This is the container that holds your Page, your ad account, your catalog, and your Pixel as assets, and it is what you will connect Shopify to. The single rule that trips up more merchants than any other: the business portfolio you connect has to be the owner of the Facebook Page. If your Page was created under a personal profile years ago and never brought into a portfolio, claim it into the portfolio before you start, or the catalog and ad account will not be able to use it together.
An ad account inside that portfolio. If you have run ads before you already have one; if not, create it in the portfolio and set its currency and time zone deliberately, because on Meta those are fixed when the account is created and cannot be changed afterward. Every bill and report reads in that currency for the life of the account.
Admin-level access to all of the above under one login. Shopify's connection flow asks you to grant the channel permission to manage the Page, the ad account, and the catalog. If you are an editor rather than an admin on any one of them, the flow will either skip that asset or fail quietly. Confirm you are an admin on the portfolio, the Page, and the ad account before you begin.
One more decision belongs here, before anything syncs: you want exactly one product catalog. Meta explicitly recommends running a single catalog, because a new catalog forces its matching and optimization to start over from scratch. If you already advertise and have a working catalog, plan to point Shopify at that existing one rather than letting the setup mint a fresh duplicate. More on why that matters below.
Step 1: Install the Facebook & Instagram by Meta channel
With the accounts in order, the install itself is short. From your Shopify admin, open Settings, then Apps and sales channels, then visit the Shopify App Store and search for Facebook & Instagram by Meta. Add the channel. It installs as a sales channel, which is why afterward you find it under Sales channels in the left-hand admin menu rather than buried in your app list. It is free to install and use on every Shopify plan, subject to your store meeting Meta's commerce eligibility requirements, so there is no add-on fee for the connection, the catalog sync, or the tracking. You only ever pay Meta for the ads you choose to run.
Click Start setup, then Connect account, and sign in to the Facebook account tied to your business portfolio. The channel then walks you through connecting the required assets one at a time: the business portfolio, the Facebook Page, the Instagram professional account, the ad account, the Pixel, and the product catalog. Grant each permission as it is requested. Accept the terms, finish setup, and the channel status flips to connected.
A note on what changed in 2025, because it reshapes what this connection is for. Meta phased out native in-app checkout on Facebook and Instagram, and as of 26 August 2025 a shopper who taps one of your products is redirected to your Shopify store to complete the purchase rather than buying inside the app. Meta stopped acting as a marketplace tax facilitator on that date too, which means you are responsible for collecting and remitting sales tax on those orders. The practical read: treat Facebook and Instagram as a discovery surface that funnels buyers to your own checkout, which is exactly why the catalog and the tracking on your store, not an in-app storefront, are the parts that earn their keep.
Step 2: Link Business Manager and the ad account
During the connect-assets step, Shopify asks which business portfolio, Page, Instagram account, and ad account to use. This is the moment to slow down, because a wrong choice here is the root of most "my ads cannot see my catalog" tickets.
Pick the business portfolio that owns your Page and your ad account. If a dropdown shows several portfolios, that is a sign your assets are scattered across more than one, which is worth consolidating: a catalog living in portfolio A cannot be used by an ad account sitting in portfolio B without sharing it across, and that sharing is a frequent silent failure point. The cleanest arrangement is one portfolio owning the Page, the Instagram account, the ad account, the Pixel, and the catalog together.
Link the ad account you actually intend to spend from. Shopify uses this ad account to attach the catalog and the Pixel so that when you build catalog or dynamic ads later, the products and the events are already available to it. If you skip the ad account during setup, the catalog can still populate Commerce Manager, but the ad account will not automatically have it, and you will be hunting through asset-sharing settings to fix it.
Confirm the Instagram account is a professional (business or creator) account connected to the Page. A personal Instagram account cannot carry shopping or run ads through this channel. If the Instagram link is the only asset failing, that is almost always the reason.
Once the portfolio, Page, Instagram, and ad account all read as connected, the identity layer is done. The catalog and the tracking hang off this foundation, so it is worth re-reading the connected-assets summary Shopify shows you and making sure every line points at the asset you expected.
Step 3: Sync your product catalog to Commerce Manager
Now the products. In the channel's settings you choose what to sync: your entire product catalog, or a specific subset by product and collection. For most stores, syncing everything and letting Meta's rules filter what is eligible is simpler than hand-picking, but a store with a large or seasonal range may prefer to sync only the collections it advertises. Whichever you choose, Shopify pushes the core fields Meta needs to render a product: title, images, price, description, variants, and inventory. As prices, stock levels, and product details change in Shopify, the channel keeps the catalog updated so your ads do not advertise a sold-out item at last month's price.
Those synced products land in Meta's Commerce Manager as a product catalog, and this is the single catalog that powers the Facebook Shop, Instagram shopping, and your Facebook and Instagram ads all at once. That is the payoff of getting the "one catalog" rule right earlier: set it up once and every surface reads from the same source of truth.
The first sync is not instant. A small catalog can populate in minutes; a large one can take longer, and individual items go through Meta's review before they are eligible to show. So do not panic if Commerce Manager looks empty for the first stretch after you connect. Give it time, then check the item status inside Commerce Manager rather than assuming. Each product shows as active, pending, or rejected, and a rejected item names its reason, which is usually a missing required field (a common one is a product with no image or an unclear price) or a policy issue with the product itself. Fix the data in Shopify and the next sync carries the correction through.
Here is the trap that is specific to Shopify stores and deserves its own flag. If you have ever installed a second feed or catalog app, reconnected the channel to a different business portfolio, or reinstalled the sales channel after removing it, you can end up with more than one catalog in Commerce Manager, each holding a slice of your products. This is the duplicate-catalog problem, and it is corrosive precisely because it looks harmless: everything seems connected, but your ads point at one catalog while Shopify keeps updating another. Meta recommends one catalog for a reason, that a fresh catalog throws away the product-to-event matching and optimization the old one had accumulated. The fix is to decide which catalog your ad account actually uses, point the Shopify channel at that one, and delete or leave dormant the empty duplicates instead of spreading products across several.
Step 4: Wire the Pixel and the Conversions API
Tracking is the layer people rush and later regret, because without it the ads system optimizes half-blind. Two mechanisms carry the load. The Meta Pixel is a snippet that runs in the shopper's browser and reports events like ViewContent, AddToCart, InitiateCheckout, and Purchase. The Conversions API sends those same events server-to-server, from Shopify's backend straight to Meta, so they survive the things that quietly break the browser Pixel: ad blockers, cookie restrictions, and privacy features like Intelligent Tracking Prevention. That durability is not a nice-to-have anymore. A University of Maryland study estimated that Apple's App Tracking Transparency cut ad click-throughs by roughly 37%, which is a large chunk of signal to lose from the browser alone. Meta has reported that advertisers running the Pixel and the Conversions API together saw an average 17.8% lower cost per result than those without the Conversions API, which is the concrete reason to turn both on rather than one.
On Shopify you do not hand-code any of this. You pick a data-sharing level in the Facebook & Instagram by Meta channel settings, and Shopify wires the corresponding tracking for you. There are three levels, and the difference between them is exactly which of the two mechanisms fires.
| Data-sharing level | What Shopify uses | Survives ad blockers? | Best for |
|---|---|---|---|
| Standard | Meta Pixel only (browser) | No, a browser ad blocker can stop it | Minimal data sharing, no server events |
| Enhanced | Meta Pixel plus Conversions API | Yes, purchase events also go server-to-server | Stores wanting durable purchase tracking |
| Maximum | Meta Pixel plus Conversions API, kept on Meta's latest ad technology | Yes | Stores actively running catalog and ads |
For a store that runs ads, choose Maximum. It uses both the Pixel and the Conversions API, and it keeps you on Meta's most current advertising technology, which is where new signal-matching improvements land first. Enhanced and Maximum both send the customer information Meta uses to match a conversion to a person (name, location, email, and phone, alongside on-site browsing behaviour), so both give you the server-side durability; Maximum simply keeps you at the front of the feature set. Standard, by contrast, leaves you on the browser Pixel alone, which is the setup most exposed to the signal loss described above.
Why the same event does not get counted twice
The obvious worry when both the Pixel and the Conversions API report the same purchase is double counting, and Meta's answer is event deduplication. Shopify sends each event through both channels tagged with a matching event name (Purchase, using Meta's exact PascalCase) and a matching event ID. When Meta receives a browser event and a server event that share the same event ID and event name, sent to the same Pixel within a 48-hour window, it treats them as one event drawn from two sources rather than two conversions. Note what Meta uses to match: the event ID and the event name, not the email, phone, or browser identifier. If those two do not line up, deduplication fails.
A worked example makes the stakes clear. Say a shopper places a 60 US dollar order. The browser Pixel fires a Purchase with event ID abc123 and a value of 60. A moment later Shopify's Conversions API sends the same Purchase from its servers, also tagged abc123. Because the event ID and event name match and both land inside the 48-hour window, Meta merges them into one 60-dollar purchase from two sources. Break that shared event ID, or let a theme fire a second uncoordinated Pixel, and Meta logs two 60-dollar purchases: your reported revenue doubles, your return on ad spend looks twice as good as it is, and the algorithm optimizes toward a fiction. This is why you verify deduplication in Events Manager before you trust a single number, which is the final step below.
Shopify-specific breakpoints that quietly break the connection
Most guides stop at "you are connected." The connection breaking later, silently, is the more expensive problem, and a handful of failure modes are specific to how Shopify and Meta talk to each other. Knowing them turns a mysterious drop in performance into a five-minute fix.
The data-sharing connection drops. The single most common Shopify-Meta failure is the channel losing its authorization: a token expires, a password changes, an admin leaves and their access is revoked, or Meta invalidates the session. Nothing in the Shopify admin shouts about it, but the catalog stops updating and events stop flowing. The tell is stale data: prices that no longer match, sold-out items still showing, or a sudden flatline in Events Manager. The fix is to open the channel, find the connection or data-sharing status, and reconnect or re-authorize. Build a habit of glancing at the channel status on a schedule rather than discovering the break through a bad week of reporting.
Duplicate catalogs. Covered above, but it belongs on the failure list because it so often hides behind a "connected" status. Two catalogs, ads pointed at one, Shopify updating the other. Consolidate to a single catalog and keep it that way.
The wrong business portfolio. If the channel is connected to a portfolio that does not own the Page, or the catalog lives in a different portfolio than the ad account, everything can look linked while the ad account cannot actually use the catalog. Re-check that one portfolio owns the Page, ad account, Pixel, and catalog together.
Double Pixel firing. Some Shopify themes or a leftover manual Pixel snippet can make the browser fire the Pixel twice, once from the native channel integration and once from custom code. That inflates your event counts before the server event is even considered, and it can defeat deduplication because the extra browser event carries no coordinated event ID. If Events Manager shows more browser events than you expect, hunt for a hard-coded Pixel in your theme or a second tracking app and remove it, leaving only the channel's integration.
Mismatched event setup. Deduplication only works when the Pixel and the Conversions API send identical event names and event IDs. Meta's standard events are case-sensitive PascalCase (Purchase, not purchase or PURCHASE), and a native Shopify setup handles this correctly, but a custom or third-party layer bolted on top can send an event with no ID or a different name, which Meta then counts separately. If you have added anything beyond the native channel, this is the first place to look when numbers seem inflated.
Confirm products and events before you spend
The last step is the one that separates a setup that works from one that merely looks connected, and it takes ten minutes. Do it before any budget goes live.
Confirm products in Commerce Manager. Open Commerce Manager, find the catalog Shopify is syncing to, and check that your items are present and their status reads active. Active items are eligible to appear in ads; pending items are still in review; rejected items list a reason you can act on. If the catalog is empty or thin well after the first sync should have finished, that points back to a dropped connection or a wrong-portfolio problem, not a waiting game.
Confirm events in Events Manager. Open Events Manager for your Pixel and look at recent activity. You want to see your standard events arriving (ViewContent, AddToCart, InitiateCheckout, Purchase), and crucially you want a purchase to show as one event from two sources, which is Meta's own way of telling you deduplication is working: the browser Pixel and the server Conversions API are both reporting and being merged. If you instead see two separate Purchase events, deduplication is failing and you have a double-counting problem to fix before it corrupts your reporting.
Test with a real action. The cleanest proof is to run through your own store: view a product, add to cart, begin checkout, and complete a test order. Meta's Test Events tool in Events Manager replays your activity in real time so you can watch each event land as you trigger it, and the free Meta Pixel Helper browser extension shows which events fire on each page and flags a missing or malformed one. Watching your own Purchase arrive, once, from two sources, is the confirmation that the whole chain is intact.
Only once products read active in Commerce Manager and a deduplicated purchase lands in Events Manager should you turn on spend. Pointing a budget at a half-connected setup is how stores end up paying to advertise sold-out products or optimizing toward doubled conversions. Media is not cheap enough to waste on a broken feed: Gupta Media's tracker put the blended Meta cost per thousand impressions near 8.19 US dollars across 2025, and a mistracked catalog burns that just as fast as a good one.
From here the connection largely runs itself, as long as you check the channel status periodically and keep to one catalog. The ongoing work moves to the ads themselves: the angle, the creative, and how often you refresh it, which is where the results are actually won once the plumbing is sound, and the full workflow for how to run a Facebook ad starts there. A platform like AdPlay.ai can research the angles already working in your category, generate the on-brand creative, and launch it to Meta against the catalog you just connected, but the discipline holds with any workflow. Wire the four links carefully, confirm products and events before you spend, and the connection becomes the reliable foundation it is supposed to be rather than a source of mystery numbers.
By the numbers
Frequently asked questions
Is the Facebook & Instagram by Meta channel free on Shopify?
Yes. The Facebook & Instagram by Meta sales channel is free to install and use on all Shopify plans, subject to store eligibility. It appears under Sales channels in your admin rather than in Apps once installed. You still pay Meta for any ads you run, but the connection itself, the catalog sync, and the Pixel plus Conversions API wiring cost nothing extra.
Do I need a Facebook Business Manager to connect Shopify?
Yes. You connect a Meta business portfolio (what used to be called Business Manager), and that portfolio has to be the owner of the Facebook Page you link. If you connect a personal profile or a portfolio that does not own the Page, the setup stalls or the ad account cannot use the catalog. Create or claim the business portfolio first, confirm it owns the Page and the ad account, then run the Shopify connection.
Which data-sharing level should I pick: Standard, Enhanced, or Maximum?
Choose Maximum for a store that runs ads. Standard uses only the browser-based Meta Pixel, which ad blockers and privacy settings can silently block. Enhanced adds the Conversions API so purchase events also travel server-to-server and survive ad blockers. Maximum uses the Pixel and the Conversions API and keeps you on Meta's latest advertising technology, which is why it is the level most catalog advertisers want.
Why do I have duplicate catalogs in Commerce Manager?
Usually because the channel was reinstalled, connected to a different business portfolio, or paired with a second feed app that created its own catalog. Meta recommends running one catalog, because every new catalog restarts the matching and optimization it had built. Pick the catalog your ads already use, point Shopify at that one, and delete or ignore the empty duplicates rather than splitting products across several.
How does Shopify dedupe Meta Pixel and Conversions API events?
Shopify sends the same event through both the browser Pixel and the server-side Conversions API, tagged with a matching event name and event ID. When Meta receives both with the same event ID and event name within a 48-hour window, it counts them as one event drawn from two sources instead of two separate conversions. In Events Manager a correctly deduplicated purchase reads as one event from two sources.
Why are my Shopify products not showing on Facebook?
The common causes are a catalog still finishing its first sync, products rejected for missing fields or a policy issue, or the data-sharing connection having dropped so nothing updates. Open Commerce Manager and check the catalog's item status: active items are eligible, and any rejected or paused items list a reason. Fix the product data or reconnect the channel, and the next sync clears most of them.
Can one Shopify store power Facebook, Instagram, and ads at once?
Yes. Facebook & Instagram by Meta uses a single product catalog for the Facebook Shop, Instagram shopping, and your Facebook and Instagram ads, so you set the catalog up once and all three read from it. That is also why keeping to one catalog matters: split your products across several and each surface can end up showing a different, incomplete set.
What happened to Facebook and Instagram checkout in 2025?
Meta phased out native in-app checkout on Facebook and Instagram during 2025. As of 26 August 2025, shoppers who tap a product are redirected to your online store to complete the purchase rather than paying inside the app, and Meta is no longer acting as a marketplace tax facilitator, so you collect and remit sales tax on those orders. In practice Meta now works as a discovery surface that sends buyers to your Shopify checkout.
Sources
- 1.Shopify Help Center, Setting up Facebook and Instagram by Meta (2026)
- 2.Shopify Help Center, Facebook data sharing (Standard, Enhanced, Maximum) (2026)
- 3.Shopify Changelog, Tax liability changes for Facebook and Instagram sales channel orders (2025)
- 4.Meta for Developers, Deduplicate Pixel and Conversions API events (2026)
- 5.Social Media Today, Meta simplifies ad performance elements (Conversions API results) (2026)
- 6.DataReportal, Essential Facebook Statistics and Trends (2025)
- 7.Gupta Media, The True Cost of Social Media Ads (CPM Tracker) (2025)
- 8.Shopify, Fourth Quarter and Full Year 2025 Financial Results (2025)
- 9.University of Maryland Smith School, Small Businesses Take Big Hit from Apple's Privacy Regulation (2024)
Keep exploring
Turn ad research into winning ads
Research the ads that work, generate the creative on-brand, and launch to Meta, all in one tool.
7-day free trial · No credit card required
