In short. Use streaming for timely session monitoring and daily export for settled referral and user-attribution reporting.
Definition: GA4's daily BigQuery export is the once-a-day export for the previous day's raw events, while streaming export exposes current-day events within minutes through
events_intraday_YYYYMMDD. The choice affects event completeness, arrival time, and the attribution fields available for referral reporting.
Key facts
- Google's BigQuery Export documentation describes daily export as all raw, unsampled event data from the previous day, exported once per day.
- The same documentation describes streaming as current-day data available within a few minutes, with a best-effort service that may contain data gaps.
- Daily export typically arrives in mid-afternoon in the property's timezone, with possible delay until later in the day or the next day.
- Google's BigQuery Export schema says
events_intraday_YYYYMMDDis populated continuously and deleted whenevents_YYYYMMDDis complete. - Google's traffic attribution documentation identifies
session_traffic_source_last_clickas the session-scoped last-click record available for every event.
Which export is more complete?
Completeness determines whether a referral report represents a settled event set or a live feed. Daily export covers the previous day with raw, unsampled events. Streaming covers the current day and has no completeness service-level objective. Google says the intraday table may omit data because of late events or failed uploads, so its figures can be incomplete while the day is in progress.
The export creates two different table names:
events_YYYYMMDD
events_intraday_YYYYMMDD
The intraday table is an internal staging table for session activity during the day. Google recommends querying events_YYYYMMDD instead of events_intraday_YYYYMMDD for a stable dataset for the day. A daily referral report therefore belongs on the daily table after it is available.
When does each table receive data?
Streaming makes current-day data available within a few minutes. Daily export runs once per day, typically in mid-afternoon in the property's timezone. Google documents that the daily export can be delayed until later in the day or the next day, so the table's availability time is not fixed.
Arrival time also affects older event dates. The schema documentation says that Analytics updates daily tables with events for their event dates for up to three days after those dates because some devices send events late. Those events keep their correct timestamps, and events arriving after that three-day window are not recorded. A report that reads recent daily partitions therefore needs a refresh window for late events.
Which attribution fields fit a referral report?
A referral report usually needs session attribution. Google's traffic attribution documentation defines session-scoped attribution as the source of each individual session and points to session_traffic_source_last_click, which is available for every event. Its documented examples include manual campaign source, medium, and campaign name fields.
User attribution answers a different question. The schema documentation defines the traffic_source record as the source that first acquired the user and says that this record is not populated in intraday tables. The streaming export documentation also lists traffic_source.name, traffic_source.source, and traffic_source.medium as excluded for new users. For existing users, Google says user-attribution data can require about 24 hours to process and recommends the full daily export for that data.
For a same-day session referral view, the streaming table supplies timely event rows and the session-scoped record when available. For a settled report that includes user acquisition, the daily table is the appropriate reporting table because it provides the fuller daily export and the user-attribution fields documented for daily data.
Related terms
- How do I query AI referral sessions in the GA4 BigQuery export?
- Why can a GA4 daily BigQuery table change after export?
- Should an AI acquisition report use session source or first user source?
- How can a GA4 query avoid counting daily and intraday events twice?
FAQ
Can you use streaming data for an intraday referral dashboard?
You can use it for timely event monitoring. Google documents current-day availability within a few minutes, while also documenting possible data gaps and excluded new-user traffic-source fields, so the figures are provisional.
Which table should you use for a daily referral report?
Use events_YYYYMMDD after it is available. Google describes it as the full daily export and recommends the daily export for user attribution because existing-user attribution in streaming data can take about 24 hours to process.
Why can a daily referral count change after the export?
Analytics can update daily tables with late events for up to three days after their event dates. The schema documentation says those late events retain their correct timestamps.
Sources
- Google Analytics Help, "BigQuery Export", n.d.
- Google Analytics Help, "BigQuery Export schema", n.d.
- Google for Developers, "Traffic attribution data", 14 April 2026
Check how a page reads to answer engines. Open the GEO score analyzer