Suppose a retailer changes the advertising priority of 500 products. Four weeks later, revenue for those products is up 18%.
The figure is worth investigating. It does not yet tell us what the priority change caused.
To measure product-level advertising impact, define the intervention and comparison before activation, verify delivery, check whether allocation changed, and compare mature outcomes using a design suited to the decision. Preserve both the original test group and the priorities recorded over time. Report the estimate with its uncertainty and the events that could explain it.
The hardest part is usually the comparison. Products share budgets, shoppers substitute between them, and successful products can sell out. Those details determine whether an apparent lift is additional business or a change in where existing demand was recorded.
The most direct question to ask of a priority change is whether spend and product coverage moved the way the decision intended. That shows whether the decision the retailer and the agency made reached the campaigns. Whether the change also created additional business is a separate and harder question, and not every decision needs it answered. If the goal was to give a launch range visibility or to move spend away from products that are running low, the allocation result may be the outcome that matters. A goal to clear stock also needs sell-through, but still not an estimate of incremental lift.
How Product Priorities Reach Google Ads
In Expanly, the retailer's commercial rules sort every product into one of three priority segments: High, Standard or Low. The rules are checked from top to bottom, and each product takes the first rule it matches; products that match no rule are treated as Standard. The segments are recalculated every day, so a product can be High today and Standard tomorrow.
Expanly writes the result to each product as a custom label in a Merchant Center supplemental feed, and Google Ads reads the label from there. Expanly does not change bids or budgets itself. The effect depends on how the agency's campaign structure uses the label, for example by giving High products their own budget or excluding Low products. How Expanly Turns Retail Priorities into Google Ads Signals explains the setup in more detail.
1. Write a Test Brief Before Publishing the Rule
The brief should name the commercial hypothesis and the campaign action expected to make it work.
Write it with the agency before the rule goes live. The retailer owns the commercial objective and the agency owns the campaign treatment, so both should agree what the test is meant to show. How Retail Teams and Google Ads Agencies Can Share Product Priorities covers the wider division of work.
“High priority improves sales” is too vague. A more useful hypothesis is that a selected launch range will receive broader product exposure when the agency gives it distinct campaign treatment, and that this will generate enough additional contribution to justify the media cost.
| Field | What to record |
|---|---|
| Decision | The rule and the channel treatment being tested |
| Unit | Products, product clusters, campaigns or markets assigned to each group |
| Initial cohort | Stable IDs selected before activation |
| Primary outcome | The one measure that will decide whether the test was useful |
| Mechanism | The expected change in exposure, spend or product coverage |
| Comparison | Randomized control or a justified alternative |
| Timing | Planned start, observed delivery start, observation window and reporting cut-off |
| Commercial constraints | Stock, margin, promotions and stopping rules |
| Analysis plan | Minimum useful effect, required sample or duration, uncertainty and exclusions |
A test needs enough information to detect a commercially meaningful difference. Its duration should follow baseline variation, conversion volume and the expected effect, rather than a convenient calendar interval. Agree when to read the result; repeatedly stopping as soon as a chart looks positive weakens the inference.
If both the product rules and campaign budgets change, the intervention is the combined treatment. The design cannot automatically isolate the contribution of the label alone.
2. Preserve Assignment as Well as Daily Priority
Daily priority and experimental assignment are different fields.
For operating reports, use each product's priority on the relevant scored date. A product can be High for a launch and Standard afterward. Applying today's label to the whole period would misclassify earlier spend. Expanly records the priority each product had on each scored date.
Priorities calculated later for earlier dates, for example to give a new team a baseline, are different. They show what the rules would have selected, not a priority that was live in the account at the time. Keep them out of any comparison of what Google actually received.
For an experiment, keep the original assignment. A product that sells out or falls out of High should not disappear from the primary analysis just because its outcome changed which rule it matched. An intention-to-treat view evaluates products as initially assigned, while secondary analysis can examine the treatment they actually received.
This matters particularly for rules driven by performance. If High selects products with strong recent sales, comparing today's High products with today's Standard products can largely compare past winners with everyone else.
Preserve stable IDs, assignment dates, rule versions and known changes in stock or price. If a guardrail changes treatment during the test, record it. The guardrail can be part of the policy being tested rather than a reason to remove inconvenient observations.
3. Verify the Intervention Outside the Rule Editor
Check the published rule, the affected products, the label delivered to Merchant Center and the campaign's use of that label. Inspect actual offer IDs, including representative variants, rather than relying only on a successful run indicator.
The date of publication inside Expanly is not necessarily the date the new signal became usable in Google Ads. Publishing starts a run in Expanly; automatic daily updates require a saved run time in the workspace's schedule. Merchant Center then has to process the updated label before campaigns can use it. Record observed activation separately and allow for a transition period in the analysis plan.
Check disapprovals, inventory, campaign overlap and budgets. A group can be High while receiving the same treatment as before, or it can be placed in a campaign that barely serves.
If the intended treatment was not delivered, report an implementation failure. Do not call it evidence that the commercial hypothesis failed.
4. Measure Allocation with a Fixed Reporting Scope
Look for the mechanism the test was designed to change: more product coverage, a different share of spend, less spend on a selected low-priority group or a broader distribution of impressions.
For a launch, total spend alone is insufficient. Five products can absorb most of an increase while the rest of the range remains barely visible.
Track absolute values alongside shares. A group's share can rise because another group stopped spending. A changing catalog can also alter the denominator without any change in the treatment of the original products.
Define the reporting scope before comparing numbers. Google notes that PMax listing-group and campaign metrics can differ. Product reporting should not silently be treated as a complete account-wide total.
Keep Google Ads attributed outcomes, GA4 item activity and the retailer's order data separate. They describe overlapping business activity through different measurement systems. Choose the primary outcome source and retain its currency, attribution and date conventions.
5. Allow for Conversion and Return Delays
A recent click may convert later. Google's conversion-lag guidance explains why recent CPA or ROAS can be misleading before conversions mature.
Use the retailer's conversion-delay pattern to choose the reporting cut-off. A long-consideration purchase should not be evaluated on the same schedule as a low-priced repeat purchase.
Returns add another delay when the objective concerns retained revenue or contribution. State whether the outcome includes them and whether enough time has passed to observe them.
An earlier period with mature conversions and a recent period still accumulating sales are not a fair comparison. Save the data extraction date so the result can be reproduced after reporting updates.
6. Choose a Comparison That Survives the Campaign Setup
Randomized Experiments
Random assignment provides a strong basis for causal inference when the treatment is implemented as designed and the groups do not materially interfere with each other.
Product-level randomization can be difficult inside a shared budget. If treatment products gain spend by taking it from control products, the control no longer represents an unaffected alternative. Shoppers may also substitute between similar items.
Depending on the question, assignment at a campaign, product-cluster or geographic level may be more suitable. Each design needs enough independent units, and uncertainty should be calculated at the assignment level. A large number of product-day rows does not turn a handful of randomized markets into thousands of independent observations.
Google offers PMax experiment workflows for particular campaign comparisons and settings. Check which experiment types Google currently offers for the campaign. Those workflows are not a general promise that arbitrary High-versus-Standard SKU randomization is available.
Matched Comparisons
When randomization is unavailable, select comparison products using pre-intervention information such as category, price, sales trend, stock and lifecycle.
Matching can make the groups more comparable on observed characteristics. It cannot remove every unobserved difference. Products deliberately selected for support may differ from controls in ways the dataset does not capture.
Check that the comparison group stayed unaffected by budget shifts, promotions and assortment changes. A close historical match does not help if the intervention itself changes the control group's exposure.
Difference-in-Differences
Difference-in-differences subtracts the control group's change from the treated group's change.
In an example using revenue indexed to 100, suppose the treated group rises to 130 while the control rises to 115. The estimate is 15 index points. It is not a claim that all 30 points of treated-group growth came from the intervention.
The key assumption is that the groups would have followed parallel trends without treatment. Inspect the pre-period and justify that assumption commercially. As World Bank research guidance explains, failing to detect a pre-trend difference does not prove the assumption true.
If products enter treatment at different times, leave it and return, a simple two-period calculation may no longer fit the design. Have the analyst use a method appropriate to the actual treatment history.
Causal Time-Series Models
A structural time-series model can estimate a counterfactual using suitable control series. The CausalImpact documentation describes both the approach and the assumptions: the controls must remain unaffected, and their predictive relationship with the treated series must remain credible.
Check sensitivity to the pre-period, controls and model specification. Report uncertainty with the estimate. A model probability is not the probability that a different retailer will obtain the same uplift.
Structured Before-and-After Review
If no credible control exists, report the change descriptively. Record the intervention, allocation movement, commercial outcome and overlapping events.
This can be sufficient for an operating decision. It should not be relabeled as incremental lift because a causal estimate would make a stronger headline.
Reima USA's account story is an example. It reports Google Ads sales up 52%, names the source (Triple Whale attribution data, 2026 compared with 2025) and treats the figure as an account-level outcome: Reima sets the commercial direction, the priorities it sets in Expanly reach the campaigns, and Intentio runs them. It does not estimate how much of the change came from any one of them.
7. Check Substitution and Commercial Trade-Offs
A product cohort can grow while the overall category stays flat. That may represent substitution from products outside the group rather than additional demand.
Report the selected cohort and a wider business outcome where the design permits it. The retailer may still prefer the shift if it improves margin, reduces obsolete stock or supports a strategic launch. State that objective explicitly.
Also distinguish confounders from consequences. A promotion planned alongside the intervention may be part of the treatment. Stock depletion caused by additional sales can be part of the effect. Controlling mechanically for every post-intervention variable can remove some of the effect the team meant to measure.
The commercial timeline helps the analyst make those choices. It should show what changed, why and when.
8. Write the Result So Another Person Can Challenge It
A useful report states the design, dates, initial sample, delivered treatment, primary outcome, effect estimate and uncertainty. It also states the largest limitations and whether the analysis was planned or exploratory.
An inconclusive result deserves the same clarity. “No material effect was detected with this sample” is different from proving that the effect is zero. Explain what size of effect the study could reasonably detect and what the uncertainty leaves open.
Finish with the next decision: continue, revise the treatment, repair delivery, collect more data under the agreed plan or stop. The value of the measurement is whether it helps the retailer and the agency choose that next step with better evidence.