Is your GA4 source breaking during its schedule but is functional when you use the manual data load button? Are you using currency metrics and do you exchange currencies?
This is due to the date range expressions, such as 0y0 or 0m0 which can imply a future end date.
Some metrics cannot have future end dates in the date range expression. According to the Google Analytics documentation:
“Analytics has a number of standard and calculated monetization metrics that are considered currency values, including Purchase Revenue, Tax, Shipping, Item Revenue, Revenue per Transaction and Total Value.
Businesses that transact in more than one currency can specify a local currency type when sending transaction data to Analytics. Analytics will perform the necessary conversion using the prior day’s exchange rate.”
Solutions:
For Databases:
Load all the historical data you need until yesterday, push the data into your database table and set the source’s date range expression to 1d1 (yesterday). The snapshot-keeping policy should be replace.
For Dashboards:
You will also need to load the historical data into the source until yesterday and set the source date range to 1d1 after the historical data load. For this use-case the snapshot-keeping policy will then need to be set to append.