---
title: "Product journey map for Shopping and Performance Max"
description: "A product journey map for Shopping and Performance Max links the product clicked in an ad to the products bought, and shows the contribution behind it."
canonical: "https://www.productmetrics.io/blog/product-journey-map"
pageType: article
language: en
publisher: "Product Metrics"
author: "Berend Vrakking"
datePublished: 2026-10-19
dateModified: 2026-10-23
image: "https://www.productmetrics.io/og/blog/product-journey-map.png"
---

> Content index: https://www.productmetrics.io/llms.txt

# Product journey map for Shopping and Performance Max

## Key takeaways

- A product journey map connects the entry product from an ad click with subsequent product interactions and purchased order lines. Keep entry and purchased identifiers separate.
- Count a downstream order once, even when it contains several products. A connected path shows an observed relationship, not proof that the entry product caused the purchase.
- Review downstream contribution, advertising cost and stock before increasing or lowering a product's priority. Do not judge an entry product only by sales of that same item.

A **product journey map** connects the product that attracted an ad click with the products the shopper later viewed and bought. For Shopping and [Performance Max](https://www.productmetrics.io/glossary/performance-max "Performance Max is a goal-based Google Ads campaign type that uses automation to reach customers across Google advertising channels."), it answers a practical question: does this product sell itself, introduce purchases of other products, or do both?

In the illustrative example below, a tee that sells little on its own opens 20 orders worth €680.00 of contribution, most of it from a coat.

## How do you separate the entry product from the purchased product?

Keep the originally clicked product alongside the purchased order lines. Replacing the entry identifier when someone changes products hides the relationship you are trying to understand.

For example, a shopper clicks a tee ad, views a coat and buys the coat. The tee is the entry product; the coat is the purchased product. Recording only tee sales understates what happened after entry. Recording a tee purchase would be incorrect.

| Record | Product or identifier | What it establishes |
| --- | --- | --- |
| Ad entry | Tee SKU | Which advertised product introduced this observed path |
| Product interaction | Coat SKU | Which other product the shopper considered |
| Purchase | Order ID plus coat order line | What was bought, with quantity and value |
| Refund | Original order and order line | Which purchase outcome changed later |

Google's [ecommerce measurement guidance](https://support.google.com/analytics/answer/13428834?hl=en) distinguishes event-level and item-level metrics. Treat the event and its individual products as different levels of information when reconciling a journey.

Use stable product identifiers, with an explicit mapping where the feed and shop use different IDs. A title is a poor join key: wording can change, and variants can share similar names.

## How do you count orders without losing basket detail?

Use mutually exclusive order groups when describing purchase outcomes. An order containing both the tee and coat belongs in one combined group, rather than appearing as two separate orders.

In this illustrative cohort, all 20 orders followed entry through the tee. Five contained only the tee, 12 only the coat, and three contained both. This is an order breakdown, not a conversion rate: we have not specified the number of entry visits.

**Figure: The entry product is not always the purchased product.** In this example, 12 of 20 orders contain only a coat after a shopper entered through the tee. Counting only tee purchases misses those orders.

![Bar chart of 20 orders from shoppers who entered through a tee, illustrative data: 5 contain only a tee, 12 only a coat and 3 both.](https://www.productmetrics.io/images/blog/product-journey-map/entry-outcomes.png)

| Purchased order contents | Orders |
| --- | --- |
| Tee only | 5 |
| Coat only | 12 |
| Tee and coat | 3 |

_Source: Illustrative data. Twenty distinct orders from the same example entry-product cohort._

The tee appears in eight orders, and the coat in 15, but there are still only 20 distinct orders. Summing product-presence counts gives 23 because three baskets contain both items.

When calculating a rate, state the denominator and observation window. “Orders per eligible entry visit” and “share of orders containing the coat” answer different questions. Keep unmatched and still-open journeys visible rather than treating every missing purchase as a confirmed abandonment.

## What is a product journey worth in contribution?

Judge the entry product against the economics of the connected orders, while keeping each order's contribution counted once. Revenue alone cannot show what remains after product and other variable costs.

Assume these same 20 orders produce the following amounts, excluding VAT. Contribution here is net revenue after refunds, less product costs and other variable order costs, before advertising and fixed overhead.

| Order group | Orders | Contribution per order | Total contribution before ads |
| --- | --- | --- | --- |
| Tee only | 5 | €10.00 | €50.00 |
| Coat only | 12 | €40.00 | €480.00 |
| Tee and coat | 3 | €50.00 | €150.00 |

**Illustrative data:** total contribution is €680.00. If advertising for the same eligible entry cohort costs €400.00, the observed contribution after ads is €280.00, before fixed overhead. The calculation is €680.00 − €400.00.

That result describes the cohort under these assumptions. It does not prove that removing the tee's advertising would remove €680.00 of contribution. Some shoppers may have bought anyway; [incrementality testing](https://www.productmetrics.io/blog/incrementality-testing) addresses that different question.

For targets, start with the [break-even ROAS calculator](https://www.productmetrics.io/break-even-roas-calculator) and one contribution-margin definition. Don't apply one product's margin to revenue earned by a different basket.

[Break-even ROAS](https://www.productmetrics.io/glossary/break-even-roas "Break-even ROAS is the revenue-to-ad-spend ratio at which contribution profit exactly covers advertising costs.") is 1 ÷ [contribution margin](https://www.productmetrics.io/glossary/contribution-margin "Contribution margin is the revenue from a sale minus its variable costs, such as product cost, shipping, payment fees and returns.") before ads.

In profit terms, [POAS](https://www.productmetrics.io/blog/poas-vs-roas) is [ROAS](https://www.productmetrics.io/glossary/roas "Return on ad spend (ROAS) is the revenue your ads generate for every euro you spend on them.") × contribution margin, with break-even at 1.0.

## What should you do with each product's role?

Investigate the entry and purchased products separately before changing priority. A product that closes a valuable downstream order may behave differently when it is the advertised entry point.

| Observation | Question to investigate | Initial action |
| --- | --- | --- |
| Few direct tee sales, valuable coat orders | Does tee entry consistently lead to useful downstream outcomes? | Review those orders before lowering tee priority |
| Coat sells after tee entry | Does direct coat advertising attract similarly valuable visits? | Evaluate coat-entry journeys separately |
| Strong observed return, low coat stock | Can the downstream product support more demand? | Review stock and replenishment before increasing priority |
| Few mature or matched journeys | Is there enough evidence for a decision? | Wait for more journeys before changing priority |

[Product Journeys](https://www.productmetrics.io/product-journeys) connects entry products with purchases of other products. Read that context alongside [Inventory Insights](https://www.productmetrics.io/inventory-insights) and the products' margins, rather than treating direct product sales as the whole explanation.

[Product Segmentation](https://www.productmetrics.io/product-segmentation) segments products by advertising clicks and ROAS or POAS. Journey roles are additional context, not replacement segment definitions. A gateway product is not automatically a Star, and a downstream seller is not automatically a Dog.

> **Get more performance out of Performance Max.** Give your best-performing products more priority, segmented on your own data. [Analyse your products for free](https://app.productmetrics.io/) Log in with Google, no credit card.

### Review one product family before expanding

Choose a product family where entry products and purchased products often differ. Reconcile the order lines, document the review window, and agree what evidence would justify a change.

| Review check | Evidence to retain | Why it matters |
| --- | --- | --- |
| Identity | Entry SKU, purchased SKU and mapping | Prevents joining different variants by mistake |
| Order accuracy | Distinct orders, quantities and refunds | Prevents double-counting baskets |
| Observation window | Entry dates and outcome cutoff | Separates incomplete journeys from mature outcomes |
| Decision | Owner, proposed change and review date | Makes the result of a change checkable |

Use permitted identifiers and record gaps in the observed paths. Do not join interactions merely because two shoppers bought similar products.

Keep questions about post-purchase experience and repeat purchases separate from the initial order, so later outcomes do not get counted as additional first orders.

When the evidence supports a priority change, use approved Merchant Center labels and configured campaigns to apply it. Google's [custom-label documentation](https://support.google.com/merchants/answer/6324473?hl=en) explains their grouping role; a label does not create a manual per-product bid control in Performance Max.

## Final thoughts

A product's own sales are only part of its value; the orders it opens are the rest.

Start with one decision: whether an entry product deserves higher priority, lower priority or further investigation. Then review the downstream result using the same order and contribution definitions. The [Performance Max guide](https://www.productmetrics.io/blog/performance-max-for-ecommerce) explains how that product review fits the wider campaign structure.

For the wider customer-experience view, [Hanover Research's 2022 customer journey mapping report](https://insights.hanoverresearch.com/hubfs/Power-Customer-Journey-Mapping-2022.pdf) covers journey mapping across touchpoints and teams.

## Frequently asked questions

### Can GA4 build a product journey map?

Partly. GA4 records the landing page and the items bought in a session, so a session-level map is possible in Explorations or the BigQuery export; journeys across several visits need your shop's order data.

### How does it differ from a customer journey map?

A customer journey map usually organises the wider customer experience around touchpoints and needs. This product-focused view starts with a specific entry product and asks which products were later considered and bought.

### How long should the observation window be?

At least as long as your typical time from click to order, plus the time refunds take to arrive. For most shops that is 30 days; read journeys only once that window has closed.

## Keep reading.

- [Google Ads optimisation for Shopping and PMax](https://www.productmetrics.io/blog/google-ads-optimize)
- [Ad campaign names: 8 examples for clearer reporting](https://www.productmetrics.io/blog/ad-campaign-names)
- [Demand Gen vs Performance Max for ecommerce](https://www.productmetrics.io/blog/demand-gen-vs-performance-max)

---

Written by Berend Vrakking, founder of Product Metrics. Last updated 2026-10-23.

HTML version: https://www.productmetrics.io/blog/product-journey-map
