Marco Laterza (marcolaterza.ch) | Start date: Apr 28, 2026
No campaign changes that affect learning. Pure setup, assets, and LP work.
| Track | Where | What | How | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Google Ads Account | Remove redundant admin users | Go to Admin → Access & Security. Remove richardballa@gmail.com and philippsteubel@gmail.com if no longer active. Review and unlink the two Manager Accounts (374-116-6194 and 869-533-1076) — keep only the one actively managing the account. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
View Completion ReportFinding: The account had 4 access entities — 2 user accounts and 2 linked Manager (MCC) accounts. The two manager accounts (374-116-6194 and 869-533-1076) were identified as inactive/redundant. The user accounts richardballa@gmail.com and philippsteubel@gmail.com were associated with those manager accounts. Action Taken: User navigated to Admin → Access & Security. Both manager accounts were removed using the "Remove access" button. Both redundant users were removed as a result. Result after completion:
Status: ✅ COMPLETED |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Google Ads Account | Enable Enhanced Conversions for Leads | Go to Tools → Conversions → Diagnostics. Find "Enhanced Conversions for Leads" — currently Disabled (flagged as a blocker). Turn it ON. Single UI toggle, no developer needed. Estimated impact: +10–30% measurable conversions. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
View Completion ReportFinding: "Enhanced Conversions for Leads" was Disabled — flagged in the API audit as a blocker. This feature improves Google's ability to match conversions to users by hashing email/phone data from form submissions, resulting in +10–30% measurable conversions. Action Taken: Navigated to Goals → Conversions → Settings. Found the "Enhanced Conversions for Leads" toggle set to "Not configured yet." User enabled it and selected Google Tag Manager as the implementation method. Important note: The GTM configuration (adding Result after completion:
Status: ✅ COMPLETED (GTM dev config pending — Phase 1) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Google Ads Account | Investigate the competing third-party account | Go to SC Campaign → Auction Insights. Identify any external account running ads to marcolaterza.ch in the same auctions. Confirm with Marco if it belongs to a former agency. Request it be paused or redirected — it is inflating CPCs by an estimated 15–25%. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
View Completion ReportFinding: The API audit flagged that external Google Ads accounts (IDs 23690148650 and 23690164238) were potentially running ads to the same landing page (marcolaterza.ch/personal-training), which would inflate CPCs by an estimated 15–25% through self-competition in auctions. Action Taken: Navigated to SC Campaign → Insights and reports → Auction Insights. The auction insights table was completely empty — Google returned no data. Interpretation: An empty Auction Insights table means the SC Campaign does not yet have enough auction data to generate competitor reports (the campaign had only been running for ~14 days with 411 impressions). This is not a problem — it simply means there is not enough volume yet for the report to populate. It does not confirm or deny the presence of the competing accounts. Result after completion:
Status: ✅ COMPLETED (monitoring — revisit May 1) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Google Ads Account | Acknowledge Call-Only ads deprecation notice | Click "Fix it" on the orange banner. Check if any call-only ads exist in paused campaigns. Convert any active ones to call assets on existing RSAs (deadline: February 2027, but resolve now to avoid forgetting). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
View Completion ReportFinding: An orange warning banner appeared in the account referencing the Call-Only ad format deprecation (deadline: February 2027). The banner had a "Fix it" button. Action Taken: Clicked "Fix it" on the orange banner. Google applied a filter for Call-Only ad type across all campaigns. The result was: "No ads match your filters" — zero Call-Only ads exist anywhere in the account, including paused campaigns. Result after completion:
Status: ✅ COMPLETED (no action needed — account already clean) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
SC Campaign | Add geo targeting explicitly at campaign level | Go to SC Campaign → Settings → Locations. Add "Zürich, Switzerland" with a 20km radius as a campaign-level setting. Do the same for PMax. Currently both show "(none)" — relying on account defaults only, which is fragile. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
View Completion ReportFinding: The API audit showed both campaigns with geo = "(none)", suggesting they relied on account-level defaults. The audit recommended explicitly adding "Zürich + 20km radius" at campaign level to avoid fragile inheritance. Action Taken: Navigated to each campaign's Locations settings to verify.
Conclusion: Both campaigns already had correct and explicit geo targeting. No changes were necessary. The API audit's "(none)" reading was a display artifact, not a missing setting. Status: ✅ COMPLETED (already correctly configured — no changes made) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
SC Campaign | Add 6+ sitelink assets | Go to SC Campaign → Assets → Sitelinks. Add minimum 6 sitelinks: "Gratis Erstgespräch", "Personal Training Zürich", "Preise & Pakete", "Über Marco", "Ernährungsberatung", "Kontakt". Write 2-line descriptions for each. Zero learning impact, immediate CTR boost. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
View Completion ReportFinding: The SC Campaign had no sitelinks configured. Sitelinks expand the ad's footprint in search results, providing additional clickable links below the main ad. They directly improve Expected CTR and Ad Strength without affecting the learning phase. Action Taken: Created 6 new sitelinks with full 2-line descriptions each. All URLs were verified against the live marcolaterza.ch website structure (anchor-based navigation confirmed via JavaScript inspection). Sitelinks created:
Result after completion:
Status: ✅ COMPLETED (pending Google review) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
SC Campaign | Add a second RSA ad | Go to SC Campaign → Ads. Create a second RSA filling all 15 headline slots and all 4 description slots. Pin keywords "personal trainer zürich" and "personal training zürich" in at least 3 headlines. Target "Excellent" ad strength. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
View Completion ReportFinding: The SC Campaign has 1 existing RSA (Ad ID: 805321705412) with Ad Strength rated AVERAGE. Google recommends 2 RSAs per ad group for A/B testing. Having only 1 RSA limits Google's ability to find the best-performing creative combination and is a contributing factor to the AVERAGE strength rating. Action Taken: Full RSA copy was prepared. Pending Marco Laterza's explicit approval before creation in Google Ads. Prepared RSA Ad Copy:
Descriptions:
Pinning strategy: "Personal Trainer Zürich" pinned to Position 1, "Personal Training Zürich" pinned to Position 2 — guarantees primary keywords always appear in the ad title, directly improving keyword relevance and Quality Score signal. Target Ad Strength: Excellent Status: ⏳ PENDING MARCO'S APPROVAL — ready to execute immediately upon confirmation |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
SC Campaign | Add ernährungscoach zürich to negative keywords | Add this term to the "General Negatives" shared set. It drove 1 click at 21.96 CHF with 0 conversions in the last 14 days and is off-topic. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
View Completion ReportFinding: The search terms report from the API audit showed "ernährungscoach zürich" drove 1 click at 21.96 CHF with 0 conversions in 14 days. The term is semantically off-topic — users searching for a nutritional coach (Ernährungscoach) are looking for a different service than Marco's personal training offer and are unlikely to convert. The keyword was triggering via the existing "ernährungsberatung zürich" exact match keyword in the SC Campaign. Action Taken: Navigated to Tools → Shared Library → Exclusion Lists → "General Negatives" list (ID: 11716990283). Clicked the blue + button, entered [ernährungscoach zürich] in exact match format using square brackets, and saved. Result after completion:
Status: ✅ COMPLETED |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Landing Page | Audit H1/H2/H3 structure and crawler access | Open marcolaterza.ch/personal-training. Check heading hierarchy — does H1 contain "Personal Trainer Zürich"? Also check marcolaterza.ch/robots.txt and page source for any <meta name="robots" content="noindex"> tags. If crawlers are blocked, LP Experience score cannot improve regardless of content changes. Fix any blocking directives immediately. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Landing Page | Audit CTA and booking form | Check if the booking form is visible above the fold without scrolling. Submit a test entry and verify it reaches Marco's inbox. Confirm the form submission fires the "Request quote" conversion tag in GTM Preview mode. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Landing Page | Run PageSpeed Insights on mobile | Go to pagespeed.web.dev and test marcolaterza.ch/personal-training. Target: LCP < 2.5s on mobile. Mobile drives 90% of PMax conversions. Document the current score and share it with the developer. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
No campaign setting changes. All work is on the landing page and developer tasks.
| Track | Where | What | How |
|---|---|---|---|
|
|
Landing Page | Rewrite H1 to match primary keyword | H1 must contain "Personal Trainer Zürich" — e.g. "Personal Trainer Zürich — Individuelles Training mit Marco Laterza". This directly addresses the BELOW AVERAGE LP Experience score on all 9 measured keywords. Update in CMS. |
|
|
Landing Page | Add FAQ block targeting keyword and PAA intent | Add 5+ FAQ questions mirroring ad keywords and People-Also-Ask queries: "Was kostet ein Personal Trainer in Zürich?", "Was ist der Unterschied zwischen Personal Training und Coaching?", "Wie oft sollte man Personal Training machen?", "Bietet Marco Ernährungsberatung an?", "Wo findet das Training statt?". This signals content relevance to Google's QS algorithm. |
|
|
Landing Page | Verify meta-title matches primary keyword | Check that the <title> tag contains "Personal Trainer Zürich" and semantically matches the bidding keywords. Google uses the meta-title as part of LP relevance scoring. |
|
|
Landing Page (Developer) | Add user_data hand-off to gtag.js | Developer task: add gtag('set', 'user_data', {email: userEmail, phone: userPhone}) in the form-submit handler before the conversion event fires. Without this code fix, the Enhanced Conversions toggle turned on in Phase 0 will not actually improve the match rate. |
|
|
Landing Page (Developer) | Fix mobile page speed to achieve LCP < 2.5s | Based on the PageSpeed Insights results from Apr 28, brief the developer on what is causing the slowest LCP (typically unoptimized images, render-blocking scripts, or no lazy loading). Fix and re-test until LCP is under 2.5s on mobile. |
|
|
SC Campaign | Monitor CPC under 5 CHF cap — read only | Apr 29 is the first full day with CPC data under the new cap. Go to SC Campaign → Reports and note average CPC, max CPC, and impressions. Document only — do not change anything. |
3 days of data since Apr 28. Evaluate and act based on numbers.
| Track | Where | What | How |
|---|---|---|---|
|
|
Google Ads Account | Run performance report (Apr 28 – May 1) | Pull metrics for both PMax and SC: Imp., Clicks, CTR, Ø CPC, Cost, Conv., Conv.Value, CPL. Compare vs PRE period (Apr 20–26). Key questions: Is SC CPC at or below 5 CHF? Has PMax CPL stayed near 64 CHF or risen toward 80 CHF alert threshold? |
|
|
Google Ads Account | Pull Auction Insights baseline for SC | Go to SC Campaign → Auction Insights. Note top competing domains and their overlap rates. Save a screenshot — this is the benchmark to measure whether LP fixes improve Ad Rank over time. |
|
|
SC Campaign | Evaluate ernährungsberatung zürich keyword | Check if it is still spending with 0 conversions. QS is 1 across all 3 components. If still active and burning budget, pause it now. If the LP rework has added dedicated Ernährungsberatung content, keep it but move it to its own ad group (see Phase 3). |
|
|
SC Campaign | Decision point — keep or pause Search | If SC shows 0 conversions and CPC is still above 3 CHF despite the cap after 3 days, evaluate whether the 15 CHF/day budget is justified vs. consolidating into PMax. Make this call based on actual data. |
|
|
PMax Campaign | Upload video asset (if CPL ≤ 80 CHF) | If PMax CPL is still healthy, upload the prepared 15–30 second video to PMax Campaign → Asset groups → Lerngruppe → add video. Closes the -5.1% optimization gap. One change at a time. |
|
|
PMax Campaign | Enable Final URL Expansion | Go to PMax → Settings → Additional settings → Final URL Expansion → turn ON. Only do this if the LP H1/FAQ work from Phase 1 is already live. +8.5% optimization gain. |
| Track | Where | What | How |
|---|---|---|---|
|
|
SC Campaign | Separate ernährungsberatung zürich into its own ad group | Create a new ad group inside SC Campaign called "Ernährungsberatung Zürich". Move the keyword there. Write a dedicated RSA with headlines specifically about nutrition coaching. Point it to a dedicated section or page on the site. This stops it from dragging down the personal training ad group's QS. If no dedicated LP exists, pause the keyword instead. |
|
|
SC Campaign | Add a native lead form asset | Go to SC Campaign → Assets → Lead form. Create a form collecting Name, Phone, and "Interested in" (dropdown: Personal Training / Ernährungsberatung / Coaching). Allows leads to convert directly in search results, bypassing the LP — critical while LP fixes are still rolling out. |
|
|
PMax Campaign | Add a lead form asset to PMax | Same as SC — add a lead form asset inside the PMax asset group. Closes the -1.5% optimization gap and captures leads who click PMax ads but don't convert on the LP. |
|
|
SC Campaign | Expand with new exact match keywords from search terms report | Review the search terms report for Apr 28 – May 4. Add best-performing queries as exact match keywords, e.g. [personal trainer zürich buchen], [personal training zürich kosten], [fitnesscoach zürich]. Do NOT use broad match — budget is too small to absorb waste. |
|
|
SC Campaign | Expand negative keyword list from search terms | Add all irrelevant queries found in the search terms report to the shared negative sets. Examples from the Level 4 report: "life coaching zürich", "persönlichkeitscoaching zürich", "trainer in der nähe" (too generic). |
|
|
SC Campaign | Review keywords with no QS data | Keywords fitnesstrainer zürich, personal training in meiner nähe, personal trainer in meiner nähe have no QS assigned (< 10 impressions). If still at 0 impressions after 30 days from launch, pause them to keep the campaign clean and signals concentrated. |
|
|
PMax Campaign | Add audience signals for warm audiences | Go to PMax → Asset groups → Audience signals. Add: website visitor remarketing list (via GA4), customer list if available, and a custom intent audience built from search terms like "personal trainer zürich buchen" and "personal training kosten zürich". Helps PMax target higher-intent users faster. |
First full 7-day post-change dataset. Main decision gate.
| Track | Where | What | How |
|---|---|---|---|
|
|
Google Ads Account | Run full 7-day post-change report (Apr 28 – May 4) | Pull the same metrics table as the API analysis for both campaigns. This is the first statistically meaningful comparison. Check all KPIs vs. PRE period. |
|
|
SC Campaign | Decision: switch bid strategy to Maximize Conversions | If SC has recorded 3+ conversions (aided by the lead form asset and LP fixes), switch from "Maximize Clicks / TARGET_SPEND" to "Maximize Conversions" in SC Campaign → Settings → Bidding. Do NOT make this switch before — the algorithm needs conversion data first. |
|
|
PMax Campaign | Review CPL and decide on budget increase | If PMax CPL is still ≤ 50 CHF and weekly conversions ≥ 5, increase daily budget from 25 CHF to 30–35 CHF. If CPL has risen above 80 CHF, hold at 25 CHF and investigate. |
|
|
PMax Campaign | Check IS Lost (Rank) — target below 60% | Level 6 showed PMax losing 79.42% of impressions to rank. After video, URL expansion, and audience signals are added, this should be improving. If still above 60% on May 7, the asset group needs a deeper creative refresh (new images, rewritten headlines). |
|
|
Google Ads Account | Compare Auction Insights vs. May 1 baseline | Pull Auction Insights again and compare overlap rates with competitors vs. the May 1 snapshot. Are CPCs dropping? Is impression share rising? This confirms whether the competing third-party account situation is being resolved. |
|
|
Google Ads Account | Review secondary conversion actions | Go to Tools → Conversions. Check if "Termin erfolgreich gebucht" (Calendly) and "Lead-Formular – senden" are firing. If Calendly bookings represent real qualified leads, consider promoting it to a primary conversion action to give Google's bidding more signal. |
|
|
Google Ads Account | Clean up 15 removed conversion actions | Confirm all 15 removed actions are cleanly archived and not accidentally re-enabled. No changes needed if clean — just verify. |
|
|
SC Campaign | Evaluate pausing remaining underperforming keywords | With 7 days of data, pause any keyword still at QS 1–2 AND 0 conversions AND 0 impressions growth. Focus budget on the QS 3 keywords (personal trainer zürich, personal training zürich) which show ABOVE Ad Relevance. |
| Track | Where | What | How |
|---|---|---|---|
|
|
PMax Campaign | Create second asset group for Ernährungsberatung | Once Lerngruppe has run cleanly for 2+ weeks, create a second PMax asset group with its own headlines, descriptions, images, and LP URL focused on the nutrition coaching offer. Allows PMax to serve differentiated creatives to different intent signals. |
|
|
Google Ads Account | Weekly performance review (every Monday) | Pull prior week data for both campaigns: CPL, conversions, CPC, IS. Alert thresholds: PMax CPL > 80 CHF → pause budget increase. SC CPC > 5 CHF under cap → investigate. |
|
|
SC Campaign | Monthly search term audit (1st of each month) | Open SC → Search terms report for prior month. Add high-intent new terms as exact match keywords. Add all irrelevant terms to the shared negative lists. |
|
|
PMax Campaign | Monthly asset refresh | Swap in one new image asset or updated ad copy once a month. One change at a time, wait 2 weeks to assess impact. Goal: move asset group from "Good" to "Excellent" strength. |
|
|
Landing Page | Track LP Experience score monthly | Check QS sub-components (Expected CTR, Ad Relevance, LP Experience) at start of each month. Goal: move all keywords from BELOW to AVERAGE on LP Experience within 60 days of the LP fixes going live. |
| Date | Key Action |
|---|---|
| Apr 28 | Admin cleanup, Enhanced Conversions ON, sitelinks, 2nd RSA, geo targeting, LP + PageSpeed audit |
| Apr 29–30 | LP H1 rewrite + FAQ + meta title, user_data developer fix, mobile speed fix, monitor-only on campaigns |
| May 1 | First checkpoint — video to PMax, Final URL Expansion, SC evaluation |
| May 2–7 | Lead form assets, ernährungsberatung ad group split, keyword expansion, audience signals |
| May 7 | Second checkpoint — SC bid strategy switch, PMax budget decision, IS Lost review |
| May 7+ | Weekly reviews, monthly search term audits, second PMax asset group |