Skip to content

Tableau. BigQuery GA4 connector. Event-level exploration beyond Looker limits.

What this means for your store

GA4's BigQuery export stores nested event_params and items arrays - awkward in spreadsheets, workable in Tableau via the BigQuery connector and custom SQL or flattened views. Merchandisers often need view_itemadd_to_cartpurchase funnels by collection with item-level revenue. Tableau handles the visual layer once analytics flattens events_* tables to a sensible grain.

Scenario on a real storefront

Reformation's analytics team points Tableau at a curated ga4_ecommerce_events view - not raw nested export tables:

-- BigQuery view (recommended before Tableau)
SELECT
  event_date,
  user_pseudo_id,
  event_name,
  (SELECT value.string_value FROM UNNEST(event_params)
   WHERE key = 'campaign') AS campaign,
  ecommerce.purchase_revenue_in_usd AS revenue,
  item.item_id,
  item.item_revenue
FROM `project.analytics_123456789.events_*`,
UNNEST(items) AS item
WHERE event_name IN ('view_item','add_to_cart','purchase')
  AND _TABLE_SUFFIX BETWEEN '20260101' AND '20260331'

// Tableau: Connect → Google BigQuery → Custom SQL
// Incremental extract on event_date
// Viz: funnel as % of view_item users by collection

What to do next

  • Never point Tableau at raw events_* without date partition filters - cost spikes fast.
  • Align item_id with Shopify SKU before joining to ERP margin tables.
  • GA4 session vs user metrics differ from Tableau COUNTD - document which ID the cohort report uses.

Bottom line

Tableau plus BigQuery GA4 export unlocks nested ecommerce events for teams that outgrew Looker Studio. Flatten in BigQuery, filter partitions, then visualise funnels and item revenue.