121GroupStage 2 Technical Audit
Prepared for International Fitness Academy
Stage 2 Technical Audit · Findings & Recommendations

You have real demand.
Your tracking can't see it.

A read-only diagnostic of your Google Ads, GA4 and Google Tag Manager setup. The short version: your site pulls strong traffic and your team converts well, but the measurement layer that should tell Meta and Google what is working is broken in several compounding ways. The platforms are optimising on the wrong signals, which is the most likely reason lead quality is inconsistent and the Fast Track campaign is spending without converting.

Prepared forRhys Davies & Peter Billington
ScopeAustralia & New Zealand
Date8 June 2026
By121 Group
5
Critical issues
4
High priority
5
Medium priority
24h
Turnaround, as promised
Audit coverage: Reviewed: Google Ads (155-103-1020), GA4 (www.internationalfitnessacademy.com), Google Tag Manager (GTM-MR2NJW5). Pending access: Meta ad account + pixel (partner connected, assets not yet shared) and a second linked Google Ads account (379-457-2800). Findings below are conservative until those are in.
01 · The headline

Five things are quietly breaking your paid performance.

None of these are about your audience or your creative. They are measurement and configuration faults that make the ad platforms optimise toward the wrong outcomes, under-report your real results, and leave 90% of your revenue (the enrolments that close offline with your team) completely invisible to Meta and Google.

02 · Conversion tracking

The platforms are flying on bad instruments.

F1

Google Ads is optimising on ~14 primary conversions, including page-load "conversions"

CriticalGoogle Ads
Every enabled conversion action is flagged primary for goal, so Google blends them all when bidding. Several are codeless "page load" conversions: "Add to cart (Page load)", "Begin checkout (Page load)" and "Contact (Page load)" count a page view as a conversion. There are also four or more duplicate GA4 lead-form actions all primary.
ENABLED primary: Add to cart (Page load) · Begin checkout (Page load) · Contact (Page load) · 5x GA4 "submit_lead_form" · Website Purchases · GA4 purchase · calls · ...
Fix: Collapse to one or two real primary conversions (a true lead, and a valued enrolment), demote the rest to secondary, and delete the page-load codeless actions. This alone changes what the algorithm chases.
F2

Enhanced Conversions for Leads is off, so offline enrolments are invisible

CriticalGoogle Ads
You told us roughly 90% of sales close offline with your team. With Enhanced Conversions for Leads disabled and no offline-conversion import from HubSpot, Google never learns which clicks became $1,000 to $3,000 enrolments. It optimises toward cheap form-fills, not buyers.
customer.conversion_tracking_setting.enhanced_conversions_for_leads_enabled = (not enabled) · accepted_customer_data_terms = true
Fix: Turn on Enhanced Conversions for Leads, capture the gclid on every HubSpot lead, and upload won enrolments (with real $ value) back to Google. This is the single biggest lever for cost per enrolment.
F3

No server-side tracking (CAPI) and almost no Meta measurement

CriticalMeta / GTM
There is no Conversions API in place. In Google Tag Manager, Meta is represented by a single client-side "Lead" event on the contact form, with no base pixel page view, no ViewContent, no Purchase, no deduplication and no server-side events. Since iOS 14, browser-only tracking loses roughly 30 to 40% of signal.
GTM tags: 1x custom-HTML "FB Lead Event" (contact page) · 0 Meta Purchase · 0 CAPI / server container
Fix: Stand up server-side tracking (CAPI) with event deduplication and feed the same offline enrolment values back to Meta, included and client-owned in a Growth engagement.
F4

Dedicated Google Ads conversion tags are paused, and purchases double-count

HighGTM / Google Ads
Both dedicated Google Ads conversion tags in GTM are paused ("G-Ads Conversion Tracking - Purchases" and "- Checkout"). Meanwhile two purchase conversion actions run in parallel ("Website Purchases" with a $1,000 default value and a GA4 purchase with a $1 value), so purchases are both double-counted and inconsistently valued.
GTM awct tags: Purchases [PAUSED], Checkout [PAUSED] · Ads actions: Website Purchases defVal=1000, GA4 purchase defVal=1
Fix: Pick one source of truth per conversion, set a coherent value model, and remove the duplicates so bidding sees clean numbers.
03 · Data integrity (GA4)

The numbers you report on are not trustworthy yet.

F5

The conversions you care about are not firing

CriticalGA4 / GTM
Five lead events are marked as key events in GA4 but recorded essentially zero in the last 28 days: enrol-now, request-callback, contact-us form and newsletter sign-up. The reason is in the container: there are no GA4 event tags wired for them. The only conversions firing are call clicks, email clicks, a contact-form event, course-guide and demo-outbound clicks.
GA4 key events with ~0 in 28d: enroll_now_webform_submission, request_call_back_webform_submission, contact_us_webform_submission, newsletter_sign_up, qualify_lead
Fix: Wire the real enrolment and enquiry form submissions in GTM as GA4 events and Google/Meta conversions, with robust form-submit triggers rather than link clicks.
F6

GA4 currency is USD for an AUD business

HighGA4
The property currency is set to USD while your pricing, Google Ads account and the market are all AUD. Every revenue, value and ROAS figure in GA4 is converted and wrong, and any value passed to the ad platforms inherits the error.
GA4 property currencyCode = USD · Google Ads currency = AUD
Fix: Set the GA4 reporting currency to AUD and re-validate value mapping end to end.
F7

A rogue "Website GA4" event is firing ~46,000 times

HighGA4 / GTM
A custom event literally named "Website GA4" fires about 46,000 times in 28 days, almost one-for-one with page views. This is a misconfigured tag sending a junk event name on every page, which pollutes reports, dilutes audiences and wastes the data layer.
GA4 top events (28d): page_view 48,802 · "Website GA4" 46,351 · session_start 42,904
Fix: Correct or remove the misconfigured GA4 tag so events are named to your real interactions.
F8

Data retention is 2 months, enhanced measurement is off

MediumGA4
Event data retention is set to the minimum 2 months (should be 14) which limits analysis and audience building, and enhanced measurement (form interactions, outbound clicks, scrolls) is not enabled on the web stream.
Fix: Set retention to 14 months and enable enhanced measurement to recover free signal.
04 · Accounts and access

The picture has two blind spots we need to close.

F9

The Fast Track campaign is not in the account we can see

HighGoogle Ads
GA4 is linked to two Google Ads accounts: the one we were given (155-103-1020) and a second one (379-457-2800) we do not have access to. The account we can see runs "Cert 3 & 4 Fitness" and a Display remarketing campaign, but no Fast Track campaign. The failing Fast Track flash sale is either in that second Google account or in Meta.
GA4 googleAdsLinks: customers/3794572800, customers/1551031020 · visible campaigns: "Cert 3 & 4 Fitness", "Display - Remarketing"
Fix: Confirm which account runs Fast Track and grant read-only access to 379-457-2800 (and Meta) so the diagnosis is complete.
F10

Meta assets are shared to a personal user, not the business

HighMeta
The ad account (2380139355606982) and Facebook Page (711772165573752) have been shared to a single personal user with view access, not to our business or system user. Programmatic auditing and server-side tracking (CAPI) both require business or system-user access, so the Meta side cannot be fully audited or fixed until that is assigned. Given Meta has the weakest measurement of all the platforms, this is where the biggest gains likely sit.
Ad account 2380139355606982 + Page 711772165573752 shared to a person (View) · not assigned to business 302965443239889 / system user
Fix: In Meta Business settings, assign the ad account and pixel to 121 Group / Search Insights (Business ID 302965443239889) with view access (not only to an individual).
F11

Stale audiences and account clutter

MediumGoogle / Meta
You noted lookalike and customer-match audiences have not been refreshed in some time, and the account carries legacy clutter (for example a removed "IFA-Display Campaign Q2 2015" and several removed conversion actions). Stale seeds and old structure quietly drag performance.
Fix: Rebuild lookalike and customer-match audiences from live HubSpot customers and tidy the account structure.
05 · The live one

Fast Track flash sale: the diagnosis.

Spending now · needs a same-week fix

Why ~460 views and ~$1,000 produced zero recorded sales

The campaign is not in the Google account we were given, so it is almost certainly running in Meta or the second Google account. Wherever it runs, the findings above mean the platform cannot see a real outcome: there is no enrol or purchase conversion firing for it, Meta has only a single contact-form Lead event, the enrolment closes offline and is never fed back, and any value it does see is in the wrong currency. So the algorithm spends, sees clicks, registers no conversion, and keeps chasing the wrong people.

The fix: get access to the campaign's account, fire a real enrolment-intent conversion on that landing page, wire the offline enrolment back as a valued conversion, and re-point the campaign objective. This is a days-not-weeks fix once access is in.

From partial signal to near-complete feedback

Fixing tracking and closing the offline loop is what takes you from optimising on noise to optimising on real enrolments.

Today: broken events, no offline feedback, USD valuesa fraction of true conversions seen
partial & wrong
After: clean conversions + CAPI + offline enrolments95 to 99% of conversions seen, valued correctly
95-99%
06 · The plan

What we would fix, in order.

Days 1 to 10

Stop the bleed and rebuild the foundation

  • Collapse Google Ads to clean primary conversions, delete the page-load "conversions", fix the double-counted purchases
  • Wire the real enrol, callback and contact form submissions as GA4 events and Google/Meta conversions
  • Fix the GA4 currency to AUD, remove the rogue "Website GA4" event, set retention to 14 months
  • Get access to the Fast Track account and apply the same-week fix above
Days 10 to 30

Close the loop

  • Stand up server-side tracking (CAPI) for Meta and Google with deduplication
  • Turn on Enhanced Conversions for Leads and upload won HubSpot enrolments with real $ values to both platforms
  • Rebuild lookalike and customer-match audiences from live customer data
Month 2+

Scale on clean data

  • Move to value-based bidding now that real revenue flows back
  • Restructure campaigns by product (Fast Track, Combined Cert III & IV, NASM) across AU and NZ
  • Layer always-on social, content and the AEO program on top
Next step

The opportunity is real, and fixable.

Nothing here is a lost cause. It is a measurement layer that was never finished, and finishing it is the first four to six weeks of a Growth engagement, with the server-side and offline-conversion infrastructure included at no extra charge. To complete the picture we need read-only access to the Meta ad account and pixel, and to the second Google Ads account (379-457-2800).

Adam Ducquet · Managing Director, 121 Group · 1300 121 979