If you’ve ever set up custom dimensions in Google Analytics 4 expecting them to appear in your BigQuery exports, only to find them missing, you’re not alone. GA4 custom dimensions not showing in BigQuery is one of the most reported issues when integrating GA4 with BigQuery. Whether you’re dealing with missing event parameters, schema registration problems, or synchronization delays, this guide walks you through every troubleshooting step.

Understanding the GA4 to BigQuery Connection
When you create a custom dimension in GA4, you’re defining how GA4 accepts and stores additional data beyond its standard dimensions. However, creating the custom dimension in the GA4 interface is only the first step. GA4 needs to know where to send this data, and BigQuery needs to expect it. The integration requires explicit configuration on both sides. Additionally, GA4 and BigQuery use different structural approaches—in GA4, you configure “custom dimensions” through the admin panel, but in BigQuery these dimensions appear as event parameters within the event_params array. The BigQuery export operates on a daily basis, typically between midnight and 1 AM UTC.
Common Causes: Why Custom Dimensions Don’t Show in BigQuery
Missing Event Parameter Implementation: The most frequent cause is that custom dimensions aren’t actually being sent to GA4 in your implementation code. A custom dimension only exists in BigQuery if actual events containing that dimension are sent to GA4. If you’ve defined a custom dimension called “subscription_status” but your tracking code never sends this parameter, GA4 has nothing to export to BigQuery.
Schema Registration Issues: GA4 requires that custom dimensions be properly registered in your property settings. You must define the dimension type, scope, and description in GA4’s admin panel under “Custom definitions.” Without this registration step, the data exists in GA4 but never makes it to BigQuery.
Event Parameter vs. User Property Confusion: Event-scoped custom dimensions appear within the event_params array in BigQuery’s events table, while user-scoped dimensions appear in the user_properties array. If you’re searching in the wrong location, you might conclude it’s missing when it’s actually there in a different structure.
Step-by-Step Troubleshooting Guide
Step 1: Verify Custom Dimension Is Registered in GA4. Navigate to your GA4 property’s admin panel and select “Custom definitions” under the Data Collection section. If you don’t see it here, create it by clicking “Create custom dimension” with the exact parameter name matching your tracking code—GA4 is case-sensitive.
Step 2: Confirm Your Tracking Code Sends the Parameter. Use your browser’s network tab or GTM preview mode to monitor what parameters are actually being sent. You should see your custom dimension parameter in the event payload.
Step 3: Check the BigQuery Schema. Navigate to your BigQuery project and examine the events table. Custom event dimensions appear within the event_params column as nested records, not as top-level columns.
Step 4: Wait for the Next Daily Export. BigQuery exports happen once daily, typically overnight UTC. After waiting a full day, run this query to check if your parameter appears:
SELECT event_params FROM analytics_dataset.events_* WHERE event_date >= '2026-04-14' AND EXISTS (SELECT 1 FROM UNNEST(event_params) AS param WHERE param.key = 'your_parameter_name') LIMIT 10Step 5: Verify BigQuery Export Is Enabled. Go to your GA4 property settings and navigate to Products Settings > BigQuery Links. If no link exists, create one by clicking “Link BigQuery” and following the setup wizard.

Common Issues and Solutions
| Issue | Cause | Solution |
|---|---|---|
| Custom dimension in GA4 but not BigQuery | Not registered in GA4 Custom definitions | Create in GA4 admin; wait 24 hours for export |
| Tracking code sends parameter but missing | Parameter name case mismatch | Match exact case in code and GA4 definitions |
| BigQuery returns NULL values | Parameter not populated in events | Verify events include parameter data before firing |
| Dimension worked before, now missing | BigQuery link disconnected | Check BigQuery Links in GA4 admin panel |
Best Practices to Prevent Future Issues
Always implement custom dimensions consistently across your entire tracking implementation. Use clear, descriptive parameter names like user_plan_type or conversion_category rather than generic names like param1. Keep a documentation spreadsheet listing every custom dimension, what it represents, how it’s populated, and which events include it. Monitor your custom dimensions regularly to ensure they continue flowing into BigQuery after code updates or GTM changes.
FAQ
How long does it take for custom dimensions to appear in BigQuery? After creating a custom dimension and sending data with it, it typically appears in BigQuery within 24 hours as part of the daily export cycle. Delays of up to 48 hours are possible.
Do I need to modify BigQuery to receive custom dimensions? No. Once GA4 is linked to BigQuery, the table schema is managed automatically. You only need to register the custom dimension as a “Custom definition” in GA4’s admin panel.
What if custom dimensions show all NULL values in BigQuery? This indicates proper configuration but no data being sent. Review your tracking code to ensure the parameter is actually populated with data before the event fires.
Conclusion
GA4 custom dimensions not showing in BigQuery typically boils down to one of five factors: missing event parameter implementation, improper schema registration, scope confusion, insufficient time for data export, or a broken BigQuery link. By systematically working through the troubleshooting steps in this guide, you’ll identify and resolve the issue, unlocking powerful analytical capabilities for advanced segmentation, cohort analysis, and data warehouse exports.