Skip to main content

Reporting tables

The module ships six report tables built for BI tools (Looker Studio, etc.). This page is a practical guide - what each one answers, what to chart, and which metrics to compute in your BI layer. For the full column list of every table, see Output tables.

For channel credit (first/last/linear/position/time-decay), build on ga4_attribution_models, not these reports - see Attribution models. The reports below describe paths, participation, timing and micro-conversion lift.

Common to all reports

  • Date control. Every report is partitioned on journey_start_date (the journey's first-touch / cohort date). Add a date-range control bound to it - and remember a row's conversion_date can be later than its journey_start_date.
  • Derive rates in BI, never store them. Reports store additive counts and SUM numerators only. Compute rates and averages in your BI tool so they stay correct at any grain (see Additivity):
    • conversion rate = closed_journeys / journeys
    • avg days to conversion = sum_days_to_conversion / closed_journeys
    • avg revenue per closing conversion = total_revenue / closing_conversion_count
  • Credit vs influence. ga4_attribution_models is fractional credit (conserves revenue). The assist and micro-conversion reports are influence - they double-count across the channels / micro-conversions of a journey, so don't sum them as if they were credit (see Fractional credit vs influence).
  • Zero-touch journeys appear with the channel '(no touchpoint)' rather than being dropped, so conversion totals reconcile.

ga4_attribution_channel_chain_report

Answers: which channel paths lead to conversion, and how they perform.

Suggested visuals

  • Table of top channel_chain values ranked by closed_journeys or total_revenue.
  • Conversion rate by path_length_bucket (bar): SUM(closed_journeys) / SUM(journeys).
  • First-vs-last channel matrix using first_channel / last_channel.

Notes: path_length counts repeats; num_distinct_channels does not. Split closed / ongoing / lapsed with the respective count columns.

columns

ga4_attribution_journey_summary_report

Answers: how journey length relates to conversion and revenue.

Suggested visuals

  • Conversion rate by path_length (line/bar): SUM(closed_journeys) / SUM(journeys).
  • Journey volume distribution across path_length (histogram).
  • Avg revenue per closing conversion by path length: SUM(total_revenue) / SUM(closing_conversion_count).

Notes: grain is raw path_length; bucket in BI (or use the convenience path_length_bucket). Zero-touch journeys fall in path_length 1.

columns

ga4_attribution_channel_assist_report

Answers: which channels close conversions vs assist them (an influence view).

Suggested visuals

  • Per channel: stacked/clustered bar of journeys_as_first, journeys_assisted, journeys_as_last.
  • Assist ratio per channel: journeys_assisted / journeys_participated.
  • participated_revenue vs assisted_revenue by channel.

Notes: values double-count across the channels in a journey - this is influence, not attributed credit. For credit use ga4_attribution_models. journeys_assisted = participated - as_last (a channel that is both mid-path and the closer counts as last).

columns

ga4_attribution_channel_transition_report

Answers: how users move between channels on the way to conversion.

Suggested visuals

  • Sankey diagram: from_channelto_channel, weight = transitions (edge frequency) or journeys_with_transition (distinct journeys).
  • Terminal-node breakdown: filter to_channel to '(conversion: ...)' vs '(no conversion)'.

Notes: from_channel includes a '(start)' node; to_channel includes terminal nodes. transitions counts repeats within a journey; use journeys_with_transition for distinct-journey edge weights.

columns

ga4_attribution_conversion_lag_report

Answers: how long it takes journeys to convert.

Suggested visuals

  • closed_journeys (or revenue) by lag_bucket (bar), sorted by lag_bucket_order so buckets read chronologically (0 (same day)31+ days).
  • Avg days to conversion: SUM(sum_days_to_conversion) / SUM(closed_journeys).

Notes: closed journeys only. Sort the chart on lag_bucket_order (1-5), not the bucket label, to keep it chronological.

columns

ga4_attribution_micro_conversion_report

Answers: whether a micro-conversion (a non-closing conversion, e.g. add-to-cart, signup) lifts the final outcome.

Suggested visuals

  • Per conversion_name: conversion rate of journeys that include it - closed_journeys_with / journeys_with - compared against the overall baseline rate. The gap is the lift.
  • event_count and event_revenue by micro-conversion (volume).

Notes: closing_revenue_with is the journey's final closing revenue (the outcome), not the micro-conversion's own revenue (event_revenue is that). Summing closing_revenue_with across conversion_name double-counts a journey, so it can exceed total closing revenue - keep it per micro-conversion.

columns