All guidesPanel guide

User Journey Intelligence

Analyze GA4 BigQuery cohorts — KPIs, acquisition flow, campaign matrix, and sample journeys for consulting.

What this module is

User Journey Intelligence explores pre- and post-purchase behaviour from raw GA4 events in BigQuery. It is behaviour-focused — not a replacement for Ads attribution or sentiment analysis.

Requires BigQuery connected on the client (see bigquery-user-journey) and an Enterprise plan.

Before first analyze

Complete Client Setup → BigQuery tab: project, dataset, auth, install and purchase events.

Open the module, select date range and required cohort events (e.g. purchase in range, first_open/install for entry).

Click Analyze. Large cohorts may take a minute — results cache per account and parameters.

Reading top KPIs

Unique purchasers and event counts come from the full BigQuery cohort matching your filters — not from the 50-user sample.

Users in cohort = users who fired all required events in the logic you configured.

Remove rate and timing averages (first event → purchase, purchase → remove) are full-cohort metrics when those events exist.

Acquisition flow

Shows how users move through source/medium steps on a sample of journeys. Numbers are counts, not percentages, and downstream steps scale when you isolate a single source.

Use alongside top KPIs — the flow is illustrative; KPI strip is the authoritative cohort size.

Purchase source overlap

For each purchaser, counts distinct session-scoped traffic sources in the selected window (not first-touch only). A session source is taken from collected_traffic_source across all events in that session: manual_source → google if gclid is present → (direct).

Single-source vs multi-source cards and combination rows (e.g. google + (direct) + OneSignal) explain multi-touch paths without claiming formal Ads attribution credit.

Cross-device linking chip shows how many purchasers share a logged-in user_id across multiple devices in the window.

Campaign journey matrix

Per-campaign user counts at milestones: first_open/install (all-time first capture), new_registration, sign_in, and purchase (within your date range).

Designed for consulting proof — which campaigns deliver installs that later register, sign in, and purchase.

Example journey cards show real sequenced events for selected campaign + milestone paths.

Sample journeys and View more

The journey table loads up to 50 users, prioritized toward multi-source (then multi-campaign) users so consulting samples surface interesting paths first. Click View more for the next batch.

Session sources and session campaigns columns show the distinct session-scoped labels for that user — not only first-touch. Open a row for the full milestone timeline.

Reading session sources (google, OneSignal, Apple…)

Labels come from GA4 collected_traffic_source / campaign fields as exported to BigQuery. They are traffic identifiers, not Veotool guesses.

google — usually Google traffic. Check first-touch medium under the chips: cpc / ppc / paid → paid Google Ads (Search, Display, YouTube, App campaigns, etc.). organic / (none) / empty → often organic Google or incomplete tagging, not necessarily paid. A gclid on the session also maps to google even when manual_source was empty.

google-play — Play Store install / organic store listing traffic, not the same as paid google / cpc.

OneSignal — a push-notification / messaging SDK. Users tagged OneSignal typically re-opened the app from a push (or a OneSignal-tracked link), not from a Meta/Google ad click in that session.

Apple + long numeric campaign IDs (e.g. 2143402121) — almost always Apple Search Ads. ASA often sends the numeric campaign (and ad group) id into GA4 campaign fields instead of a human-readable name. Confirm in Apple Search Ads → Campaigns by matching the id.

apps.facebook.com / apps.instagram.com / l.instagram.com / ig — Meta app or in-app browser referral / paid social surfaces. Treat as Meta ecosystem traffic; paid vs organic still depends on medium and campaign naming.

(direct) — no measurable source/gclid on that session (typed URL, privacy-stripped referrer, or attribution not collected on any event in the session). Common in multi-source mixes when some sessions are untagged.

adroll, gbks.com.tr, and similar — third-party or partner domains as reported by the SDK; interpret from the client’s known media mix.

Reading session campaigns

Human-readable names (e.g. terapi sign in, Psy-And-App-…) are usually Google Ads / Meta / in-app campaign names passed via UTM or auto-tagging.

Long numeric-only values next to Apple / search are Apple Search Ads campaign ids — map them in the ASA UI; they are not broken data.

Values like (organic) or (referral) in the campaign chip mean GA4 filled a default campaign placeholder for that session, not a named paid campaign.

multi-campaign on a user means two or more distinct campaign labels across their sessions in the window (e.g. two different Google campaigns, or Google + Apple).

Ask in plain language

Smart mode interprets questions against the current analysis context. SQL mode is for advanced users who want generated BigQuery SQL.

History stores past questions per account for quick reuse. Expand Generated SQL under the result (not the result table rows) to copy the query.

Related guides