analyzify logo

How to Track Shopify Draft Orders in GA4, Meta and TikTok

Discover why Shopify Draft Orders go missing in GA4, Meta, and TikTok analytics and how to fix it with server-side tracking effectively.

Published atPublished: 25.04.2025
Updated atUpdated: 30.10.2026

If you rely on Shopify’s Draft Orders for B2B sales, phone orders, manual invoicing, or wholesale —

there’s a good chance a chunk of your revenue is completely missing from your analytics.

You’re not alone. Many Shopify merchants open their GA4 reports or Meta Ads Manager and wonder:

“Why aren’t my draft order purchases showing up?”

The problem isn’t in your ad setup or pixel configuration.It’s in the way Shopify handles Draft Orders — and how analytics tools fail to capture them.

In this guide, we’ll explain:

  • Why draft orders often don’t get tracked
  • Where most tools fall short
  • And how Analyzify tracks them reliably — across GA4, Meta, TikTok, and more

Shopify Draft Orders Tracking

What Are Shopify Draft Orders — and Why Are They Hard to Track?

Draft Orders are manually created orders in Shopify — typically used for B2B transactions, phone or email-based sales, custom quotes or invoicing, and in-person orders through channels like retail or WhatsApp.

Once created, you can either:

  • Send the customer a payment link to complete the order online
  • Or mark it as paid manually if they’ve paid via bank transfer, cash, or another external method

It’s simple from a merchant workflow perspective.

But from a tracking perspective, Draft Orders don’t follow the same rules as standard Shopify online checkouts.

Why They’re Hard to Track

Most analytics platforms — GA4, Meta Ads, TikTok — rely on browser-based scripts to detect purchases.

These scripts usually fire on the thank_you page at the end of a standard checkout.

But Draft Orders often bypass that flow entirely:

  • Customers paying via email payment link might skip your store’s standard checkout flow, or land on a different version of the thank-you page
  • Manually marked-as-paid Draft Orders involve no customer interaction at all — meaning no pageviews, no pixels, no browser scripts
  • Shopify may process the order successfully, but your tracking tools don’t know it happened

So what happens?

If you’re only using client-side tracking, many Draft Orders can slip through without ever triggering a purchase event — especially when the customer doesn’t complete the journey through your store’s usual frontend.

Where Most Tools Fail to Track Draft Orders (And Why It Matters)

Shopify’s Draft Order system is flexible — but most analytics tools aren’t built to handle the way Draft Orders are processed.

Standard tracking setups rely on:

  • ✅ Client-side browser scripts (e.g., GA4, Meta Pixel, TikTok Pixel)
  • ✅ The customer completing checkout through Shopify’s standard online flow
  • ✅ A final thank_you page that triggers a purchase event

Draft Orders often break that flow — and that’s where tracking fails.

❌ Manually Paid Draft Orders

If you mark a Draft Order as paid (e.g., for a phone sale, B2B order, or cash transaction), the customer never visits your site.

That means:

  • No browser page loads
  • No scripts fire
  • No purchase event is tracked

These orders are completely invisible to GA4, Meta, TikTok, and other tools — even though they’re real revenue.

❌ Payment Link Orders

Even when the customer pays via a Shopify-generated email link:

  • The checkout may use a non-standard flow
  • The thank_you page might not load your pixel scripts properly
  • Purchase events often fail to fire

These orders might show up in Shopify — but not in your ads manager or analytics reports.

❌ Result: Missing Revenue in Your Reports

If draft orders never reach your analytics and ad platforms, your reported revenue is lower than your real sales.

Campaigns can look weaker than they are, and totals in GA4 drift further from Shopify.

Sending these orders fixes the revenue gap. As explained below, it doesn’t tell you which marketing brought the customer in.

Fix your Shopify data and make confident decisions with Analyzify

How Analyzify Tracks Draft Orders

At Analyzify, we know that standard tracking methods aren’t enough for Shopify stores that rely on Draft Orders.

That’s why we built a solution that captures every Draft Order — regardless of how it’s paid.

Fix Shopify Draft Orders

Here’s how it works:

Server-Side Tracking via Shopify’s Order Data

Analyzify picks up orders directly from Shopify, including draft orders that were paid manually or through a payment link. It doesn’t need the customer to load a page or a script.

From there, the order is sent server-side to the destinations you’ve set up:

  • GA4, through the Measurement Protocol
  • Meta, through the Conversions API
  • TikTok, through the Events API

When the order has customer details, such as an email address, phone number or postcode, they’re sent in hashed form to Meta and TikTok to help those platforms match the order to a person.

Settings that decide which draft orders reach GA4

Draft orders don’t reach GA4 automatically. Two settings in Analyzify’s GA4 server-side integration control them:

  • Send Draft Orders: includes draft orders in GA4. When it’s off, draft orders are skipped for GA4.
  • Send Anonymous Orders: records revenue and transactions even when there’s no GA4 user or session ID for the order. Many draft orders have none, because the customer never visited your store’s checkout in a browser (see the examples below).

Two more settings can keep orders out on purpose:

  • Exclude Sales Channels: keeps orders from specific sales channels (for example draft or POS) out of a server-side integration. It’s set per integration, so you can keep draft orders in GA4 but out of Meta and TikTok, or the other way round. See how to exclude sales channels in server-side integrations.
  • Exclude B2B orders: many draft orders are wholesale or B2B orders. Meta and TikTok can exclude B2B orders completely. GA4 receives them with an is_b2b parameter, so you can filter them in reports.

For the full list of GA4 server-side settings, see server-side conversion tracking for GA4 and the draft orders help guide.

Client-Side Support for Payment Link Orders

When a Draft Order is completed via Shopify’s payment link and the customer does reach the thank_you page, Analyzify’s client-side tags kick in to:

  • Capture additional attribution details
  • Trigger browser-based pixels if available
  • Ensure proper deduplication between server-side and client-side events

This hybrid model gives you complete event coverage with no duplicates, no gaps, and no guesswork.

Whether the purchase connects to earlier visits depends on whether the customer opens the link in a browser where they’ve visited your store before.

Event Deduplication Built In

When both client-side and server-side events are available, Analyzify ensures that platforms only count the event once using official deduplication methods (e.g., event ID matching for Meta and TikTok).

This keeps your reporting clean and avoids inflating conversion numbers.

In short: No matter how the order is paid — online, offline, or via link — Analyzify ensures it’s properly tracked.

Losing Shopify Conversions? Fix Your GA4 & Meta Tracking

Two Draft Orders, Step by Step

Both examples are illustrative.

Example 1: An identified draft order

A wholesale customer emails your team for a quote. A team member creates draft order #D1021 for $640 and sends an invoice. The customer opens the payment link on the same laptop they used to browse your store last week, and pays.

  • GA4: the order is sent if Send Draft Orders is on. Because the customer has visited your store in this browser before, the order can be linked to that GA4 user.
  • Journey: you only see the sessions recorded in that browser, such as last week’s visit. The invoice email link itself usually carries no campaign information. The quote request happened by email, which no tracking can see.
  • Meta and TikTok: the order is sent server-side with the customer’s hashed details, unless you’ve excluded draft or B2B orders from those integrations.

Example 2: An anonymous draft order

A customer calls your store and orders by phone. Your team creates draft order #D1022 for $180 and marks it as paid. The customer never visits your store’s checkout.

  • GA4: the order is sent only if both Send Draft Orders and Send Anonymous Orders are on. It arrives without a GA4 user or session, so GA4 can’t connect it to a traffic source or campaign. The revenue is counted, but no channel gets credit for it.
  • Journey: there is none to recover. No visit was recorded, so there’s nothing to connect the order to.
  • Meta and TikTok: the order is sent with the hashed customer details from Shopify, unless excluded. Each platform decides for itself whether it can match those details to a person.
  • Google Ads: Analyzify sends Google Ads conversions from the browser, so an order with no browser visit doesn’t reach Google Ads as a conversion.

Receiving an Order Isn’t the Same as Knowing Where It Came From

Draft order tracking can answer one question well. It’s easy to assume it answers two more.

Question What it means Can draft order tracking answer it?
Order completeness Did the order and its revenue reach the destination? Yes, depending on your settings and exclusions
Attribution completeness Do you know which marketing led to the order? Rarely. Phone, email and in-person sales leave no recorded journey. Payment link orders only connect to visits recorded in that browser
Optimization eligibility Can an ad platform use the order to learn and optimize? It depends on each platform’s matching and rules, not on whether the order was sent

Sending a draft order adds the missing revenue to your reports. It doesn’t create a journey that was never recorded, and it doesn’t guarantee that an ad platform will credit or learn from it.

This matters for decisions. If your team closes many sales by phone or email, those orders will show up mostly without a source. Don’t read that as “direct traffic is performing well”. Many teams exclude draft orders from ad platforms (with Exclude Sales Channels) so that ad platforms only learn from online purchases, while keeping them in GA4 for complete revenue.

Refunds on Draft Orders

If a draft order is refunded later, Analyzify can send the refund to GA4, Meta and TikTok in the same way as for other orders, as long as refund tracking is on (it’s off by default). In GA4, the refund needs the original purchase. If the draft order was never sent to GA4, the refund has nothing to reduce. See the refund tracking guide and the refund tracking help article.

Final Thoughts: Stop Losing Data on Draft Orders

Draft orders are real sales, and they belong in your revenue reports. Server-side tracking makes that possible even when the customer never reaches a thank-you page. Check your settings (Send Draft Orders and Send Anonymous Orders for GA4, and Exclude Sales Channels for each integration), and decide where draft orders should go. Then read your reports knowing that many of these orders won’t have a marketing source attached.

What you can expect:

  • Draft order revenue in GA4, Meta and TikTok, based on your settings

  • Fewer gaps between your Shopify sales and your analytics totals

  • A clear view of which orders have a recorded journey and which don’t

👉 Ready to start tracking every order?

Fix your Shopify data and make confident decisions with Analyzify

Frequently Asked Questions

Does Analyzify track draft orders automatically?

Analyzify picks up draft orders from Shopify. For GA4, they're only sent when Send Draft Orders is on, and orders without a GA4 user or session also need Send Anonymous Orders. Meta and TikTok receive them unless you exclude the sales channel or B2B orders.

Because no visit was recorded for them. A phone or manually paid order has no browser session, so GA4 can't connect it to a channel or campaign.

Yes. Use Exclude Sales Channels in each server-side integration to keep draft orders out of the platforms you choose.

Only when the purchase happens in a browser, for example when a customer pays an invoice link. Analyzify sends Google Ads conversions from the browser, so manually paid draft orders don't reach Google Ads.

They can be. Meta and TikTok can exclude B2B orders completely. GA4 receives them with an is_b2b parameter, so you can filter them in reports.

Latest Posts

The latest news, technologies, and resources from our team.
View all posts
Blog Post Icon
Shopify BFCM Tracking Checklist: Can You Trust Your Ad Results?
Published at30.09.2026
Published byİsmail Atasoy
Check Shopify purchase tracking, attribution and profit before BFCM. Find duplicate conversions and reporting gaps with our Black Friday tracking checklist.
Blog Post Icon
Shopify Customer Segments vs. Analyzify Segments: A Complete Comparison
Published at21.08.2026
Published bySerhat Bora
Rule-based conditions instead of ShopifyQL, group-by logic that builds many audiences at once, and direct platform sync. A side-by-side breakdown.
Blog Post Icon
How the Klaviyo Shopify Integration Actually Works
Published at13.08.2026
Published byİsmail Atasoy
See how Klaviyo tracks Shopify events, where native tracking falls short, and how server-side tracking can improve event and checkout coverage.
Blog Post Icon
Google Tag Gateway vs Server-Side GTM for Shopify: Which Do You Need?
Published at13.08.2026
Published byİsmail Atasoy
Learn the difference between Google Tag Gateway and server-side GTM for Shopify, what each one does, and which setup fits your tracking needs.
Sign up for our newsletter
Be the first to know about releases and industry news and insights.
We care about your data in our privacy policy.
Take the first step towards reliable trackingJoin 3,000+ merchants who trust their tracking with Analyzify.