Shopify has paid orders, but Meta reports a different purchase count. A customer buys in one currency, the catalog retains an old price and two integrations send the event. Increasing spend will not explain which part of the report corresponds to a sale.
TL;DR: Check Facebook & Instagram by Meta, the order reference, value, currency and deduplication before replacing an integration. Additional software should solve a defined requirement. Neither monthly ad spend nor one EMQ score makes migration mandatory.
Our starting point is the existing connection. Replacing it without a diagnosis can introduce subscriptions, support work and new duplicates. The target is an explainable event stream, not a promised score of 8 or a fixed CPA reduction.
Check the integration in five steps
1. Facebook & Instagram channel and the correct assets
In Shopify, inspect the installed sales channel, connected business, ad account, data source and catalog. Record asset identifiers and ownership, not just names. Confirm who can maintain the connection, then document its present configuration before reconnecting anything.
Shopify offers Standard, Enhanced and Maximum data-sharing levels. Standard uses the Pixel; Enhanced and Maximum include server-to-server purchase events through CAPI. Privacy settings can vary with when the channel was installed. Select a level by the required and permitted processing, rather than automatically choosing the widest. Shopify lets you connect a Pixel; it does not establish that every installation creates a new one or enables CAPI regardless of settings. Shopify data sharing.
2. Automatic and special Pixel events
Inventory PageView, ViewContent, Search, AddToCart, InitiateCheckout, AddPaymentInfo and Purchase. For each, record the trigger, source, parameters and recipients. The channel’s purchase trigger at checkout must be reconciled with your definition of paid orders; an event name is not payment evidence.
Four situations justify examining the architecture: custom actions such as video interaction or scrolling; a headless Hydrogen/Oxygen storefront; several data sources or accounts; and specific matching requirements. None is an automatic instruction to insert another Pixel into theme code.
The current pixels manager is under Customer Events. App pixels and custom pixels run in a sandbox. DOM scraping, scrolling and automatic capture of contact fields have restrictions; explicit custom events may be needed. GTM loaded through a custom pixel remains subject to that sandbox. In markets configured to require consent, permissions in the pixel configuration determine whether it runs. Shopify pixels overview.
Validate the replacement and agree a migration sequence and rollback before changing the working source; overlapping live integrations can themselves introduce duplicates. Establish which component owns each event. The CAPI guide explains the event contract.
3. Three server-side options
CAPI can supplement browser delivery, but cannot automatically recover every event or reduce CPA by a predetermined amount. Compare the requirement, compatibility, support and full cost.
| Option | Task, cost and risk |
|---|---|
| Existing Shopify channel | A reasonable reference if required events reconcile; inspect settings and maintain the connection |
| Elevar or a Stape product | Consider a defined delivery need; include subscription, limits, implementation, access and duplicate prevention |
| Custom architecture, such as server-side GTM | More control with a support team; include development, hosting, monitoring and updates |
Neither a vendor name nor ad spend establishes the quality of a store’s event stream. Custom complexity is not itself better data.
The Elevar pricing page currently redirects to Audiense Online (Elevar). Compare the actual plan and order/destination limits. Stape’s Gateway pricing describes a different product from full sGTM hosting or a Shopify implementation. A Pixel-fed gateway is not an independent backend order source. Provider subscriptions cannot be compared as if they include identical work or support.
First consider repairing the present integration. If a replacement is warranted, validate it in a controlled environment and account for migration, ongoing maintenance and reversal.
4. Deduplicate one purchase
Browser and server deliveries of one operation need matching event_name and event_id. Different operations require different IDs, and retries must retain the same identity. The deduplication guide covers reloads and overlapping integrations. Meta’s SDK event model describes the name/ID pair.
Trace the action, known order, identity, delivery sources and processing result. Two received browser/server records in diagnostics do not necessarily mean two attributed purchases. Events Manager and Ads Manager have different purposes. Likewise, 150 events versus 80 orders alone does not establish the cause: periods, test records, payment definitions and attribution may differ.
Use isolated fixtures and agreed test settings before any live test. An ID such as purchase_demo_123 explains the principle; it is not permission to send a fake sale to a production account. Do not declare Shopify’s native deduplication broken without inspecting that store.
5. Catalog, variants and dynamic ads
Check four groups:
- Product and variant: event content IDs correspond to the catalog; the link selects the intended variant and works.
- Availability: actual stock and size availability are reflected; a temporary stockout does not inherently require deleting the product.
- Image: the material shows the real product and meets current requirements for the selected format; one universal 500-pixel rule is insufficient.
- Price and currency: match the offer for that market. EUR and CHF are distinct; serving Switzerland does not automatically require euro pricing.
Catalog ads and Advantage+ Sales depend on this information. Follow the link through checkout to inspect shipping, available variants and final price. A working URL alone does not prove a purchasable offer.
Five measurement mistakes to investigate
1. Independent integrations sending the same fact
List the Shopify channel, app/custom pixels, theme tags and server sources. Assign responsibility for each action, then inspect which deliveries are paired and which are additional duplicates. Adding middleware is not a diagnosis; removing components at random is not a fix.
2. Value and currency describe different order definitions
A shop’s base currency, customer currency and ad account currency may differ legitimately. Check that value and currency describe the same amount. Document treatment of discounts, tax, shipping and refunds; compare reports using the same revenue definition. A currency warning is a reason to trace the transaction, not proof that Meta cannot convert currencies.
3. The catalog disagrees with the storefront
Inspect synchronization errors, variant ID, image, price, stock and delivery. If an ad leads to a different price or unavailable size, resolve that before judging the video. Confirm the updated offer is actually displayed, rather than relying on a saved setting.
4. Purchase tracking depended on a legacy script tag
Shopify stopped Order status script tags on 28 August 2025 for Plus and 26 August 2026 for other stores. Those dates concern that specific legacy surface; they do not mean every custom event stopped in 2024. Shopify identifies web pixels as the replacement for measurement. Order status timeline.
A separate storefront change is now relevant: from 1 October 2026, the script-tag API no longer allows creation or updates; existing storefront script tags stop running on 1 March 2027. Theme app extensions and web pixels have distinct roles. Do not treat this as a ban on all theme JavaScript. Shopify deprecation overview.
Inspect the actual Thank you / Order status version, installed apps, sandbox limits and event subscriptions. The pixel migration guide describes migration work; it does not prove your store has completed it.
5. A banner does not control actual data sharing
Check before choice, after refusal, after consent, after partial choice and after withdrawal. Google Consent Mode communicates choices to Google products; it is not a universal permission switch for Meta Pixel or CAPI. The server handler and Meta channel need their own verified rules. Google server consent.
DSB Austria requires prior consent for technically unnecessary cookies. Server transport does not override the choice. Inspect Shopify customer privacy and the permissions of the actual pixels, with legal assessment where needed. See the cookie-banner audit.
Two teaching scenarios
A shop with two integrations: after installing an additional app, event counts diverge from orders. Inspect identities, sources, retries and page reloads, then repair the identified duplicate. Do not promise a CPA change before reconciling the count.
A multi-market shop with a custom storefront: after a checkout change, currency and purchase timing become inconsistent. Trace each market, base/customer currencies, app/custom pixels and server delivery. These are teaching situations without an assigned client result.
Three checks this week
Event quality: source, matching diagnostics, coverage and freshness. EMQ is one signal, not a profit calculation or a top-10% badge.
One known order: payment reference, value, currency, browser/server identities and processing. Plan an isolated test with authorization rather than creating real costs or fictitious production sales.
Catalog: actual links, IDs, stock and displayed prices. Record what was observed and what remains unresolved. The first-party data guide adds purpose and access considerations.
Frequently Asked Questions
Is Shopify’s native Meta integration enough?
It can be if it supplies the required events and those reconcile with orders. Inspect settings and diagnostics first. Ad spend and EMQ alone do not make migration compulsory.
How should I choose Elevar, Stape or custom infrastructure?
Define the problem, events, limits and support resources. Compare the actual product, total cost, compatibility and rollback. A vendor name or promised score is not acceptance evidence.
How do I detect duplicate purchases?
Trace one known order through the sources, names, identifiers, retries and page reloads. Inspect the platform’s deduplication result. Aggregate event and order counts alone do not establish a duplicate.
What did Checkout Extensibility change?
Supported mechanisms for checkout and post-order pages changed. Order status script tags have specific retirement dates; use compatible pixels and integrations. Check the actual store rather than assuming all scripts or custom events behave alike.
How long does migration take?
Estimate after inventorying sources, markets, checkout, consent and access. Include replacement validation, order reconciliation and rollback. Connection time and evaluation of advertising performance are separate stages.
Discuss a Shopify tracking check
Prepare the integration list, markets, currencies and observed discrepancy for an initial discussion. Tracking services cover diagnostics and implementation agreed separately; a conversation does not include a free full account audit.