Clawing Back Inflated POAS Signal On Returns And Refunds

Metricuno
June 1, 2026
6 min read
Clawing Back Inflated POAS Signal On Returns And Refunds — Stop Meta's auction over-learning on high-return cohorts. How to fire negative-value CAPI refund events, sizing, and the attribution window that honors them.
Quick answer

If you bid to POAS on Meta but never tell the platform when orders refund, the auction over-learns on return-heavy cohorts. Here's how to claw the signal back.

Quick answer

Fire a negative-value Purchase event (or a custom Refund event mapped to your Purchase optimization) through the Meta Conversions API within 7 days of the original order, sized to the negative of the margin you originally sent. Meta honors the clawback inside the standard 7-day click attribution window and adjusts the conversion value the auction learned from. After ~7 days the signal is already baked into the learning phase and the clawback only corrects reporting, not bidding.

Definition
Paid acquisition

Refund Clawback for Meta CAPI POAS Signal

Sending negative-value CAPI events when orders refund, so Meta's auction stops over-learning on cohorts that return at 30%+.

Refund clawback is the practice of pushing a negative-valued Purchase event (or a custom event that nets against the original) through the Meta Conversions API whenever an order refunds, charges back, or is partially returned. The value is sized to the margin contribution you originally reported — not the gross order value — so your POAS signal stays honest.

Without it, the auction only ever sees the positive side of revenue and treats apparel SKUs that return at 35%, beauty bundles that refund at 18%, and electronics with 12% chargebacks as if those margins were real. Within the 7-day click attribution window, Meta will write the negative event back against the original conversion. Outside it, the learning phase has already absorbed the inflated signal.

Also known as
Negative-value CAPI event
POAS refund adjustment
Purchase refund event

This page assumes you're already sending margin-adjusted purchase value through Meta CAPI. If you're still sending gross revenue, fix that upstream first — clawback on top of a gross-revenue feed just creates two layers of wrong.

Why the auction over-learns without clawback

Meta's value optimization treats every Purchase event as ground truth at the moment it fires. The bidder builds a model of which audiences, placements, and creative combinations produce high-value conversions — and it weights its budget allocation accordingly within 24-48 hours.

If a Reels audience drives a flood of impulse purchases on a €60 dress, and 38% of those dresses come back in size 12, the auction has already concluded that audience is gold. By the time your warehouse processes the returns three weeks later, the spend pattern is locked in and you're paying premium CPMs to acquire serial returners.

The 7-day cliff

Meta's documentation confirms refund events fired within the 7-day click attribution window will adjust the recorded conversion value. Fire one on day 9 and it shows up in reporting but does NOT retrain the bidder — that order is already in the model. For categories with refund cycles longer than a week (returns processed at warehouse, chargebacks), the clawback is post-hoc bookkeeping, not active correction.

How to detect the inflation

Pull your Meta-reported POAS for the last 30 days alongside your actual net-of-returns POAS from Shopify or your ERP. If Meta says 2.4 and your books say 1.7, the gap is the over-learning premium you're paying. Apparel and footwear typically show a 25-35% gap; beauty and consumables sit at 8-15%; electronics with chargebacks can run 20%+.

The other tell is cohort drift. Segment last quarter's Meta-acquired customers by return rate and compare to organic and email cohorts. If Meta's customers return 1.4-1.8x more often, the auction has been actively selecting for returners — and clawback is the lever that fixes it.

Benchmark

Typical Meta POAS inflation by category when refund clawback is absent

CategoryReturn / refund rateReported POASNet POASInflation gap
Apparel (sized)30-40%2.41.633%
Footwear25-35%2.21.532%
Beauty / skincare8-15%2.82.511%
Consumables / supplements5-10%3.12.96%
Electronics12-20%1.91.521%
Home goods15-25%2.31.822%

How to fire the clawback event

Trigger the event from your refund webhook — Shopify's `refunds/create`, WooCommerce's `woocommerce_order_refunded`, or your Magento order-status hook. Send a Purchase event with the same `event_id` and `event_source_url` as the original order, with `value` set to the negative of the margin you originally reported and the original `currency`.

For partial refunds, send the negative margin proportional to the returned line items, not the order total. A customer returning one of three dresses from a €180 order with 55% blended margin should generate a -€33 event, not -€99. Include the original `fbp` and `fbc` cookies if you stored them, and hash the same customer email so Meta can attribute the negative back to the same conversion.

Custom event vs negative Purchase

Some teams prefer a custom `PurchaseRefund` event over a negative-value `Purchase`. Reporting is cleaner — refunds don't muddy your purchase count — but Meta's bidder only learns from the optimization event you've configured. If you optimize for Purchase value, a custom event doesn't retrain anything unless you also configure value rules. The negative Purchase is uglier in reports but actually moves bidding.

Experiment ideas to validate the lift

Run a 4-week holdout. Enable clawback on one ad account or one campaign group (mirrored creative, budget, targeting) and leave the comparison group sending positive-only signals. Compare net POAS, return rate of Meta-acquired customers, and audience-quality scores in Meta's breakdown by region or placement.

Expect the clawback account to show lower reported POAS in the platform (because Meta is now subtracting refunds it didn't see before) but higher net POAS on your books. The delta between reported and net should compress from 25-35% to under 10% on apparel. If it doesn't, your refund window is exceeding the 7-day attribution and you need a faster returns-processing trigger — not better events.

Frequently asked

Frequently asked questions

Yes. Meta's Conversions API documentation explicitly supports refunds via negative value events with the same event_id as the original Purchase. They're processed against the standard 7-day click / 1-day view attribution window for value adjustment.

It will appear in Ads Manager reporting as a deduction from total conversion value, but it won't retrain the bidder on that conversion — the order is already out of the learning window. You still want to fire it for reporting accuracy and downstream POAS calculation, just don't expect bid-time correction.

Use a negative-value Purchase if you optimize campaigns for Purchase value — that's the only way the bidder learns from refunds. Use a custom event only if you've also configured value rules that map the custom event into your optimization signal, which is more setup than most teams need.

Whichever basis you use for the original Purchase. If you send margin-adjusted purchase value (you should), the refund event should be the negative of that margin contribution. Mixing bases — sending gross on Purchase and margin on refund — gives you the worst of both feeds.

Partial refund: send the negative margin proportional to the returned line items. Exchange for same value: send no event — the net margin to the business hasn't changed. Exchange for higher or lower value: send the delta as a positive or negative event.

Yes — reported ROAS and reported POAS will drop because Meta is now subtracting refunded value it previously counted. This is expected and correct. Net POAS on your books should improve as the auction stops over-allocating to high-return cohorts.

Within 7 days of the original order is the rule that matters for bid-time correction, not 7 days from the refund. For categories where returns are processed 14-30 days post-purchase, you'll miss most of the bidding-correction value and the clawback becomes a reporting tool only.

Mechanically yes, but chargebacks typically land 30-90 days after purchase, far outside the 7-day window. Fire them for reporting and POAS calculation, but expect zero bidder retraining. For high-chargeback categories, the better lever is pre-purchase filtering — not post-hoc clawback.

Yes. Refund events count against your 8 prioritized events per domain under AEM. Most teams give the refund event lower priority than the original Purchase. For iOS attribution, the negative value adjustment still flows through but with the same coarsening AEM applies to all value signals.

Clawback is a prerequisite, not an alternative. POAS bidding on Meta only works if the platform sees both sides of margin — the positive contribution at purchase and the negative at refund. Skipping clawback while bidding to POAS gives you the appearance of margin optimization on a signal the auction can't actually trust.

Track CAC, channels, and funnel conversion in one place

Metricuno connects ad spend, funnel events, and revenue so you can see CAC by channel, cohort, and campaign — without stitching together five tools.