-
Notifications
You must be signed in to change notification settings - Fork 4.5k
🎉Categorized Config Errors Accurately for Google Analytics 4 (GA4) and Google Ads #25987
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
🎉Categorized Config Errors Accurately for Google Analytics 4 (GA4) and Google Ads #25987
Conversation
Before Merging a Connector Pull RequestWow! What a great pull request you have here! 🎉 To merge this PR, ensure the following has been done/considered for each connector added or updated:
If the checklist is complete, but the CI check is failing,
|
/test connector=connectors/source-google-analytics-data-api
Build FailedTest summary info:
|
/test connector=connectors/source-google-ads
Build PassedTest summary info:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, but the question about using the list instead of an or
statement.
For Google-Analytics-data-api
, please check the flakeCheck errors
https://github.com/airbytehq/airbyte/actions/runs/4947619403/jobs/8847290268#step:11:717
stream = GoogleAnalyticsDataApiMetadataStream(config=config, authenticator=config["authenticator"]) | ||
metadata = next(stream.read_records(sync_mode=SyncMode.full_refresh), None) | ||
except HTTPError as e: | ||
if e.response.status_code == HTTPStatus.BAD_REQUEST or e.response.status_code == HTTPStatus.FORBIDDEN: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why not to use a list of errors here, instead, like:
if e.response.status_code in [HTTPStatus.BAD_REQUEST, HTTPStatus.FORBIDDEN]:
....
…google-analytics-v4-config-error
/publish connector=connectors/source-google-ads
if you have connectors that successfully published but failed definition generation, follow step 4 here |
/test connector=connectors/source-google-analytics-data-api
Build PassedTest summary info:
|
/publish connector=connectors/source-google-analytics-data-api
if you have connectors that successfully published but failed definition generation, follow step 4 here |
…d Google Ads (airbytehq#25987) * Categorized Config Errors Accurately * Update PR number * Update error list for GAv4 * Updated version * Updated formating * auto-bump connector version * Skip spec backward compatibility * auto-bump connector version --------- Co-authored-by: Octavia Squidington III <[email protected]>
What
Google Analytics 4 (GA4)
The errors encountered with GAv4 should be classified as configuration errors rather than system errors.
Error 403: Client Error - Forbidden for URL: https://analyticsdata.googleapis.com/v1beta/properties/164523383/metadata
Error 400: Client Error - Bad Request for URL: https://analyticsdata.googleapis.com/v1beta/properties/UA-164523383-1/metadata
Error 400: Client Error - Bad Request for URL: https://analyticsdata.googleapis.com/v1beta/properties/a164523383w230249301p216691667/metadata
The error message should be revised to: "Access was denied to the entered Property ID. Please verify your access to the Property ID or refer to Google Analytics' documentation to find your Property ID."
Further enhancements to the specification:
The tooltip should display an example value.
The Property ID field should only accept numeric values and disallow entries such as "UA-165496".
Google Ads
The classification of these errors should be changed from system errors to configuration errors:
Error: Incorrect GAQL query statement: '"SELECT campaign.id, campaign.name FROM campaign"'
Error: Incorrect GAQL query statement: 'customer_query_2'
Error: Incorrect GAQL query statement: 'keyword_stats'
How
With
try..except
catch error and raiseAirbyteTracedException
withconfig_error
failure type.