Integrations
Google Tag Manager (server-side)
Send clicks and conversions to your server-side GTM container as GA4 Measurement Protocol hits.
The Google Tag Manager integration sends every recorded Letlink click, and every approved conversion, to your own server-side GTM container as a GA4 Measurement Protocol hit. Once the event is in your tagging server, any tag in the container can act on it — GA4, Google Ads, Meta, a data warehouse — so you configure destinations once in GTM instead of once per tool. Available on Growth and Ultimate.
What you need
- A running server-side container with its own HTTPS address, for example
https://gtm.example.com. - A Measurement Protocol client in that container. GTM does not add one by default.
- The Measurement ID (
G-…) of the GA4 web stream the container forwards to.
Prepare the container
- In your server container, open Clients → New and choose the Measurement Protocol client type.
- Set the Activation Path to
/mp/collect(or any path you prefer — you will enter the same path in Letlink) and save. - Add or reuse a Google Analytics: GA4 tag triggered by that client, plus any other tags you want the events to reach, then Submit the container.
Connect it to Letlink
- Open Integrations → Google Tag Manager (server-side). Owners and admins only.
- Enter the tagging server URL (no path), the Measurement ID and, if you changed it, the client path.
- The API secret is optional. Paste your GA4 Measurement Protocol secret if your GA4 tag forwards hits to Google with it.
- Save and press Send test event, then watch the request arrive in the container's Preview mode.
What we send
A POST to <tagging server><path>?measurement_id=G-… with a standard GA4 Measurement Protocol body. client_id is the same device fingerprint the dashboard uses, and the visitor's country goes in user_location when known.
| Letlink event | GA4 event | Extra parameters |
|---|---|---|
| Click | link_click |
short_code, link_type, variation, destination_url, UTM values, click_id |
| Sale | purchase |
transaction_id (your order ID), value, currency |
| Lead | generate_lead |
value, currency when sent |
| Sign-up | sign_up |
method = short_link |
| Custom | Your event name, cleaned to GA4 rules | value, currency when sent |
Every conversion also carries conversion_id (conv-<id>) and the click_id of the click it came from, so you can join them in BigQuery or deduplicate in your tags.
Nothing is arriving — what should I check?
- The tagging server URL must be HTTPS and reachable from the internet. A
404usually means no client claimed the path: check the Measurement Protocol client's activation path. - Preview mode only shows requests while it is open. Send the test event after opening it.
- Conversions are always sent to this integration, even when the workspace does not forward conversions to the ad platforms.