Skip to content

Setting up Google Analytics 4 with BigQuery

Shopify’s Partner Dashboard can send your App Store listing’s activity (page views, the install funnel, ad clicks, and install events with the search term that drove them) to a Google Analytics 4 property you own. GA4 can export those events to BigQuery, and Partner Console polls BigQuery to bring them into the Listing analytics page and to auto-attribute affiliate referrals.

The chain is: Partner Dashboard → GA4 → BigQuery → Partner Console. Each arrow is one setup step below. Budget about fifteen minutes; data flows from the day the export is enabled (Google does not backfill).

Step 1: Connect GA4 in the Partner Dashboard

Section titled “Step 1: Connect GA4 in the Partner Dashboard”

If your app listing already reports to a GA4 property, skip ahead.

  1. Create a GA4 property at analytics.google.com (one per app keeps datasets tidy).
  2. In the Shopify Partner Dashboard, open your app, then Distribution › Analytics, and paste the GA4 Measurement ID.
  3. Shopify starts firing listing events server-side: page_view, engagement steps, shopify_app_install and shopify_app_ad_click, each carrying the shop and the surface (search term, category, ad) that produced it.

BigQuery lives in Google Cloud, so you need a project to hold the export.

  1. Go to console.cloud.google.com and sign in with the same Google account that can admin your GA4 property.
  2. Create a project (a name like yourapp-analytics works) and note its Project ID.
  3. Make sure the BigQuery API is enabled for it (APIs & Services › Enable APIs).

Google’s free BigQuery tier (10GB storage, 1TB of queries per month) comfortably covers App Store listing volumes, so this normally costs nothing.

  1. In GA4, open Admin › Product links › BigQuery links and create a link to the project from step 2.
  2. Choose Daily export at minimum; enable Streaming too if you want same-day data in the console.
  3. Repeat for each app’s GA4 property. Every property exports into its own dataset in the project, named analytics_<property id>.

The first tables appear within roughly 24 hours of linking.

Partner Console reads the export with a service account you control.

  1. In your Google Cloud project, open IAM & Admin › Service accounts and create one (name it something like partner-console-reader).
  2. Grant it two roles: BigQuery Data Viewer and BigQuery Job User. Read-only; it can never modify your data.
  3. Open the service account, go to Keys, and create a JSON key. A key file downloads; you’ll paste its contents in the next step.
  1. In the console, open Settings › Integrations › Google BigQuery.
  2. Enter the Project ID and paste the JSON key, then save. The connection test runs immediately and reports how many datasets it can see; if it fails, the error tells you whether it’s the key or the project.
  3. The modal then shows each of your apps with a dataset picker (GA4 exports are listed first). Map each app to its analytics_<property id> dataset and leave App Store Listing enabled.
  4. Pick a poll frequency (every 10 minutes is the default) and save the mapping. The first sync fires immediately and backfills the last 7 days of the export.

One connection covers them all: each app maps to its own dataset inside the same project. If a new app launches later, reopen the modal and map it; nothing else changes.

  • Listing analytics (Behavior › Listing analytics) fills in: views, installs, ad clicks, the listing funnel, installs by surface, and the search terms that installed.
  • Affiliate auto-attribution: install events whose landing URL carried a referral code credit the affiliate automatically, with no code in your app.
  • The integration modal shows the last sync time and how many listing events have been captured, so you can confirm it’s flowing without leaving Settings.
  • Connection test fails: the JSON key is malformed (paste the whole file, including the braces) or the service account is missing a role.
  • Datasets dropdown is empty: the GA4 → BigQuery link isn’t created yet, or it exports to a different project than the one you connected.
  • No data after a day: check that the Partner Dashboard actually has the Measurement ID, and that the BigQuery link shows recent export runs in GA4’s admin. Remember the export only starts from the day it was enabled.