BigQuery Query Generator
Generate ready-to-use SQL queries for your GA4 BigQuery export data. Select a query type, configure your dataset and date range, and get copy-paste-ready SQL.
All queries use _TABLE_SUFFIX filtering for cost optimization and follow BigQuery best practices for GA4 data.
BigQuery Query Generator
Count pageviews grouped by page path and hostname.
Global Configuration
BigQuery project and dataset ID
Table name pattern (use * for date-sharded)
Inclusive start date for _TABLE_SUFFIX
Inclusive end date for _TABLE_SUFFIX
Query Options
Maximum number of rows to return
Optional: filter results to a specific hostname
Generated SQL
-- Pageviews by Page
-- Date range: YYYYMMDD to YYYYMMDD
SELECT
(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_location') AS page_location,
(SELECT value.string_value FROM UNNEST(event_params) WHERE key = 'page_title') AS page_title,
COUNT(*) AS pageviews,
COUNT(DISTINCT user_pseudo_id) AS users,
COUNT(DISTINCT CONCAT(user_pseudo_id, '-',
CAST((SELECT value.int_value FROM UNNEST(event_params) WHERE key = 'ga_session_id') AS STRING)
)) AS sessions
FROM `your_project.analytics_XXXXXXXXX.events_*`
WHERE _TABLE_SUFFIX BETWEEN '' AND ''
AND event_name = 'page_view'
GROUP BY
page_location,
page_title
ORDER BY
pageviews DESC
LIMIT 20;How this query works
Extracts the page_location and page_title event parameters from page_view events, then counts sessions and pageviews per page. Optionally filter by a specific hostname.