Create a new high-value customer event in Meta
Send Meta its own event for first-time customers who spend above your threshold, so you can see which campaigns actually acquire them.
What you'll build
A custom event based on Purchase, scoped with trigger conditions so it only fires when a first-time customer places an order above your value threshold.
Sent to Meta as its own event, it becomes a metric you can report and optimize on, which separates the campaigns that acquire valuable new customers from the campaigns that retarget people who were going to buy anyway.
Why it matters
Meta's out-of-the-box metrics can't tell a new customer from a returning one. Here are three campaigns from one brand, ranked on cost per purchase:

The third campaign has roughly 35% lower cost per purchase than the other two, and it ran enough volume to exit the learning phase. On those numbers it looks like the one to scale.
The same three campaigns, with a new high-value customer event in the report:

This brand counts anyone spending above 200 as high value. On that measure the second campaign wins: 50 new high-value customers at a CAC of 61.53. The first campaign drove the most purchases, but only 3% of them came from new high-value customers. The third campaign, the one that looked like the winner, acquired none at all.
Whether that campaign stays on is a business call. The point is that you can't make it on Meta's default columns alone.
What you need
Meta Conversions API connected as a Littledata destination
A value threshold your business agrees on, in your shop currency
Access to the Event Editor in the Littledata app
Access to Meta Events Manager and Ads Manager to create the custom conversion and add the column
Steps
Open the Meta destination's Event Editor
Go to Settings for your Meta Conversions API destination, then open the Event Editor.
Add a custom event
Click Add event.
Name it new_high_value_customer. Meta doesn't require snake_case, but keeping one naming convention across destinations saves confusion later.
Select Purchase as the base event. The custom event inherits the complete field mappings of its base, so it sends a full, valid payload from the start.
Add the trigger conditions
In the Event trigger section, add three conditions in one group set to All:
properties.order_type
does not equal
RECURRING
customer.orders_count
less than or equal
1
money.subtotal.shop
greater than
200
The first two conditions define a new customer: not a subscription renewal, and no previous orders. The third is your value threshold. Replace 200 with your own number.
Preview and save
Use the event preview to check the payload, then click Save event.
Surface it in Meta reports
Once a first-time customer places an order above the threshold, new_high_value_customer appears in your dataset in Meta Events Manager:

To report on it in Ads Manager, Meta needs a custom conversion built on that event, and a column added to your report.
Verify it's working
Place a test order above your threshold from an email address with no previous orders.
Confirm
new_high_value_customerarrives alongside the standard purchase event in Meta Events Manager.Orders below the threshold, repeat orders, and subscription renewals should not fire it.
Once the data is flowing, your report separates the campaigns that acquire high-value new customers from the ones that don't:

Make it yours
This setup is a custom event with three conditions on one base event. Change any of them and you get a different signal:
Swap
money.subtotal.shopformoney.profit_total.shopto define high value by margin rather than revenue.Drop the
customer.orders_countcondition to track every high-value order, new customer or not.Add a condition on
products.collectionsto count only new customers acquired on a particular range.Custom events exist per connection. To send the same event to GA4, Google Ads or Klaviyo, create it in that destination too.
Related articles
Last updated
Was this helpful?


