# 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.

- Source canonique : [https://allaux.fr/en/services/tracking/pixel-meta-api-conversions-shopify](https://allaux.fr/en/services/tracking/pixel-meta-api-conversions-shopify)
- Langue : EN
- Dernière mise à jour : 2026-09-30

## Direct answer

> Use the Meta & Instagram sales channel from the Shopify admin: it generally covers the pixel and the Conversions API together, with no code to add in theme.liquid. Then check in Meta Events Manager that Purchase arrives with two sources, browser and server. An old pixel left in theme.liquid no longer fires at checkout: remove it rather than patch it.

## 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

1. **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.
2. **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.
3. **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.
4. **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.
5. **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.

## A pixel that worked yesterday may not work today

> A pixel hard-coded in the theme can look active on the catalogue and cart while no longer reporting any purchase event from the payment page. This is what I check first on any existing Shopify store.

## Related pages

- **The same topic on WooCommerce** — The official extension enables pixel and Conversions API together, with automatic deduplication. ([/services/tracking/pixel-meta-api-conversions-woocommerce](/services/tracking/pixel-meta-api-conversions-woocommerce))
- **The same topic on PrestaShop** — No official equivalent as integrated: the principle stays the same. ([/services/tracking/pixel-meta-api-conversions-prestashop](/services/tracking/pixel-meta-api-conversions-prestashop))
- **Duplicate statistics** — An official channel pixel coexisting with a custom pixel for the same tool: a common cause on Shopify. ([/services/tracking/doublons-statistiques-causes](/services/tracking/doublons-statistiques-causes))
- **Shopify** — The hub for Shopify work: apps, migrations, performance. ([/shopify](/shopify))
- **ChatGPT Ads conversion tracking** — OpenAI pixel, Conversions API, oppref and consent: the same pixel-plus-server logic, applied to ChatGPT ads. ([/services/tracking/suivi-conversions-chatgpt-ads](/services/tracking/suivi-conversions-chatgpt-ads))

## FAQ

### Is the Meta & Instagram channel enough on its own?

In most cases, yes: it generally covers pixel and Conversions API together. I still check in Meta Events Manager that both sources appear for key events.

### What are Custom Pixels?

A Shopify feature, available in Settings > Customer events, that sends tracking data (to Meta, Google Analytics or another tool) from a sandboxed environment separate from the theme code, including on the checkout pages.

### Why doesn’t my pixel in theme.liquid work on the checkout page anymore?

Since Shopify’s checkout changes, the payment page can no longer receive a custom script hard-coded in the theme. You need to go through the official channel or a Custom Pixel to keep measuring that step.

### How do I know if my pixel was automatically migrated by Shopify?

I check in Settings > Customer events whether a custom pixel bears the name of the relevant tool, and confirm in Meta Events Manager that the expected events are still coming through.
