Your Meta dashboard shows one number of purchases. Your Shopify admin shows another. TikTok and Snapchat each show a third. If you set your ad budget from numbers you cannot explain, you are guessing.
This article explains how ad tracking works, what Shopify's channels do, what changes in the Gulf and Iraq, why the numbers never match exactly, and what to ask a local adviser about consent. It ends with a test plan to follow after setup. Platform facts come from each platform's own pages, read on 4 November 2026. Settings change, so your account screens have the final word.
How ad tracking works in four parts
- Browser pixel. A small script on your pages reports what a shopper does, such as buying. Shopify notes that a browser-based ad blocker can stop the Meta pixel from sharing data.
- Server-side events. Your store or an app sends the same event from a server to the platform. Shopify says data sent server to server can't be blocked by browser-based ad blockers. Meta, TikTok and Snap each recommend running their server API next to the pixel.
- Deduplication. If one purchase arrives twice, once from the browser and once from the server, the platform needs a shared event ID to count it once. Meta, Snap and TikTok each describe a 48 hour window and ask you to send the same ID from both sources. Meta also needs matching event names.
- UTM tags. These are labels at the end of an ad link that tell your analytics where a visit came from. Google says to always use utm_source, utm_medium and utm_campaign, and notes that values are case sensitive, so Google and google count as different sources. Pick lowercase and keep to it.
What the Shopify channels do for you
On Shopify you usually do not paste tracking code into the theme. Each platform has a channel or app with a data sharing setting.
- Meta. Shopify's Facebook and Instagram channel offers Standard, Enhanced and Maximum. Standard uses the pixel. Enhanced and Maximum add the Conversions API and share name, location, email address and phone number so Meta can match people. If an old pixel snippet still sits in theme.liquid, Shopify says to remove it, because two pixels can cause duplicate or incorrect data.
- TikTok. TikTok's page on its Shopify app uses the same three level names. Standard uses the pixel, and Enhanced adds the Events API and Advanced Matching. The page shows February 2025 as its last update.
- Snapchat. Snap's pixel page says that if you install the pixel with its Snapchat Ads app for Shopify, the Conversions API is installed automatically. The page also gives Zid and Salla as examples of store platforms.
Which events a store needs
Shopify says its Meta pixel tracks PageView, ViewContent, Search, AddToCart, InitiateCheckout, AddPaymentInfo and Purchase. For a first review, watch three: AddToCart, InitiateCheckout and Purchase. Purchase also needs a currency and a value: Meta's page requires both for purchase events, with the currency as an ISO 4217 code, and Snap's page requires both too.
Agree one definition of revenue first. Shopify says the Meta purchase value uses the order's total price, including duties, taxes and discounts, so confirm it matches the revenue figure you report elsewhere.
What is different in the Gulf and Iraq
- Three decimal currencies. The ISO 4217 current list, kept by SIX, shows 3 minor units for the Kuwaiti dinar, Bahraini dinar, Omani rial and Iraqi dinar, and 2 for the UAE dirham, Saudi riyal and Qatari rial. Meta's parameter page asks for a monetary amount and gives no decimal rules. So test it: an order of 12.500 Kuwaiti dinars should reach the platform as 12.5, not 125 or 12500.
- Cash on delivery. Shopify says the checkout_completed event usually fires once, on the thank you page, and not at all if that page fails to load. The page does not say how this works for cash on delivery orders, so a Purchase may mean only that an order was placed, not that cash was collected. Ask your developer what your setup sends for these orders and for refused parcels, and decide whether reports should count them. The Iraq cash on delivery article covers the delivery side.
- Orders outside the checkout. A WhatsApp or phone order that staff create by hand may not pass through the online checkout. Ask your developer whether those sales reach the ad platforms, and decide whether they should. The WhatsApp orders article covers these orders.
- Time zones. Shopify lists different reporting time zones as a cause of mismatched numbers. TikTok says you choose the ad account time zone at creation and cannot change it later.
- Seasons. Compare a sale week with a sale week, and Ramadan with Ramadan. The Ramadan and Eid checklist helps with planning.
- Naming. Write UTM values in lowercase Latin letters, even for Arabic ads, so Arabic and English campaigns share report rows.
Consent and personal data: questions for a local adviser
Enhanced and Maximum levels send customer details to ad platforms, so consent matters. Shopify's customer privacy page says its cookie banner can run automatically for regions such as the UK and EEA, and is inactive by default elsewhere, such as the US. Third-party pixels may need a banner app or custom logic, and you remain responsible for your privacy policy and legal compliance. Shopify's pixel privacy page says an app pixel loads only when the visitor has granted every permission it requires. The privacy and cookies article covers the Shopify settings.
For the region, two official sources were read. The UAE legislation portal carries the text of Federal Decree by Law No. 45 of 2021 on personal data. It defines consent as a clear positive statement or action, expects the controller to be able to prove it, requires an easy way to withdraw it, and gives people a right to object to direct marketing processing. Article 31 says it came into force on 2 January 2022. SDAIA's guide to the Saudi Personal Data Protection Law (version 1.0, December 2023) says consent should be freely given and that people can withdraw it at any time. This article read no executive regulations, amendments or free zone rules, and nothing for Qatar, Kuwait, Bahrain, Oman, Iraq or the Kurdistan Region. Ask for the current rule in each place where your shoppers live.
Questions to ask your adviser:
- Which country's rules apply to my shoppers and my ad pixels?
- What does my cookie banner do for shoppers in the Gulf and Iraq?
- Must I ask for consent before ad pixels load, and how do I record it?
- May I send email addresses and phone numbers to ad platforms, and what must my privacy policy say?
- Where do the platforms process this data, and does that need a transfer step?
A tracking test plan
Run this after setup, and after any theme, app, checkout or data sharing change. Tracking is the measurement side of SEO and growth work, because Shopify's marketing reports show paid, organic and direct traffic side by side.
- Take stock. List the channels and apps that install tracking, the pixel ID in each, the data sharing level (it decides which customer details leave your store), and who owns each ad account. Look for old pixel code in the theme and for two apps sending the same event.
- Tag a test link. Add lowercase utm_source, utm_medium and utm_campaign to a product link and open it on a real phone.
- Check the browser events. Meta's Pixel Helper is a Chrome extension that lists the pixels on a page, whether they loaded, and errors. Snap's page names the Snap Pixel Helper and the Test Event Tool in its Events Manager. TikTok's Events Manager has a Test Events tab where you can filter browser and server test events.
- Place a test order. Shopify says its test gateway and Shopify Payments test mode do not charge you, and that test orders do not show in your reports. Live orders are blocked while payment providers are in test mode, so switch it off afterwards. Note whether the platforms recorded the test purchase, so nobody counts it as a sale.
- Check the server events. For Meta, the Conversions API page says to send a test_event_code from the Test Events tab in Events Manager and remove it from live payloads. Meta's verification page lists an Event Deduplication tab. In TikTok, the Overview tab shows whether events came by browser, server or both, and warns that the data is not real time. Snap offers a validate endpoint for developers using its Conversions API.
- Check the money. Place a small real order in each currency you sell in, including any dinar currency, and compare each platform's value with the Shopify order total. Confirm each platform shows one Purchase, not two. Shopify says you can cancel and refund a real order afterwards, but the processor may charge fees.
- Compare a real week. Pick the same days and hours in the same time zone. Count orders and revenue in Shopify and in each platform. Write the gap as a percentage and keep it as your normal range.
Why the numbers will still differ
- Attribution rules. Shopify's marketing reports offer five models. Last non-direct click, the default for the Performance by marketing channel report, skips direct visits. Reports that pair a sales metric with a marketing dimension default to last click, so check each report's model. The any click model credits every clicked channel, so it can exceed your real orders. Ad platforms may use a different attribution window. TikTok's window page is written for advertisers on its Self-Attributing Network set-up, so ask TikTok, Meta and Snapchat which window applies to your web sales, and note it beside your numbers.
- Lost browser events. Shopify's discrepancies page lists blocked JavaScript or cookies, browser extensions and bots as reasons tools disagree. A pixel that needs consent also does not load without it.
- Changing definitions. Shopify's discrepancies page says its session measurement rollout ran from 21 to 23 September 2026, and its marketing reports page says channel, medium and traffic type values were updated from 18 October 2026, so older figures may not compare cleanly.
- Double counting. If a platform shows more purchases than your store took, look first for missing event IDs, two pixels or two apps.
Act when the gap grows suddenly, a platform shows no purchases, or values are off by a factor of 10, 100 or 1,000. A steady gap within your normal range is common.
This is general information, not legal or tax advice. Check the current rules or ask a qualified adviser before you decide.
ESTASOFT can help with SEO and growth for your store. To start, send a short brief on the contact page. The weekly reporting article lists the numbers to check each week.
Sources
- Handling duplicate Pixel and Conversions API events (Meta for Developers): Meta deduplication fields, 48 hour window, redundant setup wording (checked 4 November 2026)
- Using the API, Conversions API (Meta for Developers): test_event_code for testing, remove it from live payloads (checked 4 November 2026)
- Verifying your setup (Meta for Developers): Event Deduplication tab, Overview by connection method (checked 4 November 2026)
- Meta Pixel Helper (Meta for Developers): what the Chrome extension shows, page marked updated 30 June 2026 (checked 4 November 2026)
- Standard parameters (Meta for Developers): currency and value required for purchase events, ISO 4217 code, no decimal rule stated for value (checked 4 November 2026)
- Conversions API: using the API (Snap Developers): Snap deduplication on event_id and timestamp within 48 hours, purchase currency and value, validate endpoint, recommended alongside the pixel (checked 4 November 2026)
- Snap Pixel (Snap for Business): Conversions API installed automatically when the pixel is installed with the Snapchat Ads app for Shopify, Zid and Salla given as examples, Snap Pixel Helper and Test Events in Events Manager (checked 4 November 2026)
- About event deduplication (TikTok for Business): event_id shared by Pixel and Events API, 48 hour window, page last updated May 2025 (checked 4 November 2026)
- Get started with Events API (TikTok for Business): Events API recommended as a second channel beside the Pixel (checked 4 November 2026)
- Data sharing on TikTok app on Shopify (TikTok for Business): Standard, Enhanced and Maximum levels, page last updated February 2025 (checked 4 November 2026)
- TikTok Events Manager: monitor and diagnose (TikTok for Business): Test Events tab, connection method on Overview, data not real time (checked 4 November 2026)
- Learn about time zone (TikTok for Business): ad account time zone chosen at creation and not changeable (checked 4 November 2026)
- About the attribution window on TikTok Ads Manager (TikTok for Business): attribution window settings exist; page is written for Self-Attributing Network advertisers, so no window figures are used (checked 4 November 2026)
- Facebook data sharing (Shopify Help Center): Standard, Enhanced, Maximum levels, data shared, tracked events, purchase value (checked 4 November 2026)
- Meta pixel (Shopify Help Center): install through the channel, remove theme.liquid pixel code (checked 4 November 2026)
- Configuring customer privacy settings (Shopify Help Center): regions, cookie banner, third-party pixels, merchant responsibility (checked 4 November 2026)
- Pixel privacy (Shopify developer documentation): app pixels load only with the required consent (checked 4 November 2026)
- checkout_completed (Shopify developer documentation): when the purchase event fires and when it does not (checked 4 November 2026)
- Marketing reports (Shopify Help Center): five attribution models and definitions, defaults by report, traffic types, 18 October 2026 value update (checked 4 November 2026)
- Discrepancies (Shopify Help Center): reasons reports differ from other tools, session measurement rollout 21 to 23 September 2026 (checked 4 November 2026)
- Test orders (Shopify Help Center): test gateway, test mode, reports, real payment then cancel and refund (checked 4 November 2026)
- URL builders: collect campaign data with custom URLs (Google Analytics Help): UTM parameters, required three, case sensitivity (checked 4 November 2026)
- Global financial data standards (SIX): SIX as ISO 4217 maintenance agency and List One (checked 4 November 2026)
- ISO 4217 List One file (SIX): minor units: KWD, BHD, OMR and IQD 3; AED, SAR and QAR 2; file published 2026-09-17 (checked 4 November 2026)
- Federal Decree by Law No. 45 of 2021 concerning the protection of personal data (UAE Legislation): consent, withdrawal, objection to direct marketing, entry into force (checked 4 November 2026)
- Guide to the Saudi Personal Data Protection Law, version 1.0, December 2023 (SDAIA): consent should be freely given, withdrawal at any time (checked 4 November 2026)
