PPC Handoff Document

Google Forwarding Number — Csupi

What we changed, what you need to verify, and a reusable recipe for any future client that needs GFN call tracking.

📅 July 10–11, 2026 🌐 csupiautomentes.hu 🎯 Google Ads: AW-871296311
📍 Background

What Google Forwarding Numbers (GFN) Are

When someone clicks a Google Ads ad and lands on the site, Google's gtag.js detects the gclid parameter in the URL. It then requests a temporary forwarding number from Google's servers and dynamically swaps all phone numbers on the page for that visitor. When they call that number, Google logs it as a conversion.

This means: only calls from people who clicked an ad get tracked. Organic, direct, and Google Maps calls are never counted — that's a hard limit of the tool, not a configuration problem.

ℹ️
Hungary is a supported country for Google Forwarding Numbers. You can confirm the list at: support.google.com/google-ads/answer/3111300
🔴 What Was Broken Before July 10

Three Separate Failures — All Stacked

Problem Why It Broke GFN
No gtag.js on the live site The site only had a GTM container (GTM-TH67S8M). The Google Ads conversion tag (AW-871296311) was configured inside GTM but there was no standalone gtag.js loading it. Without the GFN-specific gtag('config', ...) call with phone_conversion_number, the swap never triggers. Zero GFN was possible — full stop.
Phone number format mismatch Google Ads was configured to look for 06 (70) 62 62 777, but the HTML buttons had +36 70 626 2777 — a different format. Google requires an exact text match. No match = no swap.
No CSS class targeting Google's script has two ways to find phone elements: exact text match, or a CSS class. Text match is fragile (breaks with any formatting change). CSS class is robust. Neither was set up. Even if the text matched, the script had no explicit targets to swap.
⚠️
The code was written correctly in the repository — it just was never deployed to production. The site was running on Cloudflare Pages tracking the main branch. All the GFN work was committed on a feature branch (feature/location-pages-v6) which only creates preview deployments, not a production update. That's why it looked done but wasn't live.
✅ What We Fixed (July 10–11, 2026)

Changes Deployed to Production (All 13 Pages)

Commit 03ef9c1 · July 10

Added gtag.js and initial GFN config. Injected the Google Ads pixel (AW-871296311) and the phone conversion config (phone_conversion_number: '06 (70) 62 62 777') into all 13 HTML pages. This made the swap theoretically possible.

Commit 4ec02f7 · July 10

Standardized phone number format in HTML. All phone number text across the site was updated from +36 70 626 2777 to 06 (70) 62 62 777 to match the Google Ads config exactly.

Commit 38f2939 · July 10

Added CSS class targeting — bulletproof approach. Added phone_conversion_css_class: 'gfn-track-phone' to the gtag config and applied the gfn-track-phone class to every phone link/button on all 13 pages. This makes the setup resistant to future text format changes.

<a href="tel:+36706262777" class="gfn-track-phone top-bar-phone">
  <span>06 (70) 62 62 777</span>
</a>
Commit 0b04abf · July 11

Deployed to production (main branch). Previous deploys were to the feature branch preview only. This commit deployed to main, which is what csupiautomentes.hu actually serves. Also corrected the project docs which wrongly described the site as WordPress.

✅
GFN is now verified working. Tested with #google-wcc-debug → clicked "Force" → all 6 phone number elements swapped simultaneously from 06 (70) 62 62 777 to Google's test number (99 (99) 99 99 999). The debug overlay confirmed: "Updated 6 element(s) with 99 (99) 99 99 999".
🎯 Google Ads Account Changes (July 11)

Conversion Action Priorities — Adjusted

The account had a conversion action called "Tel szám kattintás" (phone number tap/click) set as Primary. This is a CLICK_TO_CALL-type conversion — it fires when someone taps the phone link, before any call is connected. Smart Bidding was optimizing for taps, not actual connected calls.

Conversion ActionTypeBeforeAfter
"Hirdetésekből származó hívások" WEBSITE_CALL (GFN) Secondary Secondary
"Tel szám kattintás" CLICK_TO_CALL Primary Secondary
ℹ️
Next step for you: Once the GFN starts recording real conversions (after the 24-48 hour Google review window), set the "Hirdetésekből származó hívások" (GFN action) to Primary. That tells Smart Bidding to optimize for connected calls, not just taps.
📋 Your Next Steps

PPC Checklist — What Needs Your Attention

TaskStatusNotes
Verify GFN working on live site ✅ Done Test with #google-wcc-debug confirmed 6 elements swap. See proof above.
Wait for Google's 24-48h approval ⏳ Pending Google reviews new forwarding numbers before activating them. Started ~evening July 10. Should be live by July 12.
Confirm GFN recording in Ads UI ⏳ Your job Go to Google Ads → Goals → Conversions → "Hirdetésekből származó hívások". Status should flip from "Pending" to "Recording". If you see a conversion come in, it's confirmed.
Set GFN action to Primary ⏳ Your job Once you see the GFN action recording, make it Primary. This re-trains Smart Bidding toward actual calls. Don't do it before — it needs data first.
"Tel szám kattintás" → Secondary ✅ Done Already set to Secondary on July 11. Smart Bidding is no longer optimizing for taps.
Negative keywords added ✅ Done Added -szállítás and excluded non-relevant regions (Sopron, Balaton, Mezőkövesd) to reduce wasted spend.
⚙️ Technical Spec (For Reference)

The gtag.js Snippet

This is on every page, inside <head>:

<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/
  gtag/js?id=AW-871296311"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'AW-871296311');
</script>
<script>
  gtag('config',
    'AW-871296311/Ac9uCO-s9LscELfau58D', {
    'phone_conversion_number': '06 (70) 62 62 777',
    'phone_conversion_css_class': 'gfn-track-phone'
  });
</script>

Config Values

Google Ads TagAW-871296311
Conversion ActionAc9uCO-s9LscELfau58D
Phone (for swap)06 (70) 62 62 777
CSS Classgfn-track-phone
HTML hreftel:+36706262777
Pages with GFNAll 13 (index + 12 location)
Phone elements/page6 (top bar, hero CTA, mid CTA, form CTA, footer, floating widget)
🧪 How to Test GFN (For You and Future Clients)

The Correct Testing Protocol

There are two ways to trigger the GFN swap in a browser without waiting for a real ad click:

Method 1 — Easiest

Google WCC Debug Mode

  1. Navigate to https://csupiautomentes.hu/#google-wcc-debug
  2. Wait for the page to fully load
  3. Look for a small popup in the bottom-left corner — "Google AdWords Website Call Conversions"
  4. Click "Force"
  5. Phone numbers swap to 99 (99) 99 99 999. The popup shows how many elements were updated.
Method 2 — More Realistic

Simulated gclid Parameter

  1. Open an Incognito window (important — no existing cookies)
  2. Navigate to: https://csupiautomentes.hu/?gclid=EAIaIQob...
    (use a realistic-looking gclid)
  3. Wait 3-5 seconds after load
  4. Phone numbers should swap
⚠️
A fake gclid like ?gclid=test may not trigger the swap — Google validates gclid format. Use a realistic one or use Method 1.
📖 Reusable GFN Setup Recipe (Any Client)

How to Set This Up for a New Client — Zero Mistakes

  1. Create the conversion action in Google Ads first.
    Goals → Conversions → New conversion → Website → Call to action on website. Select "Calls from website" and configure your phone number. Copy the conversion ID (AW-XXXXXXXXX) and the conversion label.
  2. Add gfn-track-phone class to every phone element in the HTML.
    Every <a href="tel:...">, every button, every span with a phone number — all of them get this class. Don't miss any.
  3. Standardize the phone number text across the site.
    Pick one format (e.g. [telefonszám eltávolítva]) and use it everywhere. The text inside the element must exactly match what you put in phone_conversion_number.
  4. Add the gtag.js snippet to every page (inside <head>).
    Use both gtag('config', 'AW-...') (the tag) and gtag('config', 'AW-.../label', {...}) (the conversion config with phone number + CSS class). See the snippet in the Technical Spec section above.
  5. Deploy to production, not staging.
    On Cloudflare Pages: use wrangler pages deploy ./dist --project-name=PROJECT --branch=main. If you're on a feature branch, you're only creating a preview — production won't update.
  6. Test immediately with #google-wcc-debug.
    Don't wait for a real ad click. Use the debug method above. If numbers swap → you're done. If they don't → something is wrong (check the browser console for gtag errors, verify CSS class presence with DevTools).
  7. Wait 24-48h for Google's review, then confirm in the Ads UI.
    Google reviews the forwarding number. After approval, check Goals → Conversions. Status changes from "Pending" to "Recording". Once you see real conversions → set this action as Primary.
  8. Set the old "tap" conversion to Secondary.
    If there's an existing CLICK_TO_CALL or WEBPAGE conversion action for the phone button tap, set it to Secondary. Smart Bidding should only optimize for connected calls, not taps.
⚠️
Key limitation to set client expectations: GFN only tracks calls from ad clicks (people with a gclid). It does NOT track organic, direct, or Google Maps calls. If the client wants full call tracking, that needs a separate third-party call tracking solution (e.g. CallRail, Phonexa).