TL;DR:Ad platforms optimize for the signal you give them. Send a generic Purchase event and the algorithm treats every order identically: discount and full-price, repeat and new, low-margin and high-margin. Over time it scales toward the customers who are easiest to convert and easiest for your pixel to track. The fix is richer conversion signal: NC vs RC tagging, margin-adjusted values, discount filtering, and recovery of the high-value buyers your pixel never saw.

Most e-commerce brands have evolved beyond recognition. They still measure acquisition success the traditional way: cost per acquisition, return on ad spend, conversion rate.

The dashboard looks clean. The metrics look in line. Underneath them, the customer mix is quietly drifting toward people who are easy to convert, not people who are worth keeping.

The problem is not your strategy or your implementation. It is what you have defined as a conversion, and what that definition teaches your ad platforms to aim for.

Easiest customers vs. best customers

Ad platforms optimize for the signal you give them. Every time a purchase fires, the algorithm updates its model. It learns who bought, where they came from, and what they look like. Then it goes out and finds more people like them.

Send a generic Purchase event and the algorithm learns one thing: this audience buys something from this store. A first-time buyer who paid full price after three weeks of research looks identical to a repeat customer who clicked a 30% off ad and converted in four minutes. A high-LTV buyer who blocked your pixel on iOS and converted anyway is invisible entirely.

The algorithm cannot tell them apart if every purchase looks the same.

So it optimizes toward the customers who are easiest to convert and easiest for your pixel to track. Not the most profitable. Not the most loyal. The low-friction offer responders. Your best customers are underrepresented in that picture, and the algorithm has no way to know it.

Your acquisition stack is not finding your best customers. It is finding the customers who are easiest for the algorithm to see.

Three ways this plays out in practice


Discount converters get weighted the same as full-price buyers

A buyer who converted on a 25% off offer and a buyer who paid full price both fire the same Purchase event. The algorithm treats them identically. Over time, as it finds more people who look like both, it gravitates toward the easier signal: the discount converter, who responds more reliably and shows up more consistently in the data.

Your prospecting audiences gradually shift toward promotional buyers. CAC looks stable. Margin erodes quietly.

Repeat customers inflate your acquisition numbers

When an existing customer converts through a prospecting campaign, the platform logs a purchase and credits the campaign. Your reported new customer acquisition cost looks better than it actually is because a share of those conversions were customers you already had.

You are paying prospecting CPMs to re-acquire people who were already in your base. The algorithm has no way to flag this. It is forced to optimize for conversions, and repeat customers convert reliably.


High-value buyers are missing from your lookalike audiences

Privacy-conscious shoppers who use ad blockers, opted out of iOS tracking, or declined consent banners convert at lower rates in your pixel data because they are harder to track. In many cases they are your highest AOV, best retention customers.

They are underrepresented in your conversion data. The algorithm has no choice but to optimize toward the people it has clear evidence for. The hard-to-track buyers get left out of the picture, and the audiences compound in the wrong direction over time.

What better signal design actually looks like

The fix is not a new bidding strategy or a different campaign structure. It is a richer conversion signal that tells the algorithm which customers are actually worth finding.

Tag new customers separately from repeat buyers

At the point of event capture, cross-reference the order against purchase history. New buyers get a Purchase_NC event. Repeat buyers get Purchase_RC. Your prospecting campaigns optimize for Purchase_NC only. The algorithm stops counting re-acquisitions as wins. Your real new customer acquisition cost becomes visible.

Remove discount orders from optimization signals

Orders where a coupon code reduced margin below a set threshold should not go to Meta or Google as optimization events. This stops the algorithm from using that buyer as a template for who to find next. The audiences it builds shift toward full-price buyers over time.

Send margin-adjusted conversion values instead of order totals

Order total includes taxes, shipping, and products with completely different margin profiles. When you send margin as the conversion value, your ROAS targets bind to profit rather than revenue. The algorithm optimizes for what the purchase earned you, not what it looked like on the surface.

Recover the conversions your pixel missed

The high-value buyers who blocked tracking are converting. You just do not have evidence of it in your pixel data. Server-side collection via Shopify webhooks captures those purchase events from your infrastructure and sends them to Meta CAPI, TikTok Events API, and Google Ads as matched, enriched events. The algorithm now has evidence that privacy-conscious customers convert. It starts finding more of them.

Why this compounds

Better signal infrastructure is not a one-off improvement. It compounds over time. The customers you find today reflect the signal you gave the algorithm several months ago.

When the algorithm knows which customers are valuable, it builds better lookalike audiences. Better audiences improve campaign performance. Better performance generates more data about high-value converters. That data improves the next round of lookalike audiences.

The inverse is also true. The longer you run generic purchase events, the more entrenched the algorithm's preference for easy converters becomes. Reversing that drift takes time. Every week of degraded signal is a week of compounding optimization in the wrong direction.

Find your next best customer with EdgeTag

EdgeTag captures purchase events server-side via native webhooks, with the full order record available at the point of capture: customer purchase history, discount codes applied, margin data, product SKUs, and new vs. repeat customer status.

  • Automatically tags new vs. repeat customers
  • Filters discount-driven orders
  • Sends margin-adjusted conversion values to Meta, Google, and TikTok
  • Recovers high-value conversions missed by client-side pixels

Start optimizing for your best customers. EdgeTag goes live in 15 minutes. No GTM. No engineers.

Book a Demo →