In marketing, upper-funnel brand advertising (like TV or video) builds brand
awareness and demand over time. Meanwhile, lower-funnel direct-response
advertising (like paid search) captures that demand to drive immediate
sales or conversions.
![Conceptual illustration of full-funnel marketing](https://developers.google.com/static/meridian/images/full-funnel-informal.png) *Conceptual illustration of full-funnel marketing (see the
[full-funnel
causal graph](https://developers.google.com/meridian/docs/causal-inference/causal-graph#meridians_full-funnel_causal_graph) for the formal causal DAG).*

> [!NOTE]
> **Note:** For an end-to-end code example, see the [Meridian Full-Funnel](https://developers.google.com/meridian/notebook/meridian-full-funnel) Colab notebook. It walks through the detailed modeling considerations and shows how to propagate the indirect effect with the `AnalyzerFullFunnel` class.

To measure these full-funnel marketing investments, a standard
single-stage Marketing Mix Model (MMM) can be reliable, parsimonious, and
relatively straightforward to execute. However, because a single-stage MMM
analyzes all marketing channels in a single step, it creates a dilemma.

- If you exclude intermediate brand equity variables (like organic search
  volume), you over-credit lower-funnel channels. They get rewarded for
  capturing some demand that they didn't actually create.

- If you include intermediate brand equity variables (as standard controls),
  you under-credit upper-funnel channels. They get stripped of the credit for
  generating that demand in the first place.

Consider **Branded Google Query Volume (bGQV)** as an example of a brand
equity variable. Single-stage models have a forced trade-off: if you include
bGQV as a control variable in the model, you starve brand channels of the credit
they deserve for driving that search interest. If you exclude bGQV, you
over-credit direct-response ads that harvest existing demand instead of
creating it. See
[Including query volume](https://developers.google.com/meridian/docs/advanced-modeling/control-variables#including-query-volume)
to learn more about this example.

To measure these full-funnel marketing investments, Meridian now offers
**full-funnel MMM** using a two-stage modeling approach. The stage 1 model
measures how brand marketing builds brand equity. The stage 2 model measures
how that equity, alongside all marketing, drives the final KPI.

## The core problem: a control variable can be a mediator and a confounder

The core causal inference problem of Marketing Mix Modeling (MMM) is the
estimation of the joint treatment effect of several different marketing
variables. In causal inference, we know that one must include
confounding variables in the model, while excluding mediator variables (see
[Selecting control variables](https://developers.google.com/meridian/docs/advanced-modeling/control-variables#selecting-control-variables)).
MMM practitioners often encounter variables that act as mediators for some
treatment variables, but confounders for others.

In single-stage MMM, practitioners face a dilemma for such variables that are
confounders for some treatment variables, but mediators for others:

- **Exclude the variable in the model:** fails to account for its confounding effect when estimating the impact of lower-funnel channels, resulting in biased **overestimates** of lower-funnel channel ROIs.
- **Include the variable in the model:** blocks the causal path brand advertising has through the variable, resulting in **underestimates** of brand channel ROIs.

**Brand equity** variables, such as brand consideration or [**Branded Google
Query Volume
(bGQV)**](https://developers.google.com/mmm-data-platform/guides-v1/report-types/gqv#gqv_content_and_stability_methodology),
are classic examples of such variables. Brand marketing (aka "Upper-funnel
marketing") drives brand equity, which in turn drives the KPI, making it a
mediator for brand marketing. At the same time, brand equity drives organic
demand and activity on lower-funnel channels (like paid search ads). This makes
brand equity a confounder for those channels.

## How full-funnel MMM works

Meridian solves this core problem by fitting two separate MMM models. In
the first model, a brand equity variable is the response variable. In the second
model, the brand equity variable is an explanatory variable.

The following table summarizes the roles, treatment variables, response
variables, and required controls for each funnel stage:

| Funnel stage | Objective | Treatment variable | Response variable | Required control variables |
|---|---|---|---|---|
| **Stage 1 Model: Brand marketing → Brand equity** | Captures how brand marketing builds brand equity | Brand marketing (for example, Video, TV, PR) | Brand equity variable (for example, Branded GQV) | Confounders with brand marketing and brand equity |
| **Stage 2 Model: Brand equity and marketing → KPI** | Captures how marketing affects KPI, including the demand built by Stage 1 | All marketing and Stage 1's brand equity variable | KPI | Confounders with marketing and KPI, and confounders with brand equity and KPI |

To summarize, we are estimating three kinds of causal effects:

1. **Stage 1:** the effect of brand marketing on brand equity.
2. **Stage 2:** the effect of brand equity on KPI.
3. **Stage 2:** the effect of all marketing on KPI.

To estimate these three kinds of effects, we must account for confounders for
each causal relationship within the model estimating the causal effect. For more
on the causal graph assumed for full-funnel MMM, see the
[full-funnel causal graph](https://developers.google.com/meridian/docs/causal-inference/causal-graph#meridians_full-funnel_causal_graph).

Once both models are fit, you must connect their findings. Specifically, you
propagate the effect brand marketing has on brand equity (from the first model)
to the effect brand equity has on your final KPI (in the second model). The
so-called "indirect effect" from the first model is included in estimates of key
causal estimates like ROI, marginal ROI, response curves, and budget
optimization.

## Choosing between full-funnel MMM and single-stage MMM

Choosing between single-stage MMM and full-funnel MMM comes down to a
fundamental trade-off: full-funnel MMM solves the mediator-confounder problem,
but requires estimating more causal effects and identifying more confounder
variables.

- **Single-stage MMM** is simpler and only requires identifying confounders between marketing and the final KPI. However, if brand equity is a mediator for brand marketing and a confounder for lower-funnel marketing, you face an unavoidable dilemma: including brand equity under-credits brand channels, while excluding it over-credits lower-funnel channels.
- **Full-funnel MMM** resolves this dilemma by explicitly modeling the indirect effect through the mediator. However, it requires estimating three kinds of causal effects (brand marketing → brand equity, brand equity → KPI, and all marketing → KPI). You must identify and control for confounders across both stages, which increases data requirements and sensitivity to unobserved confounding.

Full-funnel MMM is worth the added complexity when:

1. **The indirect path is substantial:** Brand marketing has a meaningful effect on brand equity, and brand equity strongly drives sales. If this pathway is weak, single-stage bias is minimal.
2. **Confounders are measurable for both stages:** You have reliable data to control for the three different kinds of necessary confounders.

Otherwise, a **single-stage MMM** may be the more reliable choice.

## Compounded adstock decay in full-funnel MMM

In a full-funnel MMM, the indirect path is affected by the adstock decay of
brand media variables in Stage 1 and the adstock decay of the brand equity
variable in Stage 2. These effects compound, leading to a more complex adstock
decay pattern than the individual stages. Compounded adstock decay is a function
of the individual stages' decay parameters (`adstock_decay_spec`, `max_lag`, and
channel-specific decay rate) and the relative contribution of each stage to the
total incremental effect of the channel.

To understand why the effects compound, consider a full-funnel MMM where the
`max_lag` parameters for Stage 1 and Stage 2 are `max_lag1` and `max_lag2`,
respectively. In this case:

- In Stage 1, media channels from time `t` affect brand equity up to time `t+max_lag1`.
- In Stage 2, media channels and brand equity from time `t` affect the KPI up to time `t+max_lag2`.
- In Stage 2, brand equity at time `t+max_lag1` affects the KPI up to time `t+max_lag1+max_lag2`.

The result is that the compounded adstock decay operates over a longer time
horizon than the individual stages. This lets you model longer-term adstock
decay effects on brand media channels. To visualize how adstock decays for your
full-funnel MMM, see the
[Meridian Full-Funnel MMM Walkthrough](https://developers.google.com/meridian/notebook/meridian-full-funnel).
For more information about how adstock decay is modeled in Meridian, see
[Set the adstock decay spec parameter](https://developers.google.com/meridian/docs/advanced-modeling/set-adstock-decay-spec-parameter).

## A generic framework for brand equity

**Branded Google Query Volume (bGQV)** is a common brand equity variable for
Meridian's full-funnel MMM as it is a mediator for brand marketing and a
confounder for lower-funnel marketing (especially search ads). bGQV is available
at weekly and geo granularity on the
[MMM Data Platform](https://developers.google.com/meridian/docs/pre-modeling/using-mmm-data-platform).

However, the full-funnel framework is fully generic. It can be applied to any
intermediate brand health metric that fits the assumed
[full-funnel causal graph](https://developers.google.com/meridian/docs/causal-inference/causal-graph#meridians_full-funnel_causal_graph).