agentleFS
itsryanarmaniitsryanarmani/skills/ads-waze/SKILL.md

ads-waze

Skill1 starsChanged 5 days agoMITView on GitHub

Use Waze Ads through Google Ads Performance Max for store goals. Covers market limits, conversion measurement, API access, consent, and verification.

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

20 rules. About 0 are common, 19 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈19

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use ad-conversion-hub for the canonical event envelope, consent gate, identity rules, retry policy, and adapter contract.

    line 15
  2. Distinctive:

    Create a Performance Max campaign for store goals.

    line 28
  3. Distinctive:

    Do not create Waze-specific credentials or API URLs.

    line 55
  4. Distinctive:

    Do not add a guessed Waze pixel or tag identifier.

    line 71
  5. Distinctive:

    Use this adapter mapping:

    line 82
  6. Distinctive:

    Keep the hub adapter disabled when the required Google Ads account, conversion action, consent, or API access is missing.

    line 119
  7. Distinctive:

    Before sending customer data, confirm permission to share conversion data and accept Google’s customer data terms.

    line 125
  8. Distinctive:

    Keep raw identifiers and Google Ads credentials in the server secret store.

    line 140
  9. Distinctive:

    No Waze-specific browser/server deduplication field is documented in the sources checked.

    line 158
  10. Very specific:

    Use the hub’s stable event ID for internal idempotency.

    line 161
  11. Distinctive:

    Keep those records accurate before launch.

    line 179
  12. Distinctive:

    Tag proof: Use Tag Assistant and confirm the Google Ads conversion action status.

    line 185
  13. Distinctive:

    Attribution proof: Check Google Ads conversion reporting and diagnostics.

    line 190
  14. Distinctive:

    Do not build against the retired standalone Waze Ads route.

    line 203
  15. Distinctive:

    Do not claim a Waze-specific pixel, SDK, token, API endpoint, click ID, cookie, event field, or deduplication rule without a new …

    line 204
  16. Distinctive:

    Do not assume every Google Ads conversion goal can optimize Waze placements.

    line 206
  17. Distinctive:

    Do not promise Waze-only delivery from Performance Max.

    line 209
  18. Distinctive:

    Do not send unhashed customer identifiers to Google enhanced conversions.

    line 210
  19. Distinctive:

    Do not hash country, state, city, or postal code when using the documented Google enhanced-conversion upload format.

    line 211
  20. Distinctive:

    Keep Google Ads OAuth credentials, developer tokens, conversion data, and raw identifiers server-side.

    line 213

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Waze Ads

Waze Ads is not a separate API integration. The current buying route is Google Ads Performance Max for store goals. Waze announced that its old advertising system would move to Google Ads, and its current buying announcement sends advertisers to Google’s Performance Max guidance. See Waze’s transition announcement and Waze’s buying announcement.

Use ad-conversion-hub for the canonical event envelope, consent gate, identity rules, retry policy, and adapter contract. Pair it with ad-experiments for one-audience tests, seed sizing, and PII-export authorization.

Account and access

Plainly: Waze does not publish a separate self-serve Waze Ads signup in the current first-party route. Create a Google Ads account using the route linked by Waze’s buying announcement. Google’s signup flow asks for business information, campaign goals and budget, and payment details.

Create a Performance Max campaign for store goals. Link a Google Business Profile or select affiliate locations, then provide locations, budget, and ad assets. Google says this campaign type can serve across Google properties, including Waze. See Performance Max for store goals.

The current Google Ads Help page says Waze Ads are available only in the United States through Performance Max store-goal campaigns bidding to Store Visits, Store Sales, or Local Actions Directions. A February 2026 Waze announcement lists the US, Canada, Brazil, Mexico, Colombia, Malaysia, Australia, and Israel. These first-party pages disagree. Treat market eligibility as account-specific and verify it before spend. Sources: Google’s Waze placement guidance and Waze’s market announcement.

For local customer optimization, Google documents the Local store visits and promotions objective, Performance Max campaign type, store goals, and Business Profile or location assets. It says the feature is incompatible with online campaign goals and Performance Max campaigns using Merchant Center products. See Local customer optimization.

Plainly: Waze does not publish a separate public Waze Ads API in the first-party sources checked. For programmatic account management, use the Google Ads API, not a Waze endpoint. Google documents Google Ads API access through gRPC or JSON REST. API calls require OAuth 2.0 credentials and a developer token. The developer token comes from the API Center of a Google Ads manager account. See OAuth for the Google Ads API and developer tokens.

Do not create Waze-specific credentials or API URLs. The sources checked here document Google Ads account and API credentials instead.

Client-side Google tag

The Waze route documented by Google uses the Google tag and Google Ads conversion actions. It does not publish a Waze pixel ID, Waze browser tag, or Waze app SDK contract. Install the Google tag on every page and the event snippet on the conversion page, using the snippets generated by Google Ads. See Google tag conversion tracking.

Google says the Google tag sets first-party cookies containing a user or ad-click identifier. Google Tag Manager’s Conversion Linker can also read ad-click data from landing-page URLs and store it in first-party cookies. See how Google Ads tracks website conversions.

Do not add a guessed Waze pixel or tag identifier. Store Google-generated tag and conversion identifiers using the project’s secret and configuration conventions.

Rule setup and event mapping

Google’s conversion documentation uses a separate conversion action for each conversion source or action. Its API category guide maps website conversions to the WEBPAGE or WEBPAGE_ONCLICK conversion action types. See conversion action categories.

Use this adapter mapping:

Hub eventGoogle Ads / Waze route
page_view, view_contentMeasure on the website only. Do not treat it as a Waze event.
lead, signup, begin_checkout, purchase, subscription_startUse a Google Ads website conversion action when the campaign has an eligible online goal.
refundReconcile with payment truth. Do not dispatch to Waze.
Store visit, store sale, call click, direction clickUse the store goals documented for Performance Max.

The current Waze placement guidance names Store Visits, Store Sales, and Local Actions Directions as the eligible Waze goals. Do not assume that a website purchase conversion controls Waze delivery. See Waze placement eligibility.

Server-side conversions API

Plainly: Waze has no separate public conversions API contract in the first-party sources checked. Do not send events to a guessed Waze endpoint. Waze’s documented integration is with Google Ads, and Google documents its own conversion measurement and API surfaces instead. See Waze’s Google Ads integration announcement and Google Ads conversion management.

For website conversions, use the Google tag or Google Tag Manager route to record the original conversion. Google's enhanced conversions for web then supplement that already-recorded conversion: its example uploads a ConversionAdjustment with hashed user identifiers and an order_id matching the original conversion; it also documents an optional conversion date and user agent. See Upload enhanced conversions for web. A ConversionAdjustment enhances an existing conversion; it does not create one. A checkout flow where the Google tag never fires has no original conversion for the adjustment to match, so Google rejects or drops it. To create a conversion purely server-side instead, upload a click conversion keyed on GCLID — see online conversion imports.

Google says an accepted import response does not necessarily mean that a conversion received attribution. Review the API diagnostics and Google Ads conversion reporting after import. See online conversion imports.

Keep the hub adapter disabled when the required Google Ads account, conversion action, consent, or API access is missing. A missing measurement integration must return a logged no-op and must not fail checkout.

Identity and consent

Before sending customer data, confirm permission to share conversion data and accept Google’s customer data terms. Google documents this requirement for enhanced conversions. See enhanced conversions setup.

For Google enhanced conversions, Google requires SHA-256 hashing for email, phone, first name, last name, and street address. It says not to hash country, state, city, or postal code. For email, name, and street address, normalize by trimming leading and trailing spaces and lowercasing before hashing. Gmail and Googlemail addresses have additional domain-specific rules. Phone numbers need their own normalization: strip all non-digit characters and format the number in E.164 (a leading +, then country code, then the number, no spaces, dashes, or parentheses) before hashing — trimming and lowercasing alone will not match Google's expected format. See Google’s normalization and hashing rules.

Keep raw identifiers and Google Ads credentials in the server secret store. Hash only after the hub consent gate permits ad-user data. Never place credentials in browser bundles, URLs, logs, screenshots, or commits.

Click ID and first-party cookie

Google’s documented click identifier is GCLID. Turn on Google Ads auto-tagging and preserve GCLID through click trackers, redirects, and cross-domain landing flows when applicable. See Google’s website conversion tracking guidance.

The first-party sources checked document GCLID for Google Ads, not a Waze-owned click-ID parameter or attribution window. Do not invent a Waze click ID or cookie name. Capture GCLID only under Google Ads consent and the hub’s first-party storage rules. Do not require a click ID before recording a first-party conversion.

Deduplication

No Waze-specific browser/server deduplication field is documented in the sources checked. Do not invent a Waze transaction or deduplication field.

Use the hub’s stable event ID for internal idempotency. If you upload Google Ads enhancements, follow the current Google Ads API schema and its documented order_id and conversion-action fields. Treat the Google API response as transport evidence, not attribution proof. See Google’s upload guidance.

Google Ads settings that override code

  • Campaign goals determine which signals Google uses for optimization. Confirm Store Visits, Store Sales, Local Actions Directions, or an online goal in the campaign before wiring events. See Performance Max store goals.
  • Local customer optimization cannot run with online campaign goals or a Performance Max campaign using Merchant Center products. See the feature limits.
  • Waze is one eligible Google property in Performance Max. The campaign can also be eligible across Search, Maps, YouTube, Display, Business Profiles, and Gmail. Do not promise Waze-only delivery. See where Performance Max ads can appear.
  • Location assets come from a linked Business Profile or affiliate locations. Keep those records accurate before launch. See location assets.

Verification

  1. Account proof: Confirm the Google Ads account, location assets, campaign goal, and Waze eligibility in the Google Ads UI.
  2. Tag proof: Use Tag Assistant and confirm the Google Ads conversion action status. Google says the status can take up to 48 hours to update after fixes. See tag verification guidance.
  3. Data proof: Record the canonical event ID, consent decision, conversion action, and payment or store result in your own server logs.
  4. Attribution proof: Check Google Ads conversion reporting and diagnostics. A successful Google Ads API import does not prove attribution. See Google’s import review guidance.
  5. Business proof: Reconcile website purchases and refunds with the payment provider. Reconcile store visits, store sales, calls, or directions with the corresponding Google Ads goal report.

The first-party sources checked publish no Waze test-event endpoint or Waze conversion response contract. Do not add a test command until Google or Waze publishes the exact operation and authentication model.

Common pitfalls and security

  • Do not build against the retired standalone Waze Ads route. Use Google Ads.
  • Do not claim a Waze-specific pixel, SDK, token, API endpoint, click ID, cookie, event field, or deduplication rule without a new first-party contract.
  • Do not assume every Google Ads conversion goal can optimize Waze placements. The current Waze guidance names Store Visits, Store Sales, and Local Actions Directions.
  • Do not promise Waze-only delivery from Performance Max.
  • Do not send unhashed customer identifiers to Google enhanced conversions.
  • Do not hash country, state, city, or postal code when using the documented Google enhanced-conversion upload format.
  • Keep Google Ads OAuth credentials, developer tokens, conversion data, and raw identifiers server-side. Never log or commit them.
  • A missing Google Ads integration must produce a logged no-op. It must not fail checkout or payment reconciliation.

Official sources checked (2026-08-31)

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.