Integration · Attribution and ads measurement

Send subscription purchases to Meta Ads through the Conversions API

RevenueDot sends trial starts as StartTrial, and purchases, trial conversions and renewals as Subscribe, to your Meta dataset through the Conversions API for app events. One-time purchases arrive as fb_mobile_purchase. Meta matches the customer by $fbAnonId or an advertising id. The app user id, email and phone are sent as SHA-256 hashes.

What teams do with it

  • Optimize Facebook and Instagram campaigns for trial starts and paid subscriptions.
  • Report renewals that happen long after the install.
  • Test events safely in Events Manager's Test Events tab.
  • Send web funnel events to Meta as website events, opt-in.

What RevenueDot sends

  • Trial starts are StartTrial. Purchases, trial conversions and renewals are Subscribe. One-time purchases are fb_mobile_purchase. Rename them under Event names.
  • Each event has action_source: app, event_id set to the event id, custom_data with currency (USD), value and order_id, and partner_agent: revenuedot.
  • user_data has the hashed app user id as external_id, plus madid or anon_id, and hashed em and ph when $email and $phoneNumber are set.
  • Matching needs $fbAnonId or an advertising id ($idfa, $gpsAdId or $amazonAdId). On iOS, $attConsentStatus must be authorized, unless you turn on Send iOS events without ATT consent.
  • Meta takes no negative revenue, so refunds and other steps are not sent. Test events go only with a Test event code.
  • Sandbox events go only to a Sandbox dataset ID with its own token.

Setup

How to connect Meta Ads to RevenueDot

  1. 01

    Get the dataset and token

    In Meta Events Manager, open the dataset linked to your app, copy the Dataset ID and generate a Conversions API access token.

  2. 02

    Set the Meta ids

    In your app, call collectDeviceIdentifiers() and set $fbAnonId with the Meta SDK's anonymous id.

  3. 03

    Open the integration

    In RevenueDot, open Integrations in the project sidebar and choose Meta Ads.

  4. 04

    Enter the values

    Fill Dataset ID and Conversions API access token. Optionally add Sandbox dataset ID, Sandbox access token and a Test event code.

  5. 05

    Connect and test

    Pick Sales reporting, click Connect Meta Ads, then Send test event and watch the Test Events tab.

The Meta Ads integration page in the RevenueDot dashboard, with its settings form
Captured from the RevenueDot dashboard with demo data.

How RevenueDot delivers events to Meta

  • Timeouts, rate limits (HTTP 429) and server errors (5xx) from Meta retry on the webhook schedule: after 5, 10, 20, 40 and 80 minutes.
  • Any other 4xx answer fails at once, because sending the same request again cannot work. Fix the setting, then click Replay failed.
  • The delivery log keeps each request with every secret replaced by [redacted], the answer, the time taken and, for skipped events, the reason.
  • Credentials are sealed with AES-256-GCM on the server. After you save a key, the dashboard shows only its last four characters.
  • Turn off automatic purchase logging in the Meta SDK, so the same purchase is not counted twice.

FAQ

Meta Ads and RevenueDot

Does the Meta Ads integration work with the RevenueCat SDK?

Yes. RevenueDot speaks the RevenueCat SDK protocol, so your app keeps the RevenueCat SDK and only the server address changes. Call collectDeviceIdentifiers() and set $fbAnonId in the app, so Meta can match the purchase to the ad click.

Is it the same as RevenueCat's Meta integration?

It follows RevenueCat's behavior: StartTrial, Subscribe and fb_mobile_purchase, the same $fbAnonId and $attConsentStatus attributes, and hashed user data. RevenueCat's version has years of production use behind it. RevenueDot's is newer, so run Send test event and check Meta before you rely on it.

Why does iOS skip some events?

On iOS, RevenueDot sends an event only when $attConsentStatus is authorized. You can turn on Send iOS events without ATT consent if your own privacy review allows it.

Will test events count as real conversions?

No. RevenueDot sends a test event only when you save a Test event code, so it shows in Events Manager's Test Events tab and never counts toward ad delivery.

Sources: Meta Ads · Meta Conversions API for app events · RevenueCat attribution integrations. Meta Ads is a trademark of its owner, used to describe compatibility. RevenueDot is not affiliated with or endorsed by it.

Get started

Send Meta Ads every subscription event.

Start free on RevenueDot Cloud, free up to $10,000 a month in tracked revenue. Integrations are included on every plan.

Already have an account? Sign in · Prefer your own servers? Self-host free