Dustin Salmons
06/17/2026, 9:36 PM~~~~~~~~~~~~~~~~~~~~~^^ ││ File "/usr/local/lib/python3.13/site-packages/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_oauth.py", line 109, in get_access_token ││ self.refresh_and_set_access_token() ││ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^ ││ File "/usr/local/lib/python3.13/site-packages/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_oauth.py", line 120, in refresh_and_set_access_token ││ token, expires_in = self.refresh_access_token() ││ ~~~~~~~~~~~~~~~~~~~~~~~~~^^ ││ File "/usr/local/lib/python3.13/site-packages/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_oauth.py", line 211, in refresh_access_token ││ response_json = self._make_handled_request() ││ File "/usr/local/lib/python3.13/site-packages/backoff/_sync.py", line 105, in retry ││ ret = target(*args, **kwargs) ││ File "/usr/local/lib/python3.13/site-packages/airbyte_cdk/sources/streams/http/requests_native_auth/abstract_oauth.py", line 343, in _make_handled_request ││ raise AirbyteTracedException( ││ ...<3 lines>... ││ ) from e ││ airbyte_cdk.utils.traced_exception.AirbyteTracedException: OAuth access token refresh request failed.kapa.ai
06/17/2026, 9:36 PMSelectiveAuthenticator fails to correctly identify the auth type when auth_type is missing from the credentials config, causing it to fall through to the OAuth flow even when you've configured a Service Account.
Root Cause The GA4 connector dispatches to different authenticators based on credentials.auth_type. This field is auto-populated by the UI but is not required. In some cases (especially when creating connections via API or certain flows), auth_type may be omitted, causing the connector to misroute to the OAuth authenticator instead of the Service Account (JWT) authenticator. [OAuth fix PR]
Things to Try 1. Re-save your source credentials. Go to your GA4 source → Settings → re-enter your Service Account JSON key and save. This can force the auth_type field to be correctly set in the stored config.
2. Verify your Service Account JSON is valid and complete. Make sure the JSON key file contains all required fields (client_email, private_key, private_key_id, etc.) and that the private key is properly formatted (with correct \n line breaks — do not escape them as \\n). [token error issue]
3. Ensure the Service Account has GA4 property access. Creating a service account and downloading the JSON key does not automatically grant it access to your GA4 property. You must:
◦ In Google Analytics, go to Admin → Property access management
◦ Add the service account email and grant at least the Viewer role [GA4 setup docs]
1. Ensure the required APIs are enabled in your Google Cloud project:
◦ Google Analytics Reporting API
◦ Google Analytics API
◦ Google Analytics Data API [GA4 setup docs]
1. Check your connector version. A fix for the auth_type inference issue was submitted in PR #77618 targeting version 2.9.36. If you're on an older version (e.g., 2.9.35 or earlier), upgrading the connector may resolve the issue. [OAuth fix PR]
The fact that the source test passes but the connection setup fails is consistent with the auth_type inference bug — the connection creation step may be hitting a different code path where auth_type is missing from the config. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.