Meta Conversions API setup for Recharge
The Meta build on Recharge lives or dies on two things: a shared event ID between the pixel and the Conversions API so a subscription is not counted twice, and a deliberate decision to keep renewals out of the Purchase event. Sending every renewal as a Purchase inflates reported return by the entire size of your subscriber base, and the error compounds every month.
Free30 minutesNo obligation
Recharge + Meta CAPI · what breaks
What goes wrong on Recharge
- 01
Renewals invisible to every ad platform
They happen on a cron, with no customer present. Nothing that fires from a page can see them, and no amount of pixel work changes that.
- 02
The first order double-counted
Recharge creates a Shopify order, so the store's native integration and a Recharge-aware setup can both fire for the same purchase.
- 03
Churn never reversed
A subscription that cancels stops producing revenue, and almost nobody wires the cancellation back to anywhere.
- 04
Acquisition valued at one box
A subscriber worth twelve shipments optimized as though they were a single-purchase customer.
Recharge + Meta CAPI · the fix
What changes — Recharge + Meta CAPI
Acquisition and recurring revenue separated
One is what you bid on; the other is what you report. Conflating them is the standard mistake.
First order sent once, at lifetime value
Deduplicated on the Shopify order ID, valued at expected subscriber lifetime rather than one shipment.
Cancellations reversed
So reported subscriber value can go down, which is the only way it stays honest.
Recharge + Meta CAPI · architecture
How Meta tracking behaves on Recharge
The Meta destination on a Recharge store.
- 1
One Purchase per acquisition
With an event_id shared between the pixel and the Conversions API, or every subscription counts twice.
- 2
Customer data normalized before hashing
Recharge holds a clean email; normalization before hashing is where match quality is usually lost.
- 3
Renewals as a custom event, not Purchase
Sending renewals as Purchase inflates reported ROAS by your entire subscriber base.
- 4
Refunds and cancellations reversed
Both exist as webhooks and both are usually ignored.
- 5
Value set to expected lifetime
So Meta optimizes toward subscribers who stay rather than whoever converts cheapest.
Recharge + Meta CAPI · diagnose
Where Recharge tracking breaks, in diagnostic order
Each check rules out a class of cause, so by the last one there is usually a single explanation standing.
- 01
Compare Recharge revenue against reported revenue for a closed month
The gap is your renewal blind spot and it is usually the largest discrepancy in the business.
- 02
Check whether a subscription carries a click identifier
If the identifier is on the order and not the subscription, renewals can never be attributed.
- 03
Look for double counting on the first order
Recharge creates a Shopify order, and your store integration probably already fires on it.
- 04
Check whether cancellation does anything at all
Almost never wired, and it means reported subscriber value only ever rises.
- 05
Ask what the renewal number is for
Reporting and bidding need different answers, and conflating them is the real mistake under the technical one.
Recharge + Meta CAPI · prove
The QA evidence — Recharge + Meta CAPI
Run on Recharge specifically, on a live conversion rather than in preview mode.
Source of truth
Recharge's own subscription and order records, cross-checked against the Shopify orders they create
- A test subscription created, with exactly one conversion firing and the identifier confirmed on the subscription rather than the order.
- A renewal processed and confirmed to land wherever the written policy says it should — and nowhere else.
- A cancellation confirmed to reverse at each destination that accepts one.
- Recharge revenue reconciled against reported revenue for a fully closed month, with acquisition and recurring separated.
- The lifetime value model shown as a calculation from your own churn data, not asserted.
- Reconciled over a fully closed window, matched per record rather than on totals.
- Re-checked 30 days later, and after any platform update.
Recharge + Meta CAPI · free audit
What we check in the free audit
- Compare Recharge revenue against reported revenue for a closed month
- Check whether a subscription carries a click identifier
- Look for double counting on the first order
- Check whether cancellation does anything at all
- Ask what the renewal number is for
Checked against
Recharge's own subscription and order records, cross-checked against the Shopify orders they create
Free30 minutesNo obligation
Recharge + Meta CAPI · when not to buy
When you don't need this on Recharge
Worth reading before you buy anything, from us or anyone.
- If you sell one-off products with a small subscription tail, the store's native integration may already be adequate. Measure the recurring share first.
- If your churn data is too young to model lifetime value, say so and use a conservative figure rather than an invented one.
- If Recharge revenue and reported revenue already agree within a few percent, this is working and there is nothing to buy.
- If you are not running paid media at meaningful spend, the reporting fix matters and the ad-platform work does not.
Recharge + Meta CAPI · what we deliver
What gets built for Meta on Recharge
A shared event ID on both paths
the Shopify order ID from the Recharge charge
Standard event names, exactly cased
Meta matches on name and ID together, so a case difference alone produces two events.
Customer data normalized then hashed
Lowercase and trimmed email, phone in E.164. This is where nearly every low match quality score comes from.
fbc and fbp forwarded from the browser
fbc only exists if fbclid was captured on landing — a very common gap.
Written guarantee
95%+ tracking accuracy
Measured against Recharge's own subscription and order records, cross-checked against the Shopify orders they create. Miss it and we keep working at no cost.
Pricing
Pick the package that fits your ad spend
Browser-side starter
$400One-time fee · lifetime ownership
Repairs and verifies the browser-side setup you already have, on a live conversion. Honest about its ceiling on this platform.
- Root cause fixed, not worked around
- Verified on a live conversion
- Reconciled against your own records
- Written handover
1st-party server-side
Recommended$800One-time fee · most popular
Money events sent from your own records through a first-party container on your subdomain, so the browser can no longer lose them.
- First-party server container on your own subdomain
- Money events from your records, not the browser
- Deduplicated on a shared event ID at every destination
- First-party cookies beyond Safari's 7-day cap
- 95%+ accuracy and 8+ Meta EMQ, guaranteed in writing
Full 1st-party stack
$1,800One-time fee · lifetime ownership
Every paid channel server-side plus the offline loop, with monitoring so the next break surfaces in days.
- Everything in 1st-party server-side
- Pinterest, Snapchat, Reddit and LinkedIn CAPI
- CRM and offline conversion loop
- Refunds and cancellations corrected wherever each platform allows it
- Monitoring on every destination
FAQ
Recharge + Meta CAPI questions, answered
Because Meta will count them as conversions and your reported ROAS will include revenue from customers acquired years ago. On a subscription business with good retention this can make campaigns look several times better than they are, and the error grows every month.
One shared event_id between the pixel and the Conversions API, derived from the Shopify order ID. Then check the deduplication indicator in Events Manager on a real subscription rather than assuming it worked.
Recharge holds a confirmed email and usually a phone and address, which is better customer data than most checkouts produce. The gains come from normalizing before hashing — lowercasing, trimming, stripping formatting — which is invisible unless you check it.
Yes if you sent lifetime value at acquisition, because that value has now proven wrong. A cancellation webhook exists and wiring it is a small piece of work that keeps the whole model honest.
Free · 30 min
Get Pixel and CAPI counting once on Recharge
Free30 minutesNo obligation
