Kevin O'Keefe
12/12/2025, 7:29 PMkapa.ai
12/12/2025, 7:30 PMshopping_performance_view), the Google Ads source can exceed internal timeouts during syncs because of how slicing and timeouts are configured. [[Timeout issue](https://github.com/airbytehq/airbyte/issues/49254)] - Users have worked around this by reducing the slice duration (smaller date ranges per request) and/or increasing the timeout when building the connector locally. [[Timeout issue](https://github.com/airbytehq/airbyte/issues/49254)] 2. Customer ID filter is not respected at fetch time in newer versions - In recent versions (e.g., 3.14.2), the connector’s low‑code streams ignore the configured customer_id when making API calls and instead query all accessible accounts, only filtering by customer_id after data is fetched. [[Customer id filter](https://github.com/airbytehq/airbyte/issues/64136)] - This causes many API calls and can make operations slow or hit limits, which aligns with your suspicion that the UI is timing out while the backend is still querying. 3. UI / platform timeouts during “Check connection / Set up source” - There are reports where connection checks fail or hang even though credentials are valid, and sometimes repeated retries eventually succeed. [[Edit/create source fails](https://discuss.airbyte.io/t/3590); [Google Ads auth issue](https://github.com/airbytehq/airbyte/issues/63374)] - There is also an OSS case where the connector itself exits successfully, but the platform fails on an internal API call (422), showing that platform‑side handling of connector control messages can be fragile. [[422 on updateSource](https://github.com/airbytehq/airbyte/issues/60900)] Given this, your 504 when clicking “Set up source” is very plausibly: - The Google Ads source doing heavy discovery/check work across all accessible accounts (despite your customer_id filter), and - The Airbyte OSS frontend/backend timing out before that completes. Because the knowledge sources don’t provide a definitive, documented fix for this exact 504 scenario, I can’t give a guaranteed solution, only workarounds based on similar issues: Practical things you can try (based on existing reports): 1. Retry the setup a few times - In at least one OSS deployment, repeated attempts eventually succeeded without config changes. [[Edit/create source fails](https://discuss.airbyte.io/t/3590)] 2. Reduce the scope of accessible accounts (if possible) - Since the connector may be querying all accessible accounts, limiting which accounts are accessible to the OAuth client / token can reduce the work it has to do. This is implied by the issue where all accessible accounts are hit regardless of customer_id. [[Customer id filter](https://github.com/airbytehq/airbyte/issues/64136)] 3. Test with a different / smaller Google Ads account - If a smaller account (fewer sub‑accounts, less data) can be set up successfully, that supports the hypothesis that the timeout is due to volume and the customer‑id filter bug. 4. If you can build the connector locally, experiment with timeouts/slicing - Other users have successfully avoided timeouts by: - Decreasing slice_duration (smaller date ranges per request), and - Increasing the timeout on long‑running methods. [[Timeout issue](https://github.com/airbytehq/airbyte/issues/49254)] - This requires modifying the connector code and rebuilding the image, which is what they did in OSS. 5. Track / reference the open issues - Your symptoms match a combination of: - The customer‑id filter bug [[Customer id filter](https://github.com/airbytehq/airbyte/issues/64136)] - The timeout behavior on large datasets [[Timeout issue](https://github.com/airbytehq/airbyte/issues/49254)] - When opening an issue or commenting, include that you’re seeing a 504 during source creation in OSS and reference those two issues so maintainers can connect the dots. Because the knowledge sources don’t document a configuration flag or UI setting that definitively fixes this, if the above workarounds don’t help, the next step is to open or comment on a GitHub issue with your logs and connector version so the team can adjust the connector (e.g., respect customer_id at fetch time and/or relax timeouts).