Centralizing your tracking in one GTM container

How to run Meta, TikTok, GA4, and Google Ads from a single container across every Listing and campaign

If you are setting up more than one ad platform, or running more than one Listing, do not build tracking over and over. Build it once in a single Google Tag Manager container and reuse it everywhere. This guide is the pattern that ties the individual platform guides together.


1. The idea: one container, one trigger, many tags

Every Pour Now platform guide ends up at the same place: a retailer click needs to fire an event to an ad platform. The retailer click is identical no matter which platform is listening, so you only need to detect it once. That detection is a single trigger, and every platform's tag hangs off it.

So the model is one container per brand, reused across all of that brand's Listings, with one shared trigger inside it feeding Meta, TikTok, GA4, and Google Ads at the same time. You build the hard part once, and adding a platform later is a two-minute job.


2. The architecture

Two layers live in the container.

Foundation tags, firing on All Pages. These load each platform and prepare attribution. You only add the ones you use:

  • Meta Pixel, PageView
  • TikTok Pixel, base
  • GA4 configuration (your Google tag)
  • Google Ads Conversion Linker

One shared trigger, Click - Retailer CTA. This is the hub. It is a Click - All Elements trigger, firing on Some Clicks, with one condition: Click Element matches CSS selector button.bg-dynamic-cta-bg, button.bg-dynamic-cta-bg *. That selector matches every retailer button on any Listing.

Event tags, all firing on that one trigger. Each platform gets one tag:

  • Meta, Lead
  • TikTok, ClickButton
  • GA4, retailer_click
  • Google Ads, Conversion Tracking

That is the whole design. One trigger in the middle, foundation tags above it, platform events below it. Add a platform by adding one event tag to the trigger. Nothing else changes.


3. Set it up once, reuse everywhere

Across Listings. Create one container and copy its ID (it looks like GTM-XXXXXXX). Paste that same ID into the Tracking field of your Listing for the brand (Listings, three dots, Tracking, enable Google Tag Manager). Because the selector is identical on every Listing, the trigger and tags you already built just work, with no per-Listing reconfiguration.

Across campaigns. Your tags do not change per campaign. Point a new campaign at a Listing and the events flow automatically. There is no tracking work to redo when you launch.

Adding a platform later. Add its foundation tag on All Pages and its event tag on Click - Retailer CTA, publish once, and it goes live across every Listing using that container.


4. Best practices and tips

One container per brand, not one per Listing. Reusing a single container ID is what makes everything above true. A container per Listing throws that away and guarantees drift.

Foundation on All Pages, events on the shared trigger. Keep the two layers clean. Loaders and linkers fire on All Pages. Everything that represents the retailer click fires on Click - Retailer CTA, never on its own separate click trigger.

Use a consistent naming convention. Name tags Platform - Purpose, for example Meta - Retailer Click, TikTok - Retailer Click, GA4 - Retailer Click, Google Ads - Retailer Click. Future you, and any agency partner, will thank you.

Pick GTM as your single source. Do not also fill in Pour Now's direct pixel fields for a platform you are running through GTM. Pick one, and pick GTM. Mixing the two is the most common cause of doubled events.

QA every platform in one Preview pass. Open GTM Preview once, click a retailer button, and confirm each platform with its own tool: Meta Pixel Helper and Test Events, TikTok Pixel Helper and Test Event, GA4 DebugView, and Google Tag Assistant. One click should light up all of them.

Publish with discipline. Name each version when you publish. Publishing once propagates to every Listing using the container, so a clean version history is your audit trail.

Do not use Meta's GTM partner integration. It grants Meta edit access to your container and can publish it without warning. Keep the container yours.


5. Why this matters for agencies

If you manage several brands or run campaigns constantly, this pattern turns tracking from recurring work into a one-time setup per brand. A new campaign needs zero tracking changes, just point it at the Listing, using new Links for attribution as desired. And because every platform reads the exact same retailer click, your numbers stay consistent across Meta, TikTok, GA4, and Google Ads instead of drifting apart because each was wired slightly differently.


6. Common pitfalls

Different container IDs across Listings. This is the big one. It produces inconsistent and missing data and undoes the whole benefit. Standardize on one container ID per brand.

A platform tag on its own trigger. If one platform tracks and another does not, the usual cause is an event tag wired to a separate click trigger instead of the shared Click - Retailer CTA. Put every event tag on the one trigger.

Forgetting to publish. Changes sit in the workspace until you publish. If a fix is not showing up across your Listings, you probably have not published the container.

Doubled events. Almost always a platform attached both in Pour Now's direct fields and in GTM, or two containers loading at once. Keep each platform in one place.

Embedded versus Link for Google Ads. Google Ads attribution depends on the gclid reaching the Listing, which is cleanest when ads point at the hosted Link. See the Google Ads guide for the detail.

For the per-platform setup, see the Meta, TikTok, GA4, and Google Ads guides. For help on the Pour Now side, contact help@pour.now.