JHLet's talk
← Tools & resources

A PRACTICAL IMPLEMENTATION GUIDE

Cross-domain
tracking.
Follow the journey.

Connect product sites to checkout with a clearer plan for GA4, advertising signals and purchase events.

Read the guide ↓

FROM FIRST VISIT TO CHECKOUT

THE PRODUCT SITEproduct.example
Same journey. Shared measurement. ↓
THE CHECKOUTcheckout.example
Campaign → Visit → OrderKeep the context.
Six stages, from setup to validation.GA4 · Google Ads · Meta Pixel

01 / BEFORE YOU START

A shared journey.
A shared measurement plan.

When a visitor leaves a product site to pay on another domain, the measurement needs to follow that journey.

This guide outlines a setup for GA4, Google Ads and Meta Pixel, with a separate purchase event from the checkout. The examples use product.example and checkout.example. Replace these with domains you control.

Analytics & tag accessGA4 editing permissions and publishing access to the relevant tag containers.
Checkout & test ordersAccess to your checkout integration, payment sandbox and order records.
Advertising accountsAccess to the Google Ads and Meta accounts used by your business.
Consent settingsA consent setup that governs tags and any browser storage you use.
Implementation blueprint

This is an adapted planning guide, not a production-validated installation. Verify the checkout integration and test in your own environment before rollout.

02 / CONNECT THE DOMAINS

Keep the visitor’s journey together.

For a shared measurement view, use the same Google tag ID from the same GA4 web stream on the relevant domains.

  1. Choose or create the GA4 property and web stream for the shared journey.
  2. Install its Google tag through your existing tag manager or site integration. Check existing installations to avoid duplicate events.
  3. In the stream’s tag settings, configure the product and checkout domains for cross-domain measurement.
  4. Follow a link between the sites and confirm that the destination receives the _gl parameter. Check that redirects preserve it.
  5. Review payment-provider referrals and add unwanted referrals where needed.

Existing product properties can remain separate. Decide which events belong in each property before adding another tag.

Google’s cross-domain setup guide

03 / CAMPAIGN CONTEXT

Separate campaign context
from session linking.

Google’s linker and your own campaign reporting solve different problems. A custom UTM handoff should have a defined purpose, storage policy and consent rules.

  • Document whether your own reporting uses the first touch, last touch or another rule.
  • Use an explicit allowlist of destination domains before modifying links.
  • Set expiry and deletion behaviour for any stored campaign values.
  • Handle consent changes before reading or writing marketing-related storage.
Design the consent handling first

Connect campaign persistence to your consent system. Read and write marketing-related storage only when the required consent is granted.

04 / PURCHASE EVENTS

Send the order.
Then verify the numbers.

Use a confirmed order from your checkout as the source of the purchase event. Map its transaction ID, value, currency and line items into the event payload.

Illustrative data layer / fictional order
window.dataLayer = window.dataLayer || [];
dataLayer.push({
  event: 'purchase',
  transaction_id: 'DEMO-1001',
  value: 49.00,
  currency: 'USD',
  items: [{
    item_id: 'DEMO-PRODUCT',
    item_name: 'Example product',
    price: 49.00,
    quantity: 1
  }]
});

Example values only. Connect real order data through a verified checkout integration.

Wire the event in your tag manager

  1. Create data layer variables for the order fields.
  2. Create a Custom Event trigger for purchase.
  3. Configure the GA4 purchase event with the matching parameters and destination.
  4. Test event timing, currency units, order value and item quantities against the order record.
Using FluentCart or another WordPress checkout?

Verify the receipt hook, field names, payment-state checks and minor currency units against the installed version. Use a checkout integration that has been tested with your installed version before sending production purchase events.

05 / ADVERTISING & DEDUPLICATION

Give each platform
a clear conversion signal.

Google Ads

Link the intended GA4 property, enable the appropriate click tracking and choose your purchase conversion source. Review which conversion actions are primary so one sale is not counted through competing implementations.

Meta Pixel

Use the intended business dataset and send purchase value and currency from the same verified order data. If browser and server events are both sent, validate the matching event identifiers and deduplication behaviour.

Audit the existing configuration before removing tags or changing a conversion used for bidding.

What this setup cannot guarantee

Consent, browser restrictions, redirects and delayed payments can affect measurement. Multi-day journeys need a defined attribution strategy. Server-side delivery does not override consent requirements.

06 / TEST & ROLL OUT

Check the journey
before the dashboard.

Start with one product-to-checkout route and sandbox orders. Keep the test results alongside your implementation notes.

Expand gradually

Validate the first route, document the configuration, then add the remaining sites. Monitor event counts against actual orders after each rollout.

Keep the guide current

Record your tag configuration, checkout version and testing date. Recheck the integration when your checkout or tagging setup changes.

Google’s consent modeling requirements

Built around the work.

Explore the campaigns and tools behind my marketing practice.

See my tools & systems