Get free audit →

Home / Blog / Meta CAPI Gateway vs Elevar: Which Should Send Shopify Purchase Events?

Shopify · Tracking Troubleshooting

Meta CAPI Gateway vs Elevar: Which Should Send Shopify Purchase Events?

Meta CAPI Gateway and Elevar can both send server-side events to Meta. That is exactly why running both without a plan can create duplicate Purchase events, mixed diagnostics, and inflated reporting. The question is not “which one can send CAPI?” It is which system should own Shopify Purchase.

Short answer: For Shopify stores using Elevar server-side tracking, Elevar should usually own Meta Purchase events and Meta CAPI Gateway should not send the same events in parallel. Elevar’s own documentation warns that when Elevar server-side tracking is enabled, Meta Conversions API Gateway can duplicate event data and should be disabled to avoid inflated counts and inaccurate optimization.

Keyword target

Key takeaways

Why this comparison matters

A Shopify store can send Meta events through the Facebook & Instagram app, Meta CAPI Gateway, Elevar, Stape, GTM server-side, or other apps. If two systems send Purchase independently, Meta may see multiple server and browser origins for the same order. Even if each tool “works,” reporting can still be wrong.

Decision table

Use one owner per event. Feed/catalog functions are separate from conversion ownership.

SetupBest useMain risk
Elevar owns Meta PurchaseStores already using Elevar as data layer/server-side sourceNative Meta/Gateway left active and duplicates Purchase
Meta CAPI Gateway owns PurchaseSimpler non-Elevar setup needing a Meta-managed pathLess Shopify-specific control than a dedicated ecommerce data layer
Facebook & Instagram app owns PurchaseBasic Shopify setup with low maintenance needsLimited control and possible overlap with other tools
GTM/Stape owns PurchaseTechnical team wants server-side GTM controlHigher maintenance and manual deduplication risk
Multiple owners activeUsually accidentalInflated purchases and optimization problems

What to inspect before switching

Before disabling anything, document the current source of every Meta Purchase event. Check browser Pixel, server CAPI, event_id, event_name, order ID, value, currency, and event origin. Then make one system the owner and retest.

Related TrackingAudit guides

Diagnostic workflow

  1. Open Meta Events Manager and inspect Purchase event origins.
  2. List every tool that can send Meta Purchase: native app, Gateway, Elevar, GTM, Stape, Trackify, theme code.
  3. For one test order, record browser and server event IDs.
  4. Check whether Gateway and Elevar both send server Purchase.
  5. Check whether the native Shopify Meta app still sends Pixel or CAPI events.
  6. Choose the Purchase source of truth.
  7. If Elevar owns Purchase, disable conflicting Gateway/native purchase paths according to documentation.
  8. Retest one Shopify order and confirm one deduplicated Purchase.
  9. Monitor Events Manager diagnostics after processing.

What not to do

TrackingAudit validation checklist

Need the tracking checked before scaling?

TrackingAudit can compare Shopify orders against the active event stack and show which system is missing, duplicating, or misattributing purchases.

Get your free audit →

About the author

Waleed runs TrackingAudit, a Shopify tracking troubleshooting service focused on Elevar, server-side tracking, Meta CAPI, Google Ads, GA4, TikTok, Klaviyo, and consent-mode issues. TrackingAudit audits real Shopify orders against the event data received by each platform and documents fixes with validation evidence.

Frequently asked questions

Can I use Meta CAPI Gateway and Elevar together?

Not for the same Purchase event unless you have a deliberate deduplication design. Elevar recommends disabling Gateway when Elevar server-side tracking sends Meta events.

Is Meta CAPI Gateway bad?

No. The problem is duplicate ownership. Gateway can fit some setups, but it should not unknowingly overlap with Elevar.

Should the Facebook & Instagram app stay installed?

It depends on feed, shop, and pixel ownership needs. Do not let it send duplicate Purchase events if Elevar owns Purchase.

How do I know which system sends Purchase?

Use Meta Events Manager event origins, test events, event_id, and one Shopify test order.

Sources