Sessions
184.2KSource: Planned pbi_sessions view
Reconstructed GA4 sessions in the selected 90-day period.
Illustrative query pattern for the planned session view. Figures in this demo are synthetic sample data.
Data Analytics dashboard
An anonymized desktop preview of the reporting experience planned for Power BI.
Sample data · Illustrative Power BI mockup · Last 90 days
A decision-ready first page: traffic, engagement, orders, conversion and online value, followed by the trend behind the headline figures.
Sessions
184.2KSource: Planned pbi_sessions view
Reconstructed GA4 sessions in the selected 90-day period.
Illustrative query pattern for the planned session view. Figures in this demo are synthetic sample data.
Engaged session rate
65.1%Source: Planned pbi_sessions view
Share of sessions meeting the documented GA4 engaged-session rule.
Illustrative query pattern for the planned session view. Figures in this demo are synthetic sample data.
Orders
8.46KSource: Planned pbi_conversions view
Deduplicated completed orders in the selected period.
Illustrative query pattern for the planned conversion view. Figures in this demo are synthetic sample data.
Session conversion rate
4.6%Source: Planned pbi_funnel_daily view
Sessions containing an approved purchase divided by sessions.
Illustrative query pattern for the planned daily funnel view. Figures in this demo are synthetic sample data.
Online order value
$212.85KSource: Planned pbi_conversions view
Illustrative online order value in one reporting currency.
Illustrative query pattern for the planned conversion view. Figures in this demo are synthetic sample data.
Illustrative query pattern for the planned session view. Figures in this demo are synthetic sample data.
| Week | Sessions | Conversion rate |
|---|---|---|
| 05 May | 13.5K | 4.2% |
| 12 May | 14.2K | 4.2% |
| 19 May | 14.75K | 4.2% |
| 26 May | 14.9K | 4.4% |
| 02 Jun | 15.1K | 4.4% |
| 09 Jun | 15.4K | 4.5% |
| 16 Jun | 15.9K | 4.5% |
| 23 Jun | 16.15K | 4.6% |
| 30 Jun | 16.3K | 4.7% |
| 07 Jul | 16K | 4.9% |
| 14 Jul | 16.2K | 5% |
| 21 Jul | 15.8K | 5.4% |
Illustrative query pattern for the planned conversion view. Figures in this demo are synthetic sample data.
| Week | Orders | Order value |
|---|---|---|
| 05 May | 560 | $13.83K |
| 12 May | 590 | $14.63K |
| 19 May | 620 | $15.44K |
| 26 May | 650 | $16.25K |
| 02 Jun | 670 | $16.82K |
| 09 Jun | 690 | $17.32K |
| 16 Jun | 720 | $18.14K |
| 23 Jun | 745 | $18.77K |
| 30 Jun | 770 | $19.48K |
| 07 Jul | 785 | $19.86K |
| 14 Jul | 815 | $20.70K |
| 21 Jul | 847 | $21.60K |
Shows where restaurant sessions progress, where they stop, and whether conversion differs by acquisition source or customer type.
Add-to-basket rate
13.4%Source: Planned pbi_funnel_daily view
Sessions reaching add_to_cart divided by all sessions.
Illustrative query pattern for the planned daily funnel view. Figures in this demo are synthetic sample data.
Checkout completion
67.3%Source: Planned pbi_funnel_daily view
Completed orders divided by sessions starting checkout.
Illustrative query pattern for the planned daily funnel view. Figures in this demo are synthetic sample data.
Cart abandonment
65.8%Source: Planned pbi_funnel_daily view
Sessions with add_to_cart and no purchase divided by add-to-cart sessions.
Illustrative query pattern for the planned daily funnel view. Figures in this demo are synthetic sample data.
New customer share
37%Source: Planned pbi_conversions view
Orders labelled New divided by orders with a known customer type.
Illustrative query pattern for the planned conversion view. Figures in this demo are synthetic sample data.
Illustrative query pattern for the planned daily funnel view. Figures in this demo are synthetic sample data.
| Stage | Sessions | Step rate |
|---|---|---|
| Sessions | 184.2K | 100% |
| Menu viewed | 118.6K | 64.4% |
| Item viewed | 91.4K | 77.1% |
| Added to basket | 24.72K | 27% |
| Checkout started | 12.58K | 50.9% |
| Order complete | 8.46K | 67.3% |
Illustrative query pattern for the planned daily funnel view. Figures in this demo are synthetic sample data.
| Channel | Conversion rate | Sessions | Orders |
|---|---|---|---|
| Organic Search | 4.9% | 54.8K | 2.68K |
| Paid Search | 5.6% | 43.4K | 2.43K |
| Direct | 4.3% | 38.2K | 1.63K |
| Paid Social | 3.6% | 23.6K | 860 |
| 4.4% | 14.8K | 650 | |
| Referral | 2.3% | 9.4K | 212 |
Illustrative query pattern for the planned conversion view. Figures in this demo are synthetic sample data.
| Customer type | Orders | Share |
|---|---|---|
| Returning | 5.33K | 63% |
| New | 3.13K | 37% |
Summarises content demand, exits and approximate engagement using stable business page groups rather than long raw URLs.
Illustrative query pattern for the planned page-view view. Figures in this demo are synthetic sample data.
| Page group | Page views | Approx. engagement (seconds) |
|---|---|---|
| Menu | 151K | 74 |
| Item details | 122.4K | 62 |
| Home | 75.2K | 41 |
| Store finder | 48.6K | 55 |
| Basket | 39.5K | 88 |
| Checkout | 25.4K | 126 |
| Account & loyalty | 6.8K | 58 |
Illustrative query pattern for the planned page-view view. Figures in this demo are synthetic sample data.
| Page group | Exit rate | Page views |
|---|---|---|
| Menu | 22.5% | 151K |
| Item details | 31.2% | 122.4K |
| Home | 37.6% | 75.2K |
| Store finder | 18.4% | 48.6K |
| Basket | 26.4% | 39.5K |
| Checkout | 19.8% | 25.4K |
| Account & loyalty | 21.4% | 6.8K |
Connects acquisition performance with device behaviour and the approved events that will be exposed to Power BI.
Illustrative query pattern for the planned session view. Figures in this demo are synthetic sample data.
| Device | Conversion rate | Session share | Orders |
|---|---|---|---|
| Mobile | 4.7% | 74.7% | 6.48K |
| Desktop | 4.3% | 21.7% | 1.7K |
| Tablet | 4.2% | 3.6% | 282 |
Illustrative query pattern for the planned approved-event view. Figures in this demo are synthetic sample data.
| Event | Events | Reporting group |
|---|---|---|
| page_view | 468.9K | Page |
| view_item | 91.4K | Ecommerce |
| store_select | 28.9K | Store |
| add_to_cart | 24.72K | Ecommerce |
| begin_checkout | 12.58K | Ecommerce |
| purchase | 8.46K | Conversion |
| login | 8.1K | Account |
| sign_up | 3.2K | Conversion |
Illustrative query pattern for the planned conversion view. Figures in this demo are synthetic sample data.
| Campaign | Channel | Sessions | Orders | Conversion rate | Order value |
|---|---|---|---|---|---|
| Brand Search | Paid Search | 18.2KSource: Planned pbi_conversions view | 1.2KSource: Planned pbi_conversions view | 6.6%Source: Planned pbi_conversions view | $30.92KSource: Planned pbi_conversions view |
| Local Menu Search | Paid Search | 14.9KSource: Planned pbi_conversions view | 792Source: Planned pbi_conversions view | 5.3%Source: Planned pbi_conversions view | $19.81KSource: Planned pbi_conversions view |
| Weekend Social | Paid Social | 9.8KSource: Planned pbi_conversions view | 402Source: Planned pbi_conversions view | 4.1%Source: Planned pbi_conversions view | $9.74KSource: Planned pbi_conversions view |
| Loyalty Reminder | 6.4KSource: Planned pbi_conversions view | 348Source: Planned pbi_conversions view | 5.4%Source: Planned pbi_conversions view | $8.82KSource: Planned pbi_conversions view | |
| New Menu Launch | Paid Social | 7.2KSource: Planned pbi_conversions view | 238Source: Planned pbi_conversions view | 3.3%Source: Planned pbi_conversions view | $5.75KSource: Planned pbi_conversions view |
Separate field-performance source. LCP, INP and CLS are not joined to individual GA4 users or sessions. They are reported by date, page group and device.
LCP (p75)
2.35 sSource: Separate Core Web Vitals feed
75th percentile Largest Contentful Paint. Good is 2.5 seconds or less.
Illustrative CrUX-style site-speed query. This source remains separate from GA4 session and event data.
INP (p75)
180 msSource: Separate Core Web Vitals feed
75th percentile Interaction to Next Paint. Good is 200 ms or less.
Illustrative CrUX-style site-speed query. This source remains separate from GA4 session and event data.
CLS (p75)
0.09Source: Separate Core Web Vitals feed
75th percentile Cumulative Layout Shift. Good is 0.1 or less.
Illustrative CrUX-style site-speed query. This source remains separate from GA4 session and event data.
URLs passing CWV
82%Source: Separate Core Web Vitals feed
Share of monitored URLs passing all available Core Web Vitals.
Illustrative CrUX-style site-speed query. This source remains separate from GA4 session and event data.
Illustrative CrUX-style site-speed query. This source remains separate from GA4 session and event data.
| Week | LCP (ms) |
|---|---|
| 05 May | 2,680ms |
| 12 May | 2,610ms |
| 19 May | 2,580ms |
| 26 May | 2,520ms |
| 02 Jun | 2,490ms |
| 09 Jun | 2,460ms |
| 16 Jun | 2,420ms |
| 23 Jun | 2,390ms |
| 30 Jun | 2,370ms |
| 07 Jul | 2,340ms |
| 14 Jul | 2,320ms |
| 21 Jul | 2,350ms |
Illustrative CrUX-style site-speed query. This source remains separate from GA4 session and event data.
| Week | INP (ms) |
|---|---|
| 05 May | 218ms |
| 12 May | 211ms |
| 19 May | 205ms |
| 26 May | 199ms |
| 02 Jun | 196ms |
| 09 Jun | 192ms |
| 16 Jun | 188ms |
| 23 Jun | 185ms |
| 30 Jun | 183ms |
| 07 Jul | 179ms |
| 14 Jul | 177ms |
| 21 Jul | 180ms |
Illustrative CrUX-style site-speed query. This source remains separate from GA4 session and event data.
| Week | CLS |
|---|---|
| 05 May | 0.12 |
| 12 May | 0.11 |
| 19 May | 0.11 |
| 26 May | 0.1 |
| 02 Jun | 0.1 |
| 09 Jun | 0.1 |
| 16 Jun | 0.1 |
| 23 Jun | 0.09 |
| 30 Jun | 0.09 |
| 07 Jul | 0.09 |
| 14 Jul | 0.09 |
| 21 Jul | 0.09 |
Illustrative CrUX-style site-speed query. This source remains separate from GA4 session and event data.
| Device | LCP p75 (ms) | INP p75 (ms) | CLS p75 | URLs passing | Status |
|---|---|---|---|---|---|
| Mobile | 2,460Source: Separate Core Web Vitals feed | 190Source: Separate Core Web Vitals feed | 0.1Source: Separate Core Web Vitals feed | 78%Source: Separate Core Web Vitals feed | Good |
| Tablet | 2,340Source: Separate Core Web Vitals feed | 180Source: Separate Core Web Vitals feed | 0.08Source: Separate Core Web Vitals feed | 84%Source: Separate Core Web Vitals feed | Good |
| Desktop | 1,880Source: Separate Core Web Vitals feed | 120Source: Separate Core Web Vitals feed | 0.06Source: Separate Core Web Vitals feed | 93%Source: Separate Core Web Vitals feed | Good |
Illustrative CrUX-style site-speed query. This source remains separate from GA4 session and event data.
| Page group | LCP p75 (ms) | INP p75 (ms) | CLS p75 | URLs passing | Status |
|---|---|---|---|---|---|
| Item details | 2,680Source: Separate Core Web Vitals feed | 205Source: Separate Core Web Vitals feed | 0.11Source: Separate Core Web Vitals feed | 69%Source: Separate Core Web Vitals feed | Needs improvement |
| Checkout | 2,550Source: Separate Core Web Vitals feed | 195Source: Separate Core Web Vitals feed | 0.09Source: Separate Core Web Vitals feed | 75%Source: Separate Core Web Vitals feed | Needs improvement |
| Basket | 2,380Source: Separate Core Web Vitals feed | 180Source: Separate Core Web Vitals feed | 0.08Source: Separate Core Web Vitals feed | 82%Source: Separate Core Web Vitals feed | Good |
| Menu | 2,420Source: Separate Core Web Vitals feed | 185Source: Separate Core Web Vitals feed | 0.08Source: Separate Core Web Vitals feed | 84%Source: Separate Core Web Vitals feed | Good |
| Store finder | 2,250Source: Separate Core Web Vitals feed | 170Source: Separate Core Web Vitals feed | 0.07Source: Separate Core Web Vitals feed | 87%Source: Separate Core Web Vitals feed | Good |
| Home | 2,100Source: Separate Core Web Vitals feed | 150Source: Separate Core Web Vitals feed | 0.06Source: Separate Core Web Vitals feed | 91%Source: Separate Core Web Vitals feed | Good |
The first five rows are the proposed BigQuery delivery. Core Web Vitals is deliberately a sixth, separate feed. This keeps the initial data model honest and easy to maintain.
The proposed Power BI-facing inventory: five prepared GA4 BigQuery views and one separate site-speed feed.
| Prepared view | Grain | What it supports | Source |
|---|---|---|---|
| cwv_page_daily | Page group × device × day | LCP, INP, CLS and pass rates | Separate Core Web Vitals feed |
| pbi_conversions | One row per conversion | Orders, value, customer type and attribution | GA4 BigQuery |
| pbi_events | One row per approved event | Event volumes and reporting context | GA4 BigQuery |
| pbi_funnel_daily | Daily summary | Funnel stages, abandonment and segments | GA4 BigQuery |
| pbi_pageviews | One row per page view | Page journeys, entrances, exits and engagement | GA4 BigQuery |
| pbi_sessions | One row per session | Acquisition, device, landing/exit and funnel flags | GA4 BigQuery |
Every number, campaign name and market label in this mockup is synthetic. The live dashboard would use the same layout and definitions, populated from the prepared BigQuery views and the chosen Core Web Vitals source.
Illustrative query pattern for the planned session view. Figures in this demo are synthetic sample data.
SELECT session_date, market, device_category, default_channel_group, is_engaged_session, has_purchase FROM `restaurant_reporting.pbi_sessions` WHERE session_date BETWEEN DATE_SUB(CURRENT_DATE(), INTERVAL 90 DAY) AND CURRENT_DATE()Illustrative query pattern for the planned daily funnel view. Figures in this demo are synthetic sample data.
SELECT event_date, market, funnel_stage, stage_sessions, step_conversion_rate FROM `restaurant_reporting.pbi_funnel_daily` WHERE event_date BETWEEN DATE_SUB(CURRENT_DATE(), INTERVAL 90 DAY) AND CURRENT_DATE()Illustrative query pattern for the planned page-view view. Figures in this demo are synthetic sample data.
SELECT event_date, market, page_category, is_landing_page, is_exit_page, engagement_time_ms_on_page FROM `restaurant_reporting.pbi_pageviews` WHERE event_date BETWEEN DATE_SUB(CURRENT_DATE(), INTERVAL 90 DAY) AND CURRENT_DATE()Illustrative query pattern for the planned conversion view. Figures in this demo are synthetic sample data.
SELECT conversion_date, market, transaction_id, conversion_value, currency, customer_type, default_channel_group FROM `restaurant_reporting.pbi_conversions` WHERE conversion_date BETWEEN DATE_SUB(CURRENT_DATE(), INTERVAL 90 DAY) AND CURRENT_DATE()Illustrative query pattern for the planned approved-event view. Figures in this demo are synthetic sample data.
SELECT event_date, market, event_name, event_category, COUNT(*) AS event_count FROM `restaurant_reporting.pbi_events` WHERE event_date BETWEEN DATE_SUB(CURRENT_DATE(), INTERVAL 90 DAY) AND CURRENT_DATE() GROUP BY ALLIllustrative CrUX-style site-speed query. This source remains separate from GA4 session and event data.
SELECT observation_date, market, page_group, device_category, p75_lcp_ms, p75_inp_ms, p75_cls, passing_url_share FROM `restaurant_reporting.cwv_page_daily` WHERE observation_date BETWEEN DATE_SUB(CURRENT_DATE(), INTERVAL 90 DAY) AND CURRENT_DATE()The proposed Power BI-facing inventory: five prepared GA4 BigQuery views and one separate site-speed feed.
SELECT * FROM UNNEST([STRUCT('pbi_sessions' AS view_name, 'One row per session' AS grain, 'Acquisition, device, landing/exit and funnel flags' AS purpose, 'GA4 BigQuery' AS source_system), STRUCT('pbi_pageviews', 'One row per page view', 'Page journeys, entrances, exits and engagement', 'GA4 BigQuery'), STRUCT('pbi_events', 'One row per approved event', 'Event volumes and reporting context', 'GA4 BigQuery'), STRUCT('pbi_funnel_daily', 'Daily summary', 'Funnel stages, abandonment and segments', 'GA4 BigQuery'), STRUCT('pbi_conversions', 'One row per conversion', 'Orders, value, customer type and attribution', 'GA4 BigQuery'), STRUCT('cwv_page_daily', 'Page group × device × day', 'LCP, INP, CLS and pass rates', 'Separate Core Web Vitals feed')])