Skip to main content

Meta Conversion API & Stripe Event Mappings

A
Written by Alexander Karpovich
Updated over a week ago

Event Mapping

We send all Stripe events to the Meta Pixel as custom events. In addition, certain Stripe events are mapped to standard Meta Pixel events to improve campaign optimization.

Stripe → Meta Pixel Event Mapping:

Stripe Event

Meta Pixel Event

customer.subscription.created (trialing)

StartTrial

customer.subscription.created (active)

Subscribe

customer.subscription.updated (trial → active)

Subscribe

invoice.paid

Purchase

payment_intent.succeeded (no invoice)

Purchase

By sending these events, Meta’s algorithms receive the correct signals to optimize ad delivery for conversions, subscriptions, and purchases.


Value and Currency Handling

Both value (amount) and currency are automatically included in Purchase and StartTrial events. These values come directly from the Stripe event to ensure accuracy. The system uses a fallback approach to determine the correct amount, checking multiple Stripe fields in sequence:

Stripe Field Used

When It Applies

price.unit_amount

For subscription items

amount_total

From Checkout Sessions

invoice.amount_paid

From invoices

amount_received

From successful payments

amount_paid

Final fallback if other fields are missing


Additional Notes

  • Amounts are converted from cents to decimals (e.g., 2999 → 29.99).

  • The currency is forwarded exactly as received from Stripe (e.g., "usd", "eur").

  • No manual overrides are applied — the value is always derived from Stripe’s data.

  • If Stripe provides an amount (e.g., from a price object or Checkout Session), we forward it, even for free trials.

  • If no value exists in the Stripe event (such as a completely free trial with no price), the value field is omitted entirely.

Did this answer your question?