Oregon Hood Cleaning logo × Slice of the Pie Marketing logo mark
Paid Media Audit · Google Ads + Meta · Pulled August 14, 2026

You're paying for ads. You're mostly not buying customers.

We went into the actual accounts: Google Ads year to date, plus the March, May, and July Meta reports from the current agency. Every number below came straight out of the platforms on August 14, 2026. The short version: most of the Google budget is leaking into display placements on campaigns labeled "Search," the conversion counting is inflated by click events, and the Meta account has been running one campaign named "Testing" since October.

Google YTD spend $10.9K
Impressions from Display, not Search 93%
Search impression share 19%
Meta cost per lead since March +70%
Google Ads · January 1 to August 13, 2026

The account says 470 conversions. The bank account disagrees.

On paper this is a healthy account: $10.9K spent, 7,422 clicks, 469.97 conversions at $23.26 each. Underneath, the structure and the tracking are working against you.

Campaign (YTD)ImpressionsClicksReported conv.Cost / conv.
Search | General | BV139,9893,126200.49$20.02
of which Google Search4,23538377.49$30.67
of which Display Network135,7542,743123.00$13.31
Search | NB | Hood Cleaning | BV85,7732,260186.51$24.75
of which Google Search4,68244396.51$23.83
of which Display + partners81,0911,81790.00$25+
Smart Campaign | Kitchen Exhaust | BV97,2542,03682.97$27.71
of which Display Network87,2021,4835.00$79.57
Account total323,0167,422469.97$23.26

Source: Google Ads campaigns view with network segmentation, Jan 1 to Aug 13, 2026, pulled live August 14. Real Google Search impressions across all three campaigns: about 17,000 YTD. The other 300,000+ impressions are display placements and search partners riding on campaigns named "Search."

01

93% of your impressions are not searchStructure

Both "Search" campaigns have Display Expansion turned on, and the Smart Campaign pushes 90% of its volume to display too. Display clicks cost $0.60 to $0.74, which looks efficient, until you see what they convert into (finding 03). Meanwhile actual searches for hood cleaning, the people typing "hood cleaning near me" with a checkbook open, only see your ad 19% of the time.

Evidence: network segmentation, YTD. Search impression share 19.32% account-wide; 26.71% on General, 16.26% on non-brand. Display: 135,754 + 79,190 + 87,202 impressions.
02

A competitor is buying your name, and winningStructure

Google's own account insight says it: on the keyword "oregon hood cleaning," your impression share is 38% while gofilta.com has climbed to 31% and rising. Someone searching for you by name has nearly a coin-flip chance of seeing GoFilta first. There is no dedicated brand campaign to defend it, and brand defense is the cheapest click in advertising.

Evidence: Google Ads "Top insights," August 14: gofilta.com impression share on your brand term up from 22% to 31% month over month.
03

The conversions are mostly clicks, not customersTracking

The account has 19 conversion actions. Among the ones set to Primary, counted "every" time, with 90-day windows: GA4 events for clicking the phone number on the website, including separate click events for Portland, Bend, Eugene, and Vancouver numbers. Clicking "Pay Your Invoice" is tracked too. Meanwhile the actual lead form click event is set to Secondary, and Google shows a warning that the submit lead form goal has no primary action at all. Smart Bidding is being told that a display visitor who taps a phone number, or pays an invoice, is a win. That is the machine you have asked to spend your money.

Evidence: Conversions summary, August 14: "Your submit lead form goal cannot be used for optimization because it does not have any primary conversion actions." Primary + Every + 90-day click events confirmed for phone_call_clicks, portland_(503) 389-2163_clicks, bend, eugene, vancouver variants.
04

Account hygiene says nobody is watchingStructure

A Smart Campaign duplicates the search campaigns' job with worse economics ($79.57 per display conversion). Six paused campaigns sit in the account, three of them literally named "1," "1 #2," and "1 #3." And this week Google flagged that conversions on both active search campaigns dropped more than 66%. When the real search CPC is $5 to $6 and a new account is worth thousands a year in recurring cleanings, this account deserves a driver.

Evidence: campaigns list and in-account alert, August 14, 2026. Account budget $51/day across 9 campaigns.
Meta Ads · BlueVine's own monthly reports

One campaign, ten months, still called "Testing"

The March, May, and July reports you shared all describe the same single campaign: "BV Lead Gen | Testing - 2 | 10-03-2025." Here is what it did across those three months.

Month (2026)SpendLeadsCost / leadCTRCPCEst. frequency
March 2 to 31$1,163.8424$48.491.33%$1.163.0
May 2 to 31$1,073.3116$67.081.26%$1.572.7
July 2 to 31$1,652.8220$82.640.90%$1.823.6

Source: BlueVine Digital's Swydo reports for Oregon Hood Cleaning, campaign performance tables, read August 14, 2026. Frequency estimated as impressions divided by reach from the same tables.

05

Cost per lead is up 70% in four monthsAnalyze

$48 in March. $67 in May. $83 in July, while spend went UP. CTR fell a third and CPC rose 57% over the same stretch. That pattern has one name: creative fatigue. The same audience of roughly 25,000 to 28,000 people has been shown the same campaign for ten months, hitting each person three to four times a month. They have stopped clicking, so Meta charges more for every click.

Evidence: the three Swydo campaign tables above. Reach was 24,911 in March, 20,119 in May, 27,967 in July: the same pond, fished continuously since October 2025.
06

Three ads run today. All static, all stock, all one angle.

The Meta Ad Library shows exactly three active ads, launched July 2 and July 15. Two are meme-format cards with stock models ("When the health inspector grabs the flashlight..."). One is a text card asking "Unhappy with your hood cleaners?" All three share the same primary text, word for word. There is no video, no real before and after photo, no crew, no owner, no client name, no testimonial. Your single best marketing asset, real photos of ducts going from grease-caked to bare metal, has never been an ad.

Evidence: Meta Ad Library, "Oregon Hood Cleaning," August 14, 2026: 3 active ads, IDs starting 1743..., 2149..., 2747... The shared copy also opens with an em dash, which is its own tell about where it came from.
07

Leads stay on Facebook, and the report watches itself looselyTracking

All leads are on-Facebook instant forms. Nobody visits your website, so no remarketing pool builds, no pixel signal accumulates, and lead quality rides entirely on a form Meta autofills. And one more detail worth knowing: the "Active Campaign Performance" widget in your monthly reports shows the identical numbers (28,719 reach, 18 leads, $93.95 per lead) in the March report, the May report, and the July report. It is a static widget that does not follow the month being reported. Nobody caught it.

Evidence: side-by-side reads of the three Swydo share links you provided, August 14, 2026.
Optimize · First 30 Days

Seven fixes, in payback order

The Creative Bench

20 ad concepts, ready to test

Ten static, ten video. Every one is built from something true about this business: the photos, the certificate, the fire code, the founder, the 5,400 kitchens. No stock models required.

Static 01

The real before and after

"Same duct. One visit apart."

Split-frame using your actual Before-up-duct and After-up-duct photos. No graphics, just a thin divider and the logo.

CTA: Get a Free Estimate · Angle: proof · Why it wins: nobody else in the market shows real work.
Static 02

The certificate your insurer asks for

"After a kitchen fire, this is the first document your insurance company wants to see."

Close-up of an NFPA 96 cleaning certificate and hood sticker on a stainless background.

CTA: Get Compliant · Angle: fear of uncovered loss, the strongest motivator in this category.
Static 03

The NFPA 96 schedule card

"Charbroiler? Quarterly. Wood-fired? Monthly. When was yours?"

Clean typographic table of the real NFPA 96 cleaning frequencies. Educational ads earn saves and shares from operators.

CTA: Check My Schedule · Angle: compliance education.
Static 04

The scale monolith

"5,400 kitchens. 60,000 systems. One certificate that holds up."

Big numerals on ink navy, bare-metal texture. Positions OHC as the incumbent, not a vendor.

CTA: Get a Free Estimate · Angle: authority.
Static 05

Inspection week

"Fire marshal coming? We answer at 2am and clean while you sleep."

Night-shot of a closed kitchen, one light on. Urgency without panic.

CTA: Call Now · Angle: emergency and 24/7, targeted tight-radius around inspection-heavy metros.
Static 06

Multi-location memo

"12 locations, 4 states, one compliance file."

Speaks to franchise and facilities managers, the highest-LTV buyer nobody advertises to. Carousel variant: one card per state.

CTA: Book a 15-Minute Call · Angle: operational relief for multi-unit operators.
Static 07

The roof nobody checks

"Your kitchen's dirtiest secret is on the roof."

Real rooftop grease-containment photo. Almost no competitor even mentions the roof; it flags real expertise.

CTA: Free Rooftop Check · Angle: curiosity plus avoided repair bill.
Static 08

Founder card

"Built by a chef who got tired of hood cleaners who wiped what you could see and skipped what you couldn't."

Portrait treatment, kitchen background. The founder story is the trust angle no franchise can copy.

CTA: Get a Free Estimate · Angle: origin story.
Static 09

The straight answer on price

"What does hood cleaning actually cost? Depends on three things. Here they are."

Hood count, cooking volume, duct length, plainly listed. Being the one company that answers the price question is a differentiator worth money.

CTA: Get My Number · Angle: price transparency.
Static 10

The flashlight frame

"This is where the inspector points the flashlight. What will yours find?"

Real photo of a duct interior, flashlight beam vignette. Takes the meme angle the current ads gesture at and makes it real instead of stock.

CTA: Schedule Before They Do · Angle: inspection anxiety, grounded in a real photo.
Video 01

The wipe reveal

First frame: grease-black duct. A squeegee line of bare metal cuts through it.

15 seconds, shot on a phone during a real clean. Satisfying-clean content is a proven thumbstop genre.

CTA: Get a Free Estimate · Format: 9:16 Reels-first.
Video 02

Flashlight POV

"Ride along with the fire marshal's flashlight."

POV shot moving through a hood, filter, duct, fan. Ends on the certificate. 20 seconds.

CTA: Would Yours Pass? · Format: 9:16, captions burned in.
Video 03

While Salem sleeps

Timelapse: kitchen closes at 10pm, crew in at midnight, bare metal by 4am, cooks walk in at 7.

Proves the "never interrupts your operation" promise instead of claiming it.

CTA: Schedule Around My Hours · Format: 30s timelapse with time stamps.
Video 04

Operator testimonial

A restaurant GM, on their line: "The inspection took eight minutes."

One real customer on camera beats any script. With 5,400 serviced locations, finding three willing faces is a phone call.

CTA: Join 5,400 Kitchens · Format: 20 to 30s, shot on location.
Video 05

The founder, 20 seconds

"I owned restaurants. I hired hood cleaners. Most of them cleaned what I could see and skipped what I couldn't. So I started this company."

Straight to camera, one take, no music until the logo.

CTA: Get a Free Estimate · Format: 9:16 and 1:1 cuts.
Video 06

Three things your hood cleaner hopes you never check

"Number one: the duct past arm's reach."

Listicle reel: behind the fan, above the roof line, past the first elbow. Real footage of each. Positions OHC as the honest one.

CTA: Get the Full Checklist · Format: 30s reel, text overlays.
Video 07

Where kitchen fires start

Slow push into a grease-caked duct interior. "Every hour you cook, this gets thicker."

No flames needed; the buildup itself is the scare. Ends on the NFPA 96 schedule.

CTA: Book a Certified Clean · Format: 15s, sound design led.
Video 08

One vendor, four states

Screen recording: one binder, tabs flipping: Portland, Seattle, Boise, Redding. "Every location. One schedule. One file."

The multi-location pitch as a 20-second visual. Target facilities and franchise job titles.

CTA: Book a 15-Minute Call · Format: 1:1 feed.
Video 09

Friday, 6pm, fan dies

Audio hook: the sound of a kitchen going quiet. "No exhaust means no cooking."

Emergency fan repair story in 15 seconds, ends on the 24/7 number. Runs cheap as a reach layer in the service area.

CTA: Save the Number · Format: 9:16, big phone number end card.
Video 10

The roof reveal

Ladder-climb shot. "You've never seen this part of your restaurant."

Rooftop grease containment before and after from the crew's actual photos and clips. Pairs with Static 07 as a retargeting sequence.

CTA: Free Rooftop Check · Format: 20s reel.
Next Step

Same budget. Pointed at actual customers.

The fixes above do not need more spend, they need the current spend supervised. Fifteen minutes and we will put a straight number on running it right.

Book the 15-Minute Call Back to the Pitch