Google Ads Account Audit

Peninsula Center of Cosmetic Dentistry

Los Altos · Mountain View · Gen4 Dental Brand

Audit Date
2026-05-14
Account IDs
112-277-9235 + MV
Managed By
WNDR (per campaign tag)
Period
Account live since 2024-07-25 (~10 months)
Data Source
Google Ads Editor whole-account export
Audit Scope
Structural only (no performance data)
Overall Grade: Critical

The agency has built a thorough framework but is operating it with structural settings that throttle a $26,000/month cosmetic dental program. The strongest work is the negative keyword infrastructure (six shared lists, 3,300+ negatives). The most damaging issues are conversion tracking that visibly captures only phone calls from the call extension, brand campaigns that are paused on both accounts (leaving doctor-name queries exposed to competitor conquest), a -100% desktop bid modifier applied across most cosmetic-relevant campaigns, and financing absent from 99.5% of ad copy in a Bay Area cosmetic market where financing is the conversion lever for $15K-30K cases.

The account also has no Customer Match audiences, no dental implant or full-arch campaigns despite the practice being named "Peninsula Center of Cosmetic Dentistry," and three abandoned Performance Max attempts on the Los Altos account alone. This audit lists nine Critical issues, eight Needs-Work issues, and three Strengths. Highest-leverage fixes are listed in the prioritized action plan below.

01Headline Scorecard

Structural snapshot of both accounts as of 2026-05-14. Performance numbers (CPA, ROAS, conversion volume, search-term waste) require the YTD web-UI exports and are flagged in the "What's Missing" section.

Combined Enabled Spend
~$26.3K
$17K LAL + $9.3K MV per month
Conversion Actions Visible
1
Call Extension only
Active Campaigns
11
17 paused or ended
Brand Campaigns
Paused
Both accounts
Customer Match Lists
0
No first-party data
Implant / Full-Arch Coverage
None
No campaigns, no keywords
Financing in Headlines
0.5%
15 of 3,232 headlines
Single-RSA Ad Groups
81%
149 of 184 ad groups
Negatives Applied
3,300+
6 shared lists, 11 campaigns
Service-Line Segmentation
10 lines
Better than dental average
Active PMax Campaigns
2
3 others abandoned
Image Assets
77
Account-level only

02Eleven-Pillar Scorecard

Standard paid-media audit framework applied to a cosmetic dental account. Scores reflect structural inspection only; conversion-driven pillars (search term waste, change history, performance) await the YTD UI exports.

#PillarScoreHeadline Finding
1Account Structure & TaxonomyNeeds WorkService-line separation exists but funnel is BOFU-only; cosmetic services collapse to one campaign per account.
2Conversion Tracking IntegrityCriticalOnly Call Asset Phone Call is visible. No form, no booking, no scored-call tracking surfaced in the Editor export.
3Bid Strategy FitNeeds WorkAll campaigns on Max Conversions with target $0. Account is 10 months old; tCPA with real targets is overdue.
4Keyword Strategy & Match TypeStrong2,515 positive keywords across phrase + exact. Cosmetic long-tail (veneers + city + CA) is solid.
5Negative Keyword HygieneStrongSix shared negative lists totaling 3,300+ unique negatives applied across 11 campaigns. WNDR did this well.
6Search Terms Quality (n-gram)N/A — data neededRequires YTD search-terms report from the web UI.
7Audience LayeringCriticalTwo interest-based audiences, no Customer Match, no remarketing, no lookalikes despite multi-year patient data.
8Ad Copy & AssetsCriticalFinancing absent. Generic templated copy. 81% of ad groups have one RSA. Policy-risk superlatives across callouts.
9Extension / Asset CoverageNeeds WorkSitelinks and callouts well-covered. Call extensions on every LAL campaign; MV coverage thinner. No location asset linked to GBP.
10Geo, Schedule, DeviceCriticalDesktop -100% on most cosmetic-relevant campaigns. Location targeting mixes Presence and Presence-or-Interest.
11Change History & Management CadenceN/A — data neededRequires YTD change history export from the web UI.

03Campaign Inventory and Budget Allocation

11 enabled campaigns across two accounts at a combined daily budget of $864.12 (~$26,269/month). 17 additional campaigns sit paused or ended.

Los Altos (PCCD-LAL) — $557.87/day enabled (~$16,959/month)

CampaignTypeStatusDaily BudgetBid StrategyDesktop Mod
Search - CosmeticSearchEnabled$162.54Max Conv-100%
Search - GeneralSearchEnabled$142.44Max Conv-10%
Search - SedationSearchEnabled$84.77Max Conv0
Search - CrownsSearchEnabled$72.21Max Conv0
Search - EmergencySearchEnabled$71.63Max Conv0
PMax - GeneralPMaxEnabled$24.28Max Conv0
Search | BrandSearchPAUSED$13.50Max Conv0
Dentist - Near MeSearchPAUSED$85.00Max Conv-100%
Dentist | After HoursSearchPAUSED$30.00Max Conv-100%
Search | Cosmetic - LP #2SearchPAUSED$58.70Max Conv-100%
Bonding, Smile Makeover, Invisalign, PMax 1, PMax NewVariousPAUSED$103.00MixedMixed

Mountain View (PCCD-MV) — $306.25/day enabled (~$9,310/month)

CampaignTypeStatusDaily BudgetBid StrategyDesktop Mod
Search - GeneralSearchEnabled$70.98Max Conv-100%
Search - CosmeticSearchEnabled$64.69Max Conv-100%
Search - EmergencySearchEnabled$62.60Max Conv-100%
Search - SedationSearchEnabled$50.00Max Conv-100%
Search - After Hours GeneralSearchEnabled$32.85Max Conv-100%
PMax - GeneralPMaxEnabled$25.13Max Conv0
Search | BrandSearchPAUSED$10.00Max Conv0
Bonding, Smile Makeover, Near Me, PMax 1VariousPAUSED$321.65MixedMixed

04Critical Findings

Nine issues rated Critical. Each is observable in the Editor export and each materially throttles the program in its current state.

C1. Conversion tracking visibly captures only call-extension phone callsCritical

The only conversion action referenced across the entire export is "Call Asset Phone Call" (12 references). No form-submission conversion, no website call tracking, no booked-appointment offline import is visible. This account spends $26,000/month on a service where the typical cosmetic consultation is generated via a form on a NewPatientSpecial landing page or a website call (not just a call extension tap). If forms are being tracked at the account-level "Standard conversion goals" layer, that field is empty on every campaign in this export.

FixConfirm with the agency: which exact conversion actions are configured at the account level? Pull the Conversions Summary from the Google Ads UI. If forms on the newpatientspecial.com landing pages are not flowing back as conversions, Smart Bidding is optimizing toward a single channel of intent only. Without form + scored-call + booked-appointment OCI, the agency cannot grade on cost per booked case (the only metric that matters for cosmetic).
C2. Brand campaigns paused on both accountsCritical

Both accounts have well-built brand campaigns covering the practice name plus six doctor names (Marlana Shile, Joseph Field, Karl Supal at LAL; Theresa Ta, Scott Oh, Ratna Indah, plus "mountain view dental arts" at MV). Combined daily budget if enabled would be $23.50. They are paused. Every time a patient searches for the practice by name or for one of the doctors, a competitor can win the click and the practice pays nothing to protect its own brand. In the Bay Area dental market this is unforced spend leakage.

FixEnable both brand campaigns. Set bidding to Target Impression Share at 95% or higher. Confirm budget is sufficient (typically $200-500/month for brand combined). Audit search terms after 30 days for any non-brand bleed.
C3. Desktop bid modifier set to -100% on cosmetic-relevant campaignsCritical

Desktop modifier is -100% on Search Cosmetic LAL ($162.54/day), Search Cosmetic-LP #2 LAL, Bonding LAL, Smile Makeover LAL, all five enabled MV campaigns, plus several paused campaigns. -100% means desktop traffic gets zero impressions on these campaigns. For cosmetic dentistry, desktop is 30-40% of the addressable audience (these are researchers comparing veneer dentists on bigger screens). The agency has effectively eliminated a third of the cosmetic market.

FixRemove the -100% desktop modifier across all cosmetic, Crowns, and General campaigns. If desktop is genuinely worse on this account (verifiable from device-segmented performance data we don't have), adjust to a measured -20 to -40%, not -100%.
C4. Financing absent from ad copyCritical

Out of 3,232 unique headlines and 857 descriptions across 221 ads, financing language appears in 15 headlines (0.5%) and 0 descriptions (0.0%). No "$X/month" copy. No Care Credit / Sunbit / Cherry / LendingClub mentions in ad copy. For a Bay Area cosmetic practice where a veneer case runs $15K-30K and full-arch reaches $40K+, financing is the second-most-clicked decision behind the offer itself. The callout extensions do include "Flexible Financing" once, but it doesn't show up in headlines or descriptions where it would drive click-through.

FixAdd a financing headline ("As Low As $XXX/Month with Approved Credit") and a financing description to every cosmetic ad group. Use callout "Care Credit Accepted" alongside "Flexible Financing." Verify all NewPatientSpecial cosmetic landing pages show financing partner logos above the form.
C5. No Customer Match audiencesCritical

Zero Customer Match lists are uploaded. The two audience attachments on the account are interest-based ("Cosmetics - Professionals" targeting "Banking & Finance > Avid Investors"; "General Dentist - Parents" with no segments populated). Each practice has been operating for years and has a patient list, a cosmetic-treatment history, and unbooked-consult records sitting in their PMS. None of that is feeding Google Ads as audience signal, exclusion, or Offline Conversion Import.

FixPull the patient list from the practice's PMS (Dentrix, Open Dental, or whichever Gen4 standardizes on). Build four Customer Match lists: (a) existing patients last 24 months (exclusion from prospecting), (b) past cosmetic patients (lookalike source for prospecting), (c) past consults who did not book treatment (re-engagement audience), (d) email subscribers who are not patients (warm prospecting). Refresh quarterly.
C6. No implant or full-arch campaignsCritical

The practice is named "Peninsula Center of Cosmetic Dentistry" and the structured snippet lists "Implants & Dentures" as a service. Yet there are zero dental implant keywords across either account, no full-arch campaign, no All-on-4 ad group, no veneers + implants combo strategy. Implant searches in Los Altos and Mountain View are some of the highest-value commercial queries in dental ($25-60 CPC, $3,500-50,000 case value). The practice is leaving the most lucrative service line entirely uncovered on paid search.

FixConfirm with the practice manager whether implants and full-arch are services they actually deliver and want to grow. If yes, launch dedicated Implants and Full-Arch campaigns following the playbook in cosmetic-dental-paid-media-audit/references/cosmetic-playbook.md. Single-tooth implant CPB targets $400-1,200 in Tier 1; full-arch $1,500-5,000.
C7. Location targeting set to "Presence or Interest" on multiple campaignsCritical

Targeting method is "Location of presence or Area of interest" on Bonding LAL, Smile Makeover LAL, Dentist Near Me LAL, Brand LAL, After Hours LAL, Crowns LAL, Cosmetic-LP #2 LAL, both Test LP campaigns, the older PMax LAL, plus Bonding MV, Near Me MV, and Smile Makeover MV. "Presence or Interest" leaks budget to searchers who are merely researching about the area but don't live there. For a local dental practice, this is unforced waste.

FixSet all campaigns to "Presence" only. This is a 5-minute fix per campaign and eliminates an entire category of unqualified clicks.
C8. Templated, generic cosmetic ad copy with no offer differentiationCritical

The same description copy ("Experience A Dental Transformation That Prioritizes Your Comfort And Confidence. Call Now.") appears across many cosmetic ad groups. The Bonding ad group sends searchers to the same smile-makeover landing page as the Veneers ad group. Headlines lean on "Smile Test Drive" as the primary offer (good idea, generic execution). 81% of ad groups have a single RSA, leaving no A/B test surface. The cosmetic copy is not differentiated by service line, doctor, or case value bracket.

FixBuild two RSAs per ad group minimum, one financing-led, one outcome-led. Differentiate Bonding LP from Veneers LP (Bonding is a different intent and price tier). Lead with the doctor's name and specific cosmetic case count where credible.
C9. Three Performance Max campaigns abandoned on LAL; campaign sprawlCritical

Los Altos has three Performance Max campaigns: an old one with 10 themed asset groups (paused), a "PMAX New" one with a single generic asset group (paused), and an enabled "PMax General" with three asset groups whose search themes include the literal text "GEO" instead of "Los Altos" (e.g., "dentist in GEO", "best dentist in GEO"). The enabled PMax asset groups also have zero videos and only three headlines per group. This is the classic PMax Dump Truck anti-pattern: keep trying, never tune, never commit. Mountain View shows the same pattern with two PMax campaigns.

FixConsolidate to one Performance Max campaign per account. Pick the best historic performer (use change history to identify which one), repopulate asset groups with the proper Los Altos / Mountain View geo terms (replace "GEO" placeholders), upload videos, attach Customer Match lists as audience signals, and add brand exclusions. Pause all other PMax campaigns permanently.

05Needs-Work Findings

Issues that don't rise to Critical but limit performance ceiling or expose policy risk.

W1. All bid strategies on Max Conversions, no tCPA target setNeeds Work

All 11 enabled campaigns run Max Conversions with target_cpa = $0. The account has been live since July 2024 (10+ months). For Search campaigns at $2K-5K monthly spend with sufficient conversion volume, Target CPA is the standard next step. Max Conversions on a fixed daily budget produces erratic spend and no CPA discipline.

FixFor each campaign with 30+ conversions/month, switch to Target CPA. Set the target ±10-15% of current achieved CPA (need performance data to confirm). For campaigns under 30 conv/month, stay on Max Conversions but cap budget to 5x current CPA equivalent.
W2. 36% of PMax search themes use superlative or unfilled placeholder languageNeeds Work

77 of 213 PMax search themes include "best", "top", "most highly rated", or contain the literal text "GEO" as a placeholder. Themes drive impression matching; ad copy must legally substantiate claims it can deliver. The agency is asking Google to serve ads on "best cosmetic dentist near me" while the ad creative cannot claim to be the best.

FixReplace superlative-only themes with intent-led themes ("cosmetic dentist Los Altos", "veneer specialist Bay Area"). Replace every "GEO" placeholder with the actual market name. Audit Recommendations tab for auto-applied superlative themes.
W3. Policy-risk callouts and headlinesNeeds Work

Callouts include "Award-Winning Team", "Nationally-Recognized", "World-Class Dentists", "Renowned Cosmetic Dentist", "Renowned Dentists", "Renowned Dental Office", "Renowned Office". Headlines include similar superlatives at 4.2% frequency (136 of 3,232). One ad is currently in "Approved Limited" status (the "Local Sedation Dentistry" RSA in PCCD-MV General). The disapproval window for Bay Area healthcare is tightening; these phrasings will catch up with the account.

FixReplace unverifiable superlatives with verifiable claims: "4.9 on Google Reviews" instead of "Renowned"; "Featured in <publication>" if true; specific awards (with verifiable source) instead of "Award-Winning". Resolve the limited ad's policy issue.
W4. Single RSA per ad group on 81% of ad groupsNeeds Work

149 of 184 ad groups have one RSA only. Two RSAs minimum per ad group is current best practice so the algorithm has a serve-rate test surface. With one RSA, no learning is possible.

FixAdd a second RSA to every cosmetic ad group with differentiated angle (financing-led vs outcome-led, or doctor-name-led vs offer-led). Track winning variant after 4 weeks.
W5. Audience layering nearly emptyNeeds Work

Only two audience attachments visible (Cosmetics - Professionals; General Dentist - Parents). Both are interest-based. Search campaigns benefit from Observation audiences (in-market dental services, custom intent from research queries). Demand Gen and PMax benefit from Customer Match seeds and lookalikes. None of these are in place.

FixAttach in-market "Dental Services" audience as Observation on all Search campaigns. Build custom intent audiences from queries like "veneers cost", "implant alternatives", "cosmetic dentist Los Altos" for use as PMax audience signals. Layer in Customer Match (see C5).
W6. Single landing page across multiple cosmetic intentsNeeds Work

52 ads on PCCD-LAL point to the same /nps page; 25 ads point to /smilemakeover-losaltos2 including the Bonding, Veneers, Cosmetic Dentist, and Smile Makeover ad groups. A Bonding searcher (typically a one-tooth, lower-ticket prospect at $300-1,000) is landing on a Smile Makeover full-treatment page, which mismatches the offer and depresses conversion rate. The Sedation campaign also routes to pccdsmiles.com (the real practice site) while everything else routes to newpatientspecial.com, inconsistent tracking and design.

FixBuild dedicated NewPatientSpecial pages for Bonding (lower-ticket, faster-funnel) and Veneers (high-ticket, financing-led). Standardize sedation traffic to the same NewPatientSpecial framework or move all cosmetic to the practice site, but pick one and instrument it.
W7. Image assets at account-level only; no video in active PMaxNeeds Work

All 77 image assets sit at the account level (45 LAL + 32 MV). The enabled "PMax - General" asset groups on both accounts contain zero videos. The paused older PMax campaigns had three videos per asset group, suggesting WNDR has assets but didn't migrate them. For cosmetic, video is the highest-converting Demand Gen / PMax creative.

FixMove 3-5 image assets per active PMax asset group from account-level inheritance to campaign-level for theme alignment. Add 2-3 videos per active PMax asset group (reuse the paused PMax's videos as a starting point). Build a Demand Gen campaign for cosmetic if budget allows.
W8. No Local Service Ads (LSA) presence noted; no location asset visibilityNeeds Work

Dental LSA is increasingly available in California metros. The account does not show any LSA activity in this export. Location asset (linking to Google Business Profile for the location extension) is not visible in the Editor export's asset section. LSA charges per qualified lead and sits above paid Search, providing diversification.

FixConfirm whether dental LSA is available in Los Altos and Mountain View metros. If yes, set up LSA for both practices. Confirm location asset is linked to GBP in Google Ads for each practice and is attached to every relevant Search campaign.

06Strengths Worth Preserving

The agency has done some things well. Audit reports that don't acknowledge what's working undermine their own credibility.

S1. Negative keyword infrastructureStrong

Six shared negative lists applied across 11 campaigns: Universal Negatives (188 KW), International City/Country Negatives (275 KW), Medicaid/Medicare Negatives (210 KW), PCCD-LAL Negatives & Competitor (2,546 KW), All States Except CA (96 KW), PMAX Negatives (16 KW). Plus 140 PMax placement exclusions. This is the most labor-intensive part of dental Google Ads management and WNDR has done it. Most "templated dental agency" accounts have a fraction of this.

S2. Service-line separation across 10 linesStrong

Distinct campaigns for Cosmetic, Crowns, Sedation, Emergency, Invisalign, After Hours, Near Me, General, plus Bonding and Smile Makeover (paused). Better service-line segmentation than the typical dental agency. The structural skeleton is sound; the failures are in settings, copy, and tracking, not in architecture.

S3. Cosmetic long-tail keyword coverage is thoroughStrong

The Cosmetic campaign on LAL has 244 positive keywords with strong long-tail coverage: "best veneer dentist in Los Altos", "complimentary consultation veneers Los Altos", "best dentist for veneers Los Altos CA", phrase + exact combinations on geographically-anchored queries. The keyword list is one of the better-built parts of the account.

07Prioritized Action Plan

Sorted by impact-to-effort ratio. Items 1-5 are this-week fixes; items 6-12 are 30-day; items 13+ are 60-90 day projects.

#ActionEffortImpactOwner
1Enable both Brand campaigns. Set to Target Impression Share 95%+.LowHighWNDR
2Remove -100% desktop bid modifier from all cosmetic-relevant campaigns.LowHighWNDR
3Set location targeting to "Presence" only on all campaigns currently set to "Presence or Interest."LowMedWNDR
4Replace "GEO" placeholder text in active PMax search themes with actual market names.LowMedWNDR
5Pull Conversion Summary from web UI. Confirm what form, call, and booking conversions are configured. Verify Enhanced Conversions enabled.LowHighSGA + WNDR
6Add a financing headline and description to every cosmetic ad group. Update callout extensions to include "Care Credit" / "$0 Down Available".MedHighWNDR
7Add a second RSA per cosmetic ad group, differentiated by angle (financing vs outcome).MedMedWNDR
8Replace policy-risk superlatives ("Renowned", "World-Class", "Nationally-Recognized") with verifiable claims ("4.9 on Google", "Featured in [pub]", specific awards).MedMedWNDR
9Build separate Bonding and Veneers landing pages. Stop sending Bonding traffic to the Smile Makeover page.MedMedWNDR + NPS
10Consolidate PMax to one campaign per account. Pause the abandoned PMax campaigns permanently. Add video assets to active PMax asset groups.MedMedWNDR
11Switch eligible Search campaigns from Max Conversions to Target CPA once Conversion Summary verified and targets defined.MedMedWNDR
12Resolve the "Approved Limited" ad in PCCD-MV Search General (Local Sedation Dentistry RSA).LowMedWNDR
13Upload four Customer Match lists per practice: existing patients (exclusion), past cosmetic patients (lookalike), unbooked consults (re-engagement), email subscribers (warm prospecting).HighHighSGA + WNDR
14Launch dedicated dental implant campaign for both practices. Single-tooth implant CPB target $400-1,200 in Tier 1 Bay Area.HighHighWNDR
15Evaluate full-arch / All-on-4 service availability and launch dedicated campaign if in-scope.HighMedSGA + practice
16Set up Offline Conversion Import: book-to-treatment data flowing from PMS back to Google Ads as Primary conversion.HighHighSGA + WNDR + PMS
17Evaluate Local Service Ads (LSA) eligibility for both metros and launch if available.MedMedWNDR
18Build cosmetic Demand Gen / YouTube top-of-funnel campaign once Customer Match lists are in place.HighMedWNDR

08What This Audit Could Not Cover

Google Ads Editor exports are structural. The following data sets are required for a full audit and should be pulled from the Google Ads web UI for both account IDs.

MissingWhat it would unlock
Search Terms Report (YTD)N-gram analysis of wasted spend. Quantification of off-intent search-term spend. Validation that negative keyword list catches what's actually showing.
Change History (YTD)Agency management cadence. Frequency of meaningful changes. Confirmation of which anti-patterns apply (Monthly Touch, Cosmetic Change Volume, Auto-Apply Theater, Bid Strategy Roulette).
Campaigns-by-Day with conversion data (YTD)True CPA per campaign. ROAS if revenue tracked. Pacing patterns. Seasonality. Concrete dollar figure on wasted spend.
Conversions SummaryVerification of what conversion actions are actually configured at account level. Source, count method, attribution model, click-through window, Enhanced Conversions status. Primary vs Secondary discipline.
Auction InsightsCompetitor landscape, impression-share-lost-to-rank, position vs key competitors (e.g., Aspen Dental, ClearChoice if implants).
Device-segmented performanceWhether the -100% desktop bid modifier was data-driven or arbitrary. (Almost certainly arbitrary, but performance data would confirm.)
How to pull the missing data
  1. Google Ads web UI → Insights & Reports → Search Terms → YTD → download CSV (both account IDs)
  2. Tools menu → Bulk Actions → Change History → YTD → filter "All users" → download CSV
  3. Campaigns view → YTD date range → Segment by Day → download CSV
  4. Tools menu → Goals → Conversions → Summary → download CSV
  5. Select all campaigns → Auction Insights button → download CSV
  6. Drop into inputs/google-ads/PCCD-LAL/ and inputs/google-ads/PCCD-MV/ respectively