Use it for
- Build a product investigation list using your own spend and ROAS thresholds.
- Review product performance across included Shopping and retail Performance Max campaigns.
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
- 30 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.
- Aggregates by item ID across campaigns. Reused IDs across Merchant Center accounts, languages or countries can combine distinct products; narrow the account scope or extend the key before using those feeds.
- Product titles are written to Sheets without formula escaping. Use a dedicated report and sanitise titles beginning with formula characters before running.
- Uses advertising performance, not Merchant Center stock, approval or profit data. Conversion lag can change apparent zero-conversion or low-ROAS results.
- 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.



