Documentation

Implementing the MX8 Labs Pixel in Google Campaign Manager 360

Deploy the MX8 Labs pixel in Google Campaign Manager 360 (CM360) as an impression event tag. When the tag fires and MX8 Labs accepts the request, an exposure event is recorded in your exposure source. Event-tag delivery depends on the placement format, publisher, and browser; it does not guarantee an exposure record for every served impression.

Before you begin
  • Create your pixel exposure source and copy the Pixel Example URL from the exposure source detail view. See Creating a Pixel Exposure Source if you haven't done this yet.
  • Know which CM360 value should populate each dimension you defined on the source. For example, if your source has a brand dimension, decide whether that value is constant for the campaign or should come from a CM360 macro.
  • Confirm you have CM360 access with permission to create event tags at the advertiser or campaign level.
  • Confirm the publisher uses a supported placement tag: JavaScript, iframe, or pre-fetch. Standard placement tags do not support event tags. For in-stream audio, video, and VPAID, the publisher must fire the tracking URL supplied in the pre-fetch tag. See Google's event tag compatibility guidance.

The MX8 Labs endpoint returns a transparent GIF over HTTPS. Choose an Image impression event tag; no custom JavaScript is needed for the pixel itself.

Step 1 - Build the tag URL

Start from the Pixel Example URL you copied from the exposure source screen—always use that exact URL rather than constructing one by hand. Each dimension appears as a query parameter with a placeholder value, for example:

https://<your-pixel-url>?brand={brand}&campaign={campaign}

Replace each placeholder with either a fixed value (e.g., brand=acme) or a CM360 macro that expands at serve time. These mappings are documented in Google's CM360 macro reference:

CM360 macroExpands to
%ebuy!Campaign ID
%epid!Placement ID
%esid!Site ID
%eaid!Ad ID
%ecid!Creative ID
%eadv!Advertiser ID
%nRandom number (cache buster)

If the source has brand, campaign, and placement configured as dimensions, a completed URL might look like:

https://<your-pixel-url>?brand=acme&campaign=%ebuy!&placement=%epid!&cb=%n

Configure every dimension you want to aggregate on the exposure source. Adding placement=%epid! to the URL alone does not create a reporting dimension. Extra query parameters are retained for debugging, but only configured dimensions are aggregated.

Add a cache buster. Append &cb=%n to a URL that already has query parameters. CM360 replaces %n with a random number to avoid cached requests. MX8 Labs also returns Cache-Control: no-store, private. The cb parameter does not need to be a configured dimension.

Omit uid by default. Remove &uid={uid} unless you have agreed and tested a usable user identifier for this integration. MX8 Labs supports IP-based matching without a supplied UID.

Do not substitute %m as a general-purpose user-ID default. Google documents an advertiser-encrypted identifier, with 0 returned when cookies are disabled or opted out and additional regional restrictions. Although its support table includes impression event tags, the detailed explanation focuses on click-time behavior. Verify the values from actual served impressions before using it. MX8 Labs currently accepts uid=0 as a supplied identifier rather than treating it as missing.

Step 2 - Create the impression event tag
  1. For a single campaign, go to All campaigns, select the campaign, and open Properties → Event tags → Impression event tags → Campaign tags. For use across campaigns, go to All advertisers, select the advertiser, and use Properties → Event tags → Impression event tags → Advertiser tags.
  2. Create a new impression event tag and give it a clear name, e.g., MX8 Labs Exposure Pixel - Acme Brand Lift.
  3. Paste your tag URL into the Tag URL field. CM360 detects the key-value pairs and lets you review them.
  4. Set the tag type to Image.
  5. Check the SSL field shows Compliant. If it does not, check that the URL still uses the HTTPS endpoint copied from MX8 Labs. See Google's SSL troubleshooting.
  6. Leave the tag enabled and save.
Step 3 - Apply the tag to your ads

Under the tag's application settings, choose how it deploys:

  • Automatic - Applies the tag to all ads in its advertiser or campaign scope by default, subject to overrides and delivery restrictions. For a campaign-wide study, create the tag at campaign level.
  • Manual - Applies the tag nowhere by default. Use campaign or ad event-tag overrides to apply it to the selected ads. This suits studies covering only part of a campaign.

Check the ads' applied event tags and any creative-assignment overrides before launch. See Google's event-tag application instructions.

Step 4 - Verify the integration
  1. Test an actual served placement carrying the event tag. A creative preview alone does not establish that the integration works in the publisher's delivery environment.
  2. For a browser-served test, use the browser's network tools to confirm a request reaches the MX8 Labs pixel URL, the CM360 macros expand to the expected IDs, and the response succeeds. A successful pixel request returns HTTP 200 with image/gif content.
  3. Open the exposure source in MX8 Labs and find Recent Exposures. Select No filtering or, when testing from the same public IP, Filter by this IP address. The panel does not fetch records until you select a filter.
  4. Confirm the timestamp and configured dimension values match your test. If you included a UID, check that it is a usable identifier rather than 0 or an unresolved placeholder. See Verifying Exposure Data (Recent Exposures) for details.

Tip: If Recent Exposures shows literal values like %ebuy! or {brand}, the macro wasn't expanded—check that you used the exact CM360 macro syntax (including the trailing ! on expand macros) and that the tag was saved as an impression event tag, not pasted into a creative field that doesn't process macros.

Limitations and notes
  • URL length: Google's event tag guidelines specify a 500-character limit per event-tag URL. Its setup instructions separately restrict combined survey URLs on in-stream and VPAID creatives to 2,048 characters and prohibit parentheses in those survey URLs. Those survey-specific restrictions should not be applied to the MX8 Labs impression pixel. Google's setup page also says impression pixel URLs have no character limit, which conflicts with the general guidance; keep the entered URL within 500 characters and confirm with CM360 support if you need a longer one.
  • In-app inventory: Verify that the request reaches MX8 Labs with an IP suitable for matching. A successful pixel fire does not guarantee a respondent match; proxies and server-side delivery can change the originating IP. See IP Address Hygiene and Exposure Matching.
  • Site filters: CM360 supports allowing or blocking up to 500 sites per event tag. See Google's event-tag setup instructions.
What's next

With exposures flowing, review delivery volumes over time in the Exposure Source Delivery Report.