Key takeaways
- Each platform (Shopify, Google Ads, GA4, Meta) requires its own conversion tracking setup.
- Shopify’s Customer Events API is the recommended way to send conversion data to ad platforms.
- Shopify’s built-in Analytics reports give you order data without any extra setup.
- Avoid installing the same pixel in multiple places - duplicate events inflate your reported conversions.
Conversion tracking is what turns your ad spend from a guess into a measurement. Without it, you can’t know which campaigns, keywords, or audiences drive actual purchases. The problem with Shopify is that there are multiple overlapping tracking systems to set up correctly.
This guide walks through the full picture.
Shopify’s built-in conversion tracking
Shopify tracks every order natively. No setup required.
Where to find it: Analytics → Reports → Sales over time, Orders over time, and Conversion rate.
Shopify’s analytics show you:
- Total sales and order count
- Conversion rate (sessions to orders)
- Average order value
- Top products and collections by revenue
- Traffic sources at a high level
Limitations: Shopify’s analytics don’t integrate with your ad platforms. You can see that 100 orders happened, but not which ones came from your Google Ads campaign vs. your email list vs. organic search.
For that level of attribution, you need platform-specific tracking.
Google Analytics 4 (GA4) conversion tracking
GA4 tracks the full shopping journey and can attribute purchases to traffic sources.
Setup via Shopify’s native integration:
- Go to Online Store → Preferences
- Find the Google Analytics section
- Enter your GA4 Measurement ID (G-XXXXXXXXXX)
- Enable Enhanced Ecommerce
This sends basic purchase data to GA4. For richer ecommerce tracking (product view, add to cart, begin checkout events), use the Google & YouTube Shopify app or set up via Customer Events.
Viewing conversions in GA4: Reports → Monetization → Ecommerce purchases. Shows revenue, transaction count, and item-level data.
Google Ads conversion tracking
For Google Ads to optimize your campaigns toward purchases, it needs to know when a purchase happens.
Recommended method — Customer Events:
- Settings → Customer events → Add custom pixel
- Write a pixel that listens to
checkout_completedand fires the Google Ads conversion via gtag:
analytics.subscribe('checkout_completed', (event) => {
const order = event.data.checkout;
gtag('event', 'conversion', {
'send_to': 'AW-XXXXXXXXX/XXXXXXXXXXXX',
'value': parseFloat(order.totalPrice.amount),
'currency': order.currencyCode,
'transaction_id': order.order.id
});
});
Alternative method: Use the Google & YouTube Shopify app (free, by Google). It handles Google Ads conversion tracking and GA4 automatically.
Meta (Facebook) Pixel conversion tracking
Meta Pixel tracks who visits your store and reports purchases back for ad optimization and retargeting.
Setup via Shopify’s Facebook & Instagram app:
- Install the Facebook & Instagram app from the Shopify App Store
- Connect your Facebook Business Manager account
- The app automatically sets up the Meta Pixel and sends purchase events
Or via Customer Events:
- Settings → Customer events → Add custom pixel
- Add the Meta Pixel base code and listen for
checkout_completed - Fire
fbq('track', 'Purchase', {...})with order value and currency
Do not use both methods at the same time. This is the most common cause of duplicate purchase events in Meta Ads Manager.
How to avoid duplicate conversion events
Duplicate events inflate your reported conversions and make ad optimization unreliable. Common causes:
Meta Pixel installed twice: once via the Facebook & Instagram app, once via manual pixel code in theme.liquid. Fix: use only the app, remove manual code.
GA4 tag firing twice: Shopify’s native integration AND a GTM GA4 tag both active. Fix: use one source, disable the other.
The “additional scripts” field in Checkout settings: if you added pixel code here years ago, it may now conflict with a newer integration. Go to Settings → Checkout → scroll to “Order status page” and check for old pixel code.
How to diagnose: use Meta Events Manager → Test Events tab, or GA4’s DebugView. If you see the same event firing twice within milliseconds, you have a duplicate.
TikTok, Pinterest, and other ad platforms
The pattern is the same for all ad platforms:
- Check if there’s a native Shopify app (TikTok has one, Pinterest has one)
- If yes, use the app — it handles pixel installation and purchase event tracking
- If no, use Customer Events to install a custom pixel
Always test using the platform’s native testing tools after setup. Don’t assume it’s working just because the pixel is installed.
Attribution: why different platforms show different numbers
Google Ads, Meta, GA4, and Shopify Analytics will each show different conversion numbers for the same time period. This is normal and expected.
Why it happens:
- Each platform uses its own attribution model (last-click, data-driven, 7-day view-through, etc.)
- A customer might click a Meta ad, then a Google search ad, then convert — all three platforms claim the conversion
- Shopify only counts the actual order; ad platforms include modeled conversions
Use Shopify’s native order data as your ground truth. Use ad platform conversions for optimization within each platform’s own interface.