New vs Returning Customer Tracking on Shopify

New vs Returning Customer Tracking on Shopify

TL;DR

A new-vs-returning label on a purchase event is not a reporting nicety. On Google Ads it is the input the New Customer Acquisition (NCA) goal uses to bid differently for first-time buyers, and Google only honors that input on conversion actions in the Purchase category. WeltPixel Conversion Tracking determines whether each buyer is a first-time or returning customer based on their Shopify order history, then attaches that label to the server-side purchase event it sends to GA4, Meta, TikTok, and Google Ads. Reddit does not receive it. Because the label travels on the server-side conversion rather than a browser tag, it survives ad-blockers, ITP, and lost browser sessions. The label is Plus-tier; a free Explorer store still sends Google Ads conversions, but without the new/returning flag on them.

Key Takeaways

  • Google Ads' New Customer Acquisition goal can bid higher for new customers, or bid for new customers only, and it reads the new/returning label from your conversion tag.
  • Google only applies that label on conversion actions in the Purchase category. A non-Purchase conversion action ignores it.
  • WeltPixel Conversion Tracking labels each purchase as first-time or returning based on the buyer's Shopify order history and sends it server-side.
  • The label is attached on four channels: GA4, Meta, TikTok, and Google Ads. Reddit does not receive it.
  • Only Google Ads has a documented first-party acquisition-bidding use for the label. On Meta and TikTok the label is attached and available for your own segmentation and reporting.
  • This is a Plus-tier feature. On the free Explorer plan, Google Ads conversions still send, but without the new/returning label.
  • Guest checkouts have no customer record, so they cannot be classified as new or returning.

What does a new-vs-returning label actually change in your ad platforms?

The label is a single attribute riding along with a purchase event: this buyer is new, or this buyer is returning. What each platform does with it varies, and that difference is the whole point of the article.

On Google Ads, the label is an active bidding input. The New Customer Acquisition goal sits on top of campaigns like Performance Max, Search, and Demand Gen, and it can do one of two things: bid higher for conversions from new customers while still chasing all conversions, or bid for new customers exclusively. Either way, it needs to know who is new. Google supports a few ways to identify that, and labeling it directly on the conversion tag is the most accurate one [1].

On Meta, there is a related idea but not the same mechanism. Meta previously offered an existing-customer budget cap on Advantage+ Shopping campaigns that limited the share of budget spent on prior purchasers. Meta removed that native control in early 2025 and now documents how to replicate it by separating existing-customer and prospecting buyers into different ad sets [2]. The thrust still holds: Meta steers spend by who is already a customer, so a new-versus-returning signal on the conversion is useful there. WeltPixel Conversion Tracking attaches the new/returning label to the Meta purchase event, so the signal is available there, but Meta's own consumption of a custom label is not a documented bidding standard the way Google's NCA goal is. Treat the Meta label as attached and available, not as a documented acquisition-bidding input.

On TikTok, there is no documented first-party new/returning conversion-optimization feature. WeltPixel Conversion Tracking still sends the label as a property on the TikTok purchase event, so it is there for your own reporting and segmentation, but you should not plan around TikTok bidding on it.

So the honest payoff hierarchy is: Google Ads uses it to bid, Meta has a parallel idea the label can feed, TikTok carries it for your own use. That precision matters, because most articles on this topic blur all three into "track new vs returning customers" and never tell you which platform actually acts on it.

Why Google Ads only uses it on Purchase conversions

This is the constraint that decides whether the whole setup works. Google Ads' new-customer reporting and the NCA goal only work with conversion actions categorized as Purchase [1]. If the conversion action your campaign optimizes toward is categorized as something else, a lead, a sign-up, an add-to-cart, the new/returning label is effectively invisible to the acquisition goal.

That is why the label has to ride the purchase conversion specifically, and why a server-side purchase event is the right carrier. WeltPixel Conversion Tracking sends the Google Ads conversion from the orders/create event on the server, with the new/returning label attached to that purchase conversion. Because it is the purchase event and it is Purchase-category, the NCA goal can read the label and act on it.

A quick checklist before you expect NCA to work:

Requirement Why it matters
Conversion action is Purchase category NCA only honors the new/returning label on Purchase conversions [1]
New/returning label is attached to that conversion Without it, NCA falls back to audience-only detection
Label rides the server-side purchase event Survives ad-blockers, ITP, and lost browser sessions
Store is on the Plus tier The label is a Plus-tier feature; free plans omit it

One nuance worth stating plainly. Google's own definition of a "new" customer for NCA uses a lookback window (Google recommends a 540-day lapse window) and Google's automatic detection can read up to 540 days of conversion data to build an existing-customer audience [1]. That window is Google's logic, not WeltPixel Conversion Tracking's. The app's label is based on the buyer's Shopify order history, and Google's NCA window is a separate layer that Google applies on its side. Do not assume the app is enforcing a 540-day rule; it is not.

How is new vs returning decided?

The app determines whether a buyer is first-time or returning based on their Shopify order history. If the order belongs to a customer who has bought before, it labels returning; if it is their first, it labels new. That is the determination, stated at the level you can rely on.

Two practical limits follow from that. First, guest checkouts have no customer record attached to the order, so there is nothing to look up, and the app does not label them new or returning. If a meaningful share of your orders are guest checkouts, expect those to land without the label, which means your new-customer coverage on Google Ads will be partial rather than total. Second, this is an order-history signal, not a session signal, which is a distinction worth its own paragraph.

GA4's built-in "new vs returning user" dimension is a different thing. GA4 calls a user new when there is no prior _ga cookie and they have zero previous sessions, and returning once they have at least one. That is browser-session-based and date-range-dependent, so the same person can count as both across a spanning report. WeltPixel Conversion Tracking's customer label is order-history-based: did this person buy from you before. A first-time visitor who has bought twice is a returning customer by order history even on a brand-new device. When you read GA4's session-based dimension and the order-history label side by side, they answer different questions, and you want the order-history one for acquisition bidding. If you surface the label as a GA4 custom dimension, see the GA4 custom dimensions guide for Shopify for how custom dimensions register.

Server-side vs the browser: why the label has to survive the trip

A new/returning label is only useful if it reaches the ad platform attached to the conversion. A browser tag is a fragile carrier for it. Ad-blockers strip tracking scripts, Safari's Intelligent Tracking Prevention truncates browser storage, and a dropped or interrupted session can lose the event before it fires. When that happens, the conversion either does not arrive or arrives without the label, and the NCA goal has nothing to read.

The server-side purchase event does not depend on the buyer's browser surviving the trip. WeltPixel Conversion Tracking builds the purchase event on the server from the Shopify order and sends it directly to each platform's conversions API, with the new/returning label already attached. The conversion and its label arrive together regardless of what happened in the browser. That is the structural reason a server-side carrier matters more for this label than for plain conversion counts: a missing conversion hurts your totals, but a conversion that arrives without its new-customer label silently degrades the bidding signal NCA depends on.

On consent: browser events respect Shopify's Customer Privacy API signals. The server-side purchase events are a separate path, and you should keep your consent and privacy configuration aligned with your own policies and the platforms' requirements.

Which platforms get the signal, and which don't

WeltPixel Conversion Tracking covers five channels server-side. The new/returning label is attached on four of them. Here is the split and what each platform does with it.

Platform Gets the label? What it is used for
Google Ads Yes NCA goal bidding on Purchase-category conversions [1]
GA4 Yes Reporting and a custom dimension for analysis
Meta Yes Available to the event; parallels Meta's prospecting-versus-existing audience split [2]
TikTok Yes Carried as a property for your own reporting
Reddit No Not attached

Reddit is the exception. WeltPixel Conversion Tracking sends Reddit conversions server-side, but the new/returning label is not part of the Reddit purchase payload. If Reddit is a meaningful channel for you, plan your new-customer strategy around Google Ads and treat Reddit as a separate conversion stream without the label.

The label being Plus-tier is the other thing to be precise about. Google Ads conversion tracking itself is available on the free Explorer plan, so a free store does send Google Ads purchase conversions. What it does not send is the new/returning label on those conversions. To get NCA-ready conversions with the label attached, the store needs to be on the Plus tier. For the broader set of capabilities that sit behind the Plus tier, see the Shopify Plus tracking surfaces standard plans don't have.

When is bidding up new customers worth it?

Bidding higher for new customers is not always the right move, and the label exists to let you choose deliberately. The question is whether a new customer is worth more to you than a returning one over their lifetime, by enough to justify paying more to acquire them.

A simple illustrative frame, with made-up numbers to show the shape of the decision. Say your average first purchase is $60, and a new customer goes on to spend $240 over the next year, so their first-year value is $300. A returning customer who buys again is worth that single $60 order to that campaign, because you already have the relationship. If new customers are worth roughly five times a marginal repeat order to you, paying a premium to win them through NCA can make sense. If your catalog is consumable and most revenue comes from repeat buyers at thin margins, bidding up new customers can pull budget toward your most expensive, least loyal segment, and splitting existing-customer and prospecting audiences on Meta, or a flat strategy, may serve you better. These are illustrative figures, not benchmarks; the point is to run the comparison with your own lifetime-value data before you turn on new-customer bidding.

The decision also depends on how prospecting-heavy your account already is. If you are running a lot of broad prospecting and want Google to find more first-time buyers, NCA with the conversion-label signal sharpens that. If you are mostly retargeting and remarketing, the label is more useful as reporting than as a bidding lever. For where NCA sits in a full Google Ads setup, the Google Ads conversion tracking guide for Shopify covers the conversion-action setup the label depends on, and the Meta Advantage+ Shopping guide covers Meta's prospecting-versus-existing-customer approach on the Meta side.

FAQ

Does new vs returning customer tracking work on the free plan?

No. The new/returning label is a Plus-tier feature. On the free Explorer plan, your Google Ads purchase conversions still send, but they do not carry the new/returning label, so the New Customer Acquisition goal has nothing to read from the conversion tag. Upgrading to Plus is what attaches the label.

Does it work for guest checkouts?

No. A guest checkout has no customer record on the order, so there is nothing for the app to look up in order history. The app does not label guest orders as new or returning. If guest checkout is common on your store, expect those orders to arrive without the label, which makes your new-customer coverage partial.

Is this the same as GA4's new vs returning users?

No. GA4's dimension is session-based: it calls a user new when there is no prior browser cookie and zero previous sessions, and that classification shifts with the report's date range. The app's customer label is order-history-based, meaning it reflects whether the person has purchased before, which is the sharper signal for acquisition bidding.

Which platforms actually use the label?

Only Google Ads has a documented first-party use, through the New Customer Acquisition goal on Purchase-category conversions. GA4 gets it for reporting, Meta gets it attached to the event alongside its own prospecting-versus-existing-customer split, and TikTok carries it as a property for your own reporting. Reddit does not receive the label.

Bid for the customers worth winning

If new-customer acquisition is the goal, the new/returning label has to ride your purchase conversion server-side so Google Ads can read it on a Purchase-category action. WeltPixel Conversion Tracking labels each purchase as first-time or returning from your Shopify order history and attaches it on GA4, Meta, TikTok, and Google Ads. It is a Plus-tier feature.

Install WeltPixel Conversion Tracking on the Shopify App Store

Sources

  1. Google Ads Help. "Set up new customer acquisition parameter in your conversion tracking tag." https://support.google.com/google-ads/answer/12077475
  2. Meta Business Help Center. "How to replicate existing customer budget cap." https://www.facebook.com/business/help/1142614290190459

Ready to upgrade your tracking?

Server-side tracking for Magento and Shopify — accurate data, better attribution, full privacy compliance.