# Installing Trackingplan for the GA4 Measurement Protocol Docs

DocsMeasurement Protocol

[All docs](/docs)

Get Started

-   [Overview](/docs/overview)
-   [How It Works](/docs/how-it-works)
-   [Your First Plan](/docs/your-first-plan)
-   [Post-Install Warm-Up](/docs/post-install-warm-up)
-   [Multi Account Management](/docs/multi-account-management)

Install

-   [Installing Trackingplan](/docs/installing-trackingplan)
    -   [For Websites](/docs/installing-trackingplan/installing-trackingplan-on-your-websites)
    -   [CDN](/docs/installing-trackingplan/cdn)
    -   [AEP](/docs/installing-trackingplan/adobe-experience-platform)
    -   [Webhooks](/docs/installing-trackingplan/installing-trackingplan-using-webhooks)
    -   [For Apps](/docs/installing-trackingplan/installing-trackingplan-in-your-apps)
    -   [For ssGTM](/docs/installing-trackingplan/for-ssgtm)
    -   [Measurement Protocol](/docs/installing-trackingplan/measurement-protocol)
-   [Environments](/docs/environments)
-   [SDK Update](/docs/sdk-update)

The Agent

-   [Threads](/docs/threads)
-   [Reports](/docs/reports)
-   [Audits](/docs/audits)

Use Cases

-   [Investigate a Warning](/docs/debug-warnings)
-   [For Analytics Teams](/docs/analytics-use-cases)
-   [For Performance & Paid Media](/docs/paid-media-use-cases)
-   [For Compliance & Legal](/docs/compliance-use-cases)
-   [For Agencies & Consultancies](/docs/agency-use-cases)

Monitoring

-   [Warnings & Updates](/docs/warning-and-updates)
-   [Data Validation](/docs/data-validation)
-   [Data Layer Monitoring](/docs/data-layer-monitoring)
-   [Consent & Cookie Monitoring](/docs/consent-and-cookie-monitoring)
-   [Privacy Monitoring](/docs/data-privacy-monitoring)
-   [Pixel Monitoring](/docs/pixels-presence-monitoring)
-   [Naming Conventions Monitoring](/docs/naming-conventions-monitoring)
-   [Releases & GTM Monitoring](/docs/autodiscover-releases)

Explore

-   [Explore](/docs/explore)
    -   [Health Summary](/docs/health-summary)
    -   [Data Explorer](/docs/data-explorer)
    -   [Tracks Explorer](/docs/tracks-explorer)
    -   [Presence Map](/docs/presence-map)
    -   [Advanced Views](/docs/advanced-views)
    -   [Session Finder](/docs/session-finder)
-   [Filters & Data Segmentation](/docs/attribution)
-   [Tags](/docs/tags)
-   [Notes & Labels](/docs/notes-labels)
-   [Starred Items](/docs/starred-items)
-   [Sharing](/docs/sharing)

Your Trackingplan

-   [Destinations](/docs/destinations)
    -   [Split Destinations](/docs/split-destinations)
    -   [Events](/docs/events)
    -   [Properties](/docs/properties)
    -   [Attributes](/docs/user-attributes)
    -   [Pages](/docs/pages)
-   [Compliance](/docs/compliance)
    -   [Privacy](/docs/privacy)
    -   [Consent](/docs/consent)
-   [Platform](/docs/platform)
    -   [Daily Checks](/docs/daily-checks)
    -   [Vitals](/docs/platform-metrics)
-   [Acquisition](/docs/acquisition)

Connect

-   [Slack](/docs/slack)
-   [MCP Endpoint](/docs/mcp-endpoint)
-   [Ad Platforms](/docs/ad-platforms)
-   [Trackingplan Exploration API](/docs/trackingplan-exploration-api)
-   [Trackingplan Export API](/docs/trackingplan-export-api)
-   [Data Studio Connector](/docs/trackingplan-connector-for-data-studio)
-   [Chrome Extension](/docs/trackingplans-chrome-extension)
-   [Omnibug Extension](/docs/trackingplan-omnibug-extension)

Account & Security

-   [Settings & Members](/docs/settings)
-   [Privacy & Security](/docs/privacy-and-security)
-   [JSON Export/Import](/docs/export-import-json-schemas)

[Install](/docs) Updated November 2, 2026

# Installing Trackingplan for the GA4 Measurement Protocol

Monitor the GA4 Measurement Protocol hits your servers send to Google, through your server-side GTM container or a copy sent to your webhook.

> Trackingplan monitors the **GA4 Measurement Protocol** hits your servers send to Google. You can install it in two ways: through your [server-side GTM container](/docs/installing-trackingplan/for-ssgtm), or by sending a copy of each request to your ** Trackingplan webhook**.

These hits never pass through a browser, so the web snippet and the app SDKs do not see them. Pick the method that matches how your backend sends them.

## Choose your method

| Your backend sends Measurement Protocol hits… | Use |
| --- | --- |
| to your server-side GTM container | [Server-side GTM](#through-server-side-gtm) |
| straight to `google-analytics.com/mp/collect` | [Webhook](#through-the-webhook) |

## Through server-side GTM

If your Measurement Protocol hits go through a server-side GTM container, install Trackingplan in that container. Follow [Installing Trackingplan for ssGTM](/docs/installing-trackingplan/for-ssgtm): it covers the Trackingplan tag, the snippet for the tags you want to monitor, custom domains and how to check it in preview mode.

## Through the webhook

If your backend sends its hits straight to Google, it also sends a copy of each request to your Trackingplan webhook. Trackingplan identifies which destination sent the data and routes it through the right parser.

1.  Open your install page, `https://app.trackingplan.com/plans/YOUR_TP_ID/install`, and copy your webhook URL. [Webhooks](/docs/installing-trackingplan/installing-trackingplan-using-webhooks) shows where it is.
2.  In your backend, find the code that sends each request to `https://www.google-analytics.com/mp/collect`.
3.  After that request, send a copy of it to your webhook URL: the same query string and the same JSON body.
4.  Deploy the change.

For example, in Node.js:

```js
const query = `?measurement_id=${MEASUREMENT_ID}&api_secret=${API_SECRET}`;
const body = JSON.stringify(payload);
const options = { method: 'POST', headers: { 'Content-Type': 'application/json' }, body };

await fetch('https://www.google-analytics.com/mp/collect' + query, options);

// the copy for Trackingplan: never let it block or break the request to Google
fetch(TRACKINGPLAN_WEBHOOK_URL + query, options).catch(() => {});
```

Send the copy after the request to Google, and do not wait for its answer. If the webhook is unreachable, your hits still reach GA4.

## Check that it works

Send a test event from your backend. Then open [Destinations](/docs/destinations): your Measurement Protocol hits appear there as one more destination, with their events and properties.

Questions or problems along the way? [Contact support](mailto:support@trackingplan.com).

[← Previous**Installing Trackingplan for ssGTM**](/docs/installing-trackingplan/for-ssgtm) [Next →** Environments**](/docs/environments)

Was this useful? Write to [support@trackingplan.com](mailto:support@trackingplan.com)

On this page

1.  [*01*Choose your method](#choose-your-method)
2.  [*02*Through server-side GTM](#through-server-side-gtm)
3.  [*03*Through the webhook](#through-the-webhook)
4.  [*04*Check that it works](#check-that-it-works)
