Integration · Attribution and ads measurement

Send in-app purchases to a server-side Google Tag Manager container

RevenueDot posts purchases, trial conversions, renewals and one-time purchases to your server-side Google Tag Manager container as GA4's purchase event, with value, transaction_id and items. Other steps use names like rc_cancellation_event. The container's Measurement Protocol (GA4) client receives them, and your tags forward them to GA4, Google Ads or any other destination.

What teams do with it

  • Send subscription revenue to Google Ads for conversion tracking from one server container.
  • Fan purchases out to GA4 and other tags without changing the app.
  • Reuse the tags your web team already runs in the server container.
  • Keep sandbox purchases in a separate GA4 stream.

What RevenueDot sends

  • Initial purchases, trial conversions, renewals and one-time purchases are sent as purchase with currency (USD), value, transaction_id, coupon, items, is_renewal and is_trial_conversion.
  • Other steps are named like rc_trial_started_event and rc_billing_issue_event. Rename any of them under Event names.
  • The request is a POST to your container's /mp/collect with measurement_id and, if you set one, api_secret.
  • client_id and user_id are the app user id, because an app has no GA browser cookie. event_id is the event id, for deduplication in your tags.
  • GA4 has no negative purchase, so refunds carry no value. Sandbox events are sent only with a Sandbox measurement ID.

Setup

How to connect Google Tag Manager to RevenueDot

  1. 01

    Add the GA4 client

    In Tag Manager, open the server container, then Admin, Container Settings, and copy the server container URL. Add a Measurement Protocol (GA4) client on the path /mp/collect.

  2. 02

    Copy the measurement id

    In GA4, copy the data stream's Measurement ID (it starts with G-). A Measurement Protocol API secret is optional.

  3. 03

    Open the integration

    In RevenueDot, open Integrations in the project sidebar and choose Google Tag Manager.

  4. 04

    Enter the values

    Fill Server container URL and Measurement ID, and optionally Measurement Protocol API secret, Sandbox measurement ID and Sandbox API secret.

  5. 05

    Connect and test

    Pick Sales reporting, click Connect Google Tag Manager, then Send test event and check the container's preview mode.

The Google Tag Manager integration page in the RevenueDot dashboard, with its settings form
Captured from the RevenueDot dashboard with demo data.

How RevenueDot delivers events to your Tag Manager container

  • Timeouts, rate limits (HTTP 429) and server errors (5xx) from your Tag Manager container 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.

FAQ

Google Tag Manager and RevenueDot

Does the Google Tag Manager 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. No attributes are required. RevenueDot uses the app user id as the GA4 client_id and user_id.

Is it the same as RevenueCat's Google Tag Manager integration?

It follows RevenueCat's behavior of sending purchases to a server-side container as GA4 events. Names for non-purchase steps follow the rc_*_event pattern. RevenueCat's version has years of production use behind it. RevenueDot's is newer, so run Send test event and check Tag Manager before you rely on it.

Does it work with a web container?

No. It needs a server-side container, because RevenueDot calls the container's URL from the server.

Which URL do I enter?

The server container URL only, without ? or #. RevenueDot adds /mp/collect and the measurement id itself.

Sources: Google Tag Manager · Send data to a server container · RevenueCat attribution integrations. Google Tag Manager is a trademark of its owner, used to describe compatibility. RevenueDot is not affiliated with or endorsed by it.

Get started

Send Google Tag Manager 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