Use it for
- Find countries spending above your threshold without conversions.
- Compare country CPA with the account average before reviewing location targeting.
Before you open it
Public JavaScript on GitHub, available without purchase or signup. Configure the script in Google Ads before use.
What it does when run
Reads Google Ads; creates or clears a dated report tab and can send email.
- Output
- Google Sheets report; optional email
- Default reporting window
- 90 days ending yesterday
- Google Ads account access with permission to add and authorise scripts.
- Review CONFIG, account scope and thresholds before the first run.
- A dedicated Google Sheets report with appropriate access.
- Leave RECIPIENT_EMAILS empty for log-only delivery, or authorise email only for recipients you intend to receive account data.
Supporting links
The people behind the script
- Dimitris BachtsevanisOriginal script author at Omnicliq
- OmnicliqPublisher and copyright holder
Resource notes and library artwork curated by Paid Media Collective. The original work belongs to the contributors credited above. Inclusion does not imply a partnership or a member submission.
Apache License 2.0. Copyright 2026 Omnicliq; retain the original licence and attribution when adapting the code.
Source review and practical limitations
Source reviewed · 7 September 2026. We reviewed the source to the level stated here; tools, courses and account workflows have not been tested end to end.
- The report is country-level, not city or region-level. It describes user location, not the complete location-targeting configuration.
- Currently enabled campaigns only. A CPA flag is a prompt to investigate, not a reason to exclude a country automatically.
- Code inspected and JavaScript syntax parsed only. No execution in a Google Ads account, no live query validation and no email delivery test.
- Reports use the configured lookback ending yesterday. Check the date window in the account timezone, especially around daylight-saving changes.
- The script can create a new spreadsheet when its URL is blank. Set the report URL after the first run; reruns clear the named output tabs, including any notes stored there.



