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.
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.
- Choose or create the GA4 property and web stream for the shared journey.
- Install its Google tag through your existing tag manager or site integration. Check existing installations to avoid duplicate events.
- In the stream’s tag settings, configure the product and checkout domains for cross-domain measurement.
- Follow a link between the sites and confirm that the destination receives the
_glparameter. Check that redirects preserve it. - 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.
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.
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.
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
- Create data layer variables for the order fields.
- Create a Custom Event trigger for
purchase. - Configure the GA4 purchase event with the matching parameters and destination.
- 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.
Record your tag configuration, checkout version and testing date. Recheck the integration when your checkout or tagging setup changes.
Let's talk