Meta pixel and Conversions API on Shopify
On Shopify, the "Meta & Instagram" sales channel often handles pixel and Conversions API together, with no code to add to the theme. But since Shopify’s checkout changes, the payment page can no longer receive hard-coded scripts: anything not covered by an official channel has to go through Custom Pixels instead.
What I see most often
- A Meta pixel added years ago directly in theme.liquid that no longer fires on the checkout page
- A drop in Purchase events reported to Meta with no apparent change on the shop’s side
- Confusion between the "Meta & Instagram" sales channel and a pixel set up manually for the same account
- Uncertainty about what Shopify automatically migrated to custom pixels since 2025
- Hesitation between letting the native channel handle everything or going back to manual configuration
What I check and configure
-
Prioritising the official Meta & Instagram channel
I favour installing via the Meta & Instagram sales channel, available from the Shopify admin, over a hard-coded pixel: it generally covers both the browser pixel and the Conversions API.
-
Checking what the channel actually sends
In Meta Events Manager, I check that key events (ViewContent, AddToCart, Purchase) appear with two sources, a sign the Conversions API is active alongside the pixel.
-
State of legacy pixels after migration
I check whether an old pixel not set up via an official channel was automatically migrated to a Custom Pixel since early 2025, and confirm it still sends the expected events after that migration.
-
Covering the checkout step
Since the checkout changes, I specifically check that the purchase event fires on the confirmation page, via the official channel or, failing that, a Custom Pixel set up in Settings > Customer events.
-
Checking for duplicates
I check the same tool isn’t being tracked twice: once via the official channel, once via a manually added Custom Pixel for the same source.
A constraint specific to Shopify: the checkout no longer takes hard-coded scripts
Since the switch to the new checkout system ("checkout extensibility"), Shopify has removed the ability to add custom scripts directly to the payment and confirmation pages, the old "Additional scripts" mechanism in checkout.liquid. Shopify communicated a deadline of 28 August 2025 for legacy customisations to stop rendering on thank-you and order status pages.
Since that change, Shopify recommends Custom Pixels, available in Settings > Customer events, which run in a sandboxed environment separate from the theme. Another thing to check: since early 2025, old pixels not configured via official app channels were removed from the Preferences page and automatically migrated to custom pixels, with a risk of losing measurement that Shopify itself flagged while the migration is verified.
The practical consequence: on Shopify, setting up a Meta pixel is no longer a matter of a single code location. Both the theme and the checkout step need covering, via the official channel or custom pixels.
Related pages
-
The same topic on WooCommerce
The official extension enables pixel and Conversions API together, with automatic deduplication.
-
The same topic on PrestaShop
No official equivalent as integrated: the principle stays the same.
-
Duplicate statistics
An official channel pixel coexisting with a custom pixel for the same tool: a common cause on Shopify.
-
Shopify
The hub for Shopify work: apps, migrations, performance.
-
ChatGPT Ads conversion tracking
OpenAI pixel, Conversions API, oppref and consent: the same pixel-plus-server logic, applied to ChatGPT ads.
Describe your need in one minute
A few targeted questions so I can reply with an estimate rather than another questionnaire.