Purchase event blocked on Meta: how to optimise for a custom conversion instead
Short answer
Send a neutral custom event with a clean payload from the server, create a custom conversion on it with a plain name and the Purchase category, and point campaigns at it. It works because nothing sensitive is in the event, and not at the full level.
When Meta's standard event restriction lands, Purchase, Add to cart and Lead stop arriving, and campaigns lose the thing they optimise for. There is a route that health advertisers use at this level, and it is worth understanding what it is and what it is not.
The route has three parts. First, send the conversion as a custom event with a neutral name and a clean payload, from your server: value, currency, an order ID, an event ID, a hashed email and phone, the click ID, and nothing about the product, the page or the condition. Second, in Events Manager, create a custom conversion from that event, pick the matching category, Purchase for an order, and give it a plain name such as Order. Third, point your campaigns at that custom conversion instead of the blocked Purchase event.
Why it can work: Ours Privacy draws the distinction clearly. Custom conversions built on standard events are affected by the block, because they sit on top of the event Meta is blocking. Custom events with compliant names and clean payloads are standalone, and can still function under the standard event restriction. That matches what we have seen, and it is the route we set up for a restricted maternity store.
Why it is not a trick: the neutral name is not hiding anything. The event works because there is nothing sensitive in it. If you rename Purchase to Order and leave the product name in a parameter, you have changed the label and kept the problem. As one guide puts it, renaming changes the label Meta sees, not the payload underneath it.
Three things to watch. If your browser pixel also sends the event, give both copies the same event ID so Meta counts one sale, not two. Expect a learning period after switching what the campaign optimises for; one vendor reports two to three weeks. And none of this works at the full level, or in a region that is fully blocked, where every event from the domain is dropped.
Has anyone run purchase-level results on a custom conversion like this for a few months? How did cost per sale compare to before the block?
For reference, DataCops Health mode sends the order as P_1 and other steps as E_1, with the fields above and nothing else, so the custom conversion has a clean event underneath it.
DataCops in short
For this question: Health mode sends Meta a fixed list of fields only: the click ID, hashed email and phone, value, currency, IDs and the homepage address, under a neutral event name, and the delivery log shows exactly what left.
DataCops is a tool that keeps condition details out of what your ad platforms see: Health mode cuts page links to the domain, uses neutral event names and leaves out anything that describes a condition, while a bot verdict on every visit and a delivery log show what left and what was real.
How DataCops does it
- Health mode. Page links are cut to the domain, event names are neutral, and anything that describes a condition is left out before an event leaves.
- A log of exactly what left. A delivery log row per conversion, sent, held, skipped or failed, with the reason, which is the record you want when explaining yourself to a reviewer.
- Real people only. Every visit gets a bot verdict against 360+ billion IPs and 350+ monitoring points, with a Real people only switch per ad platform, off by default.
- One script, one DNS record. Collection runs on your own domain, and conversions go server-side to Meta, Google Ads, TikTok and LinkedIn, counted once against the pixel.
- The booking after the form. HighLevel natively, any CRM by webhook, sent as neutral events so a booked consultation still teaches the ads who converts.
Best for: clinics, telehealth and wellness brands, and agencies running health ads, who want conversions to keep counting without condition details in the data.
Ads Warmup: tell the ads who pays
Ads Warmup, DataCops' flagship feature, sends customers you already have to Meta, Google Ads and TikTok before a new campaign spends: upload a CSV (only email is required, up to 20,000 rows), see a 0 to 10 match score per person, pick the event, and send. Rows are dated when you send, and Google Ads credits only people who clicked a Google ad. Preview is free; sending needs a paid plan. Check your own consent basis for the list first. See Ads Warmup.
Ways to do this job
| Option | Best for |
|---|---|
| DataCops | Health mode, neutral events and a delivery log, server-side to four ad platforms |
| Manual event cleanup in your site and tag manager | Teams with an engineer who will maintain it |
| Turning conversion tracking off | Accounts that cannot risk any event |
When not to use DataCops
- You need legal or compliance advice. DataCops is not legal advice and does not make an ad account compliant. Your own advisers decide what you may send.
- You need a regulated setup with a signed agreement. That is the Enterprise plan: talk to the team.
Sources and further reading
More on this: The full case and recovery guide, and the complete guide to offline conversion tracking.
Check the payload before you build the custom conversion. A neutral name on a dirty event does not help.