Max
10/26/2023, 8:36 AMkapa.ai
10/26/2023, 8:37 AMjson [{"name": "new_users_per_day", "dimensions": ["ga:date","ga:country","ga:region"], "metrics": ["ga:newUsers"]}, {"name": "users_per_city", "dimensions": ["ga:city"], "metrics": ["ga:users"]}] If you had already configured your connection without using Custom Reports in the source, it’s important to refresh the source schema in your replication settings, so the new streams are added. Please refer to the [Airbyte documentation](https://docs.airbyte.com/integrations/sources/google-analytics-data-api) and [tutorials](https://airbyte.com/tutorials/export-google-analytics-to-bigquery) for more details.kapa.ai
10/26/2023, 8:57 AMupdated_at timestamp. Records whose updated_at value is less than or equal than that cursor value have been synced already, and the next sync should only export records whose updated_at value is greater than the cursor value. However, there are some limitations to this approach. If multiple modifications are made during the same day to the same records and the frequency of the sync is not granular enough (for example, set for every 24h), then intermediate modifications to the data are not going to be detected and emitted. Only the state of data at the time the sync runs will be reflected in the destination. In the case of Google Analytics, Airbyte makes data requests to Google in one day increments to minimize the chances of sampling being applied to your data. This reduces the amount of data the Google API processes per request, thus minimizing the chances of sampling being applied. However, this also increases the time it takes to export your Google Analytics data. So, if the averagesessions value for a pagepath was retrieved yesterday and has been modified slightly today, it will be updated correctly in the next incremental sync only if the sync is run after the modification has been made and the updated_at timestamp of the record is greater than the cursor value from the last sync. For more details, you can refer to the [Incremental Sync documentation](https://docs.airbyte.com/connector-development/connector-builder-ui/incremental-sync/) and the [Google Analytics Source documentation](https://docs.airbyte.com/integrations/sources/google-analytics-v4).Max
10/26/2023, 8:57 AMkapa.ai
10/26/2023, 8:57 AMkapa.ai
10/26/2023, 8:58 AMupdated_at timestamp. Records whose updated_at value is less than or equal than that cursor value have been synced already, and the next sync should only export records whose updated_at value is greater than the cursor value. However, there are some limitations to this approach. If multiple modifications are made during the same day to the same records and the frequency of the sync is not granular enough (for example, set for every 24h), then intermediate modifications to the data are not going to be detected and emitted. Only the state of data at the time the sync runs will be reflected in the destination. In the case of Google Analytics, Airbyte makes data requests to Google in one day increments to minimize the chances of sampling being applied to your data. This reduces the amount of data the Google API processes per request, thus minimizing the chances of sampling being applied. However, this also increases the time it takes to export your Google Analytics data. So, if the averagesessions value for a pagepath was retrieved yesterday and has been modified slightly today, it will be updated correctly in the next incremental sync only if the sync is run after the modification has been made and the updated_at timestamp of the record is greater than the cursor value from the last sync. For more details, you can refer to the [Incremental Sync documentation](https://docs.airbyte.com/connector-development/connector-builder-ui/incremental-sync/).Max
10/26/2023, 9:07 AMkapa.ai
10/26/2023, 9:07 AMkapa.ai
10/26/2023, 9:08 AMdate, then Airbyte's incremental sync will only retrieve rows where the date is greater than the latest fetched date. This means that if a row from yesterday is updated today, it would not be retrieved in the incremental sync because its date is not greater than the latest fetched date. This is one of the limitations of using a cursor field for incremental sync. If modifications to the underlying records are made without properly updating the cursor field, then the updated records won't be picked up by the incremental sync as expected. The source connectors extract delta rows using a SQL query that looks like this: sql SELECT * FROM table WHERE cursor_field >= 'last_sync_max_cursor_field_value' So, if the cursor_field is date and it's not updated when averagesessions is modified, then the updated averagesessions won't be picked up in the incremental sync. For more details, you can refer to the [Incremental Sync documentation](https://docs.airbyte.com/connector-development/connector-builder-ui/incremental-sync/) and the [Incremental Sync - Append documentation](https://docs.airbyte.com/understanding-airbyte/connections/incremental-append/).Max
10/26/2023, 9:15 AMkapa.ai
10/26/2023, 9:15 AMkapa.ai
10/26/2023, 9:16 AMdate) does not reflect this change, then the updated data might not be picked up in the next sync. In the case of Google Analytics, data can take up to 48 hours to be processed and appear in your reports. If you run an incremental sync before the data is fully processed, the sync might not capture the most accurate data. Therefore, while Airbyte can help you sync your GA4 data, the accuracy of the data in your custom reports can be influenced by factors such as the timing of the sync and the processing time of Google Analytics data. For more accurate results, you might consider adjusting the sync frequency or the cursor field to better capture the changes in your data. For more information, you can refer to the [Google Analytics Source documentation](https://docs.airbyte.com/integrations/sources/google-analytics-v4) and the [Incremental Sync documentation](https://docs.airbyte.com/connector-development/connector-builder-ui/incremental-sync/).