Google Ads proposal · EcoView Windows DFW

An audience test, paid for with
budget we cannot spend

Run a top of funnel Demand Gen campaign using the creative Meta has already proven, capture everyone who clicks it into a GA4 audience, then feed that audience back into Search. This is an audience test, not a lead campaign. It is funded by moving Waco budget that physically cannot be spent in Waco, so it asks for no new money.

Prepared 2026-09-28•Google Ads account 5255325225•DFW, Austin, Waco / Temple•Revision 2

Where the account stands

Search is clicking better than ever
and reaching almost nobody

3.63%
Account CTR, last 30 days
up from 2.29%
$18.94
Average cost per click
up from $8.25
54.8%
Core DFW impressions lost to budget
shows for 11% of searches
2.8%
Waco impressions lost to budget
the money cannot be spent

Over Aug 29 to Sep 27 the account spent $13,980 for 738 clicks and 54 conversions at $259 each. The prior 30 days bought 1,984 clicks for $16,375. Pausing Performance Max and the first Demand Gen test removed most of the volume, and the traffic that remains is the most expensive this account has run: $21.19 per click in Core DFW and $30.74 in Austin.

Two campaigns sit at opposite extremes. Core DFW shows for 11% of its available searches and loses 54.8% of impression share to budget. Waco loses 2.8%, because its ceiling is rank and geography rather than cash. That gap is both the problem and the way to pay for the answer.

The mechanism

How the loop pays for itself

Every click becomes a known user, and known users are worth more on Search than strangers are. The sequence matters, so the steps are numbered.

01

Demand Gen runs the proven Meta creative

Vertical video and stills that already produce booked appointments on Meta, pointed at the existing v6 landing pages with a distinct utm_medium=demandgen so the traffic stays identifiable in GA4 permanently.

02

GA4 turns those clicks into an audience

An audience defined on session source and medium, with membership set to the 540 day maximum, so someone who watched a window ad in October is still a known user in March.

03

The audience is shared into Google Ads

Through the existing GA4 to Google Ads link. It arrives as a remarketing list usable for bidding, for targeting, and as a lookalike seed.

04

Search bids up the warm users, Demand Gen seeds from them

Applied to every Search campaign in Observation mode with a positive bid adjustment, never in Targeting mode. The same list then seeds a Demand Gen lookalike, so the cheap reach gets better at finding people who resemble the ones who engaged.

The Demand Gen audience loop Demand Gen clicks flow into a GA4 audience, which is shared into Google Ads, which raises Search bids for known users and seeds a lookalike back into Demand Gen. Demand Gen Meta creative GA4 audience 540 day window Google Ads list shared, not rebuilt Search observation plus bid adjustment lookalike seed returns to Demand Gen CTR measured here Solid: the audience build. Dashed: the feedback that makes reach smarter over time.
The loop has two returns. The fast one is the Search bid adjustment, available once the list crosses 1,000 users in about week 6. The slow one is the lookalike seed, which needs the list to mature first.
Evidence

The August test failed as lead gen
and worked as an audience builder

496
GA4 sessions from the August Demand Gen runs
on about $1,009 of spend
$2.03
Cost per Demand Gen visitor
against $19 to $31 on Search
$1.51
Actual Demand Gen cost per click, August
the planning number
0
Conversions from those runs
which is why it was pulled

Demand Gen already ran in this account and was pulled on Aug 17: $640 in Waco / Temple, $215 in Austin and $154 in DFW for effectively zero conversions. Judged as a lead campaign it deserved to be pulled.

Judged as reach, the same spend brought 496 people onto the landing pages at $2.03 each, while Search was paying $19 to $31 for a visitor. That is a tenfold difference in the cost of putting a Texas homeowner in front of EcoView's offer, and last time nothing was done with those visitors. They were never collected, so when they left they were gone.

Two things change. Creative comes from Meta's proven winners rather than Search assets: on Meta, "EV_Ad Creative_v3" produced 44 leads at about $53 and 16 booked appointments at $145, on a 34% hook rate. And the junk traffic exclusions are now in place account wide (Games, Kids, and Kids and Family app categories, plus Roblox, Minecraft, and installer and job seeker terms), which they were not during the August run.

For Allyssa

Why this is not Performance Max again

In August you paused the three Performance Max campaigns because the lead quality was poor. That call was right, and the CRM proved it: the appointment set rate moved from 8% to 33% after the pause. Demand Gen runs on similar inventory, so scepticism here is reasonable and we want to answer it directly rather than talk around it.

Four things make this different.

  • It is not a lead campaign and will not be optimised to leads. Performance Max was bidding for form fills and found the cheapest ones available, which is exactly how the low quality arrived. This campaign optimises for reach and its output is an audience, so it has no mechanism to flood MarketSharp with weak leads.
  • Its success is measured on Search, not on itself. The scorecard is whether people who saw the ad then click your Search ads more often. If that does not happen, the test failed, and no volume of cheap Demand Gen leads can disguise it.
  • The waste that ruined the PMax run is now blocked at the account level. The app categories and job seeker terms that drained that budget are excluded, which was not true in August.
  • The August Demand Gen campaigns were never part of the plan you approved. They ran and were pulled without being put to you as a test. This is the first time it is being proposed deliberately, with a budget ceiling, a fixed end date and written stop conditions.

If lead volume does arrive as a by product, we watch the set rate on it and the stop conditions below apply. Protecting the set rate you won back matters more than the test.

Funding

Waco cannot spend its budget.
DFW cannot get enough.

Waco / Temple carries a September budget of $1,998 and spent $1,079 of it. It is losing only 2.8% of impressions to budget, which means the unspent money is not a pacing problem to be fixed. There is no more inventory to buy at any price: the ceiling is rank and geography. Over Aug 29 to Sep 27 the two Waco campaigns took $1,167 and produced zero conversions.

Core DFW, in the same account, loses 54.8% of its impressions to budget.

MoveMonthlyWhy
Waco / Temple budget released$1,998Zero conversions last window, 2.8% lost to budget, so the money cannot be deployed there
To Demand Gen at $50 a day$1,520Funds the whole test
To Core DFW$478Goes straight into the 54.8% budget gap
New money requested$0The test is self funded
Worth doing either way

The Waco to DFW shift stands on its own merits whether or not this test runs. Money is sitting in the one market that cannot use it while the account's best performer is turning away more than half its available demand.

Plan and budget

Twelve weeks, about 2,250 users,
no new spend

PhaseWeeksMarketsDailyPhase costExit test
1. Collect1 to 5DFW and Austin$50$1,750Week 4 gate: 600 users. Cost per click at or under $2.00
2. Apply6 to 9DFW and Austin$50$1,400List crosses 1,000 users and goes live in Observation. First CTR read
3. Compound10 to 12Add Waco / Temple$65$1,365Lookalike seeded. CTR gap between known and unknown users holding
Total123 marketsn/a$4,515About 2,250 users. Continue, or stop with the list retained

The size of the list follows from August's real cost per click of $1.51, not from an optimistic estimate. $4,515 buys roughly 2,990 clicks, and at August's observed ratio of sessions to clicks that is about 2,250 users. Reaching 2,500 requires cost per click to improve to about $1.35, which better creative may deliver but which we are not assuming.

The 1,000 user minimum that Search remarketing requires is therefore crossed in about week 6, not week 5, which is why applying the list is phase two rather than part of phase one. Waco / Temple joins last because its Search volume is smallest and it converted nothing last window, so it is the weakest place to spend reach money first.

If the test stops at week 12, the audience remains. The list keeps working as a bidding signal for another 540 days from each user's last visit, whether or not another dollar goes into Demand Gen.

Setup

What has to be true before launch

GA4 property
G-FQKEZW04R9Linked to Google Ads with Google signals on, or audiences cannot be shared at all.
Audience definition
Two lists, not oneBroad: any session with utm_medium=demandgen. Tight: those plus an engaged session. Broad drives list growth, tight drives the bid adjustments.
Membership duration
540 daysThe GA4 maximum. Window buying cycles are long and there is no reason to shorten it.
List size minimum
1,000 users for SearchDisplay needs 100 and YouTube needs 1,000. At $50 a day and August's cost per click, that threshold arrives in about week 6.
UTM discipline
One gap to closeBrand DFW is the only live campaign with no UTMs on its final URL, so its traffic cannot be separated in GA4. Fix before launch.
Creative formats
9:16, 1:1 and 1.91:1Demand Gen wants all three. Meta's vertical video ports directly. The square and landscape crops need producing.
Tracking caveat
Pixel mismatch still openGTM-K65JTBN fires the legacy Meta pixel while CAPI reports to the business owned one. It does not block this work, but it keeps Meta's own numbers split.
Conversion hygiene
Local actions dominateOf the conversions counted in the last 30 days, 159 are Google Business Profile engagements and 51 are directions. Keep Demand Gen optimising to reach, never to those.
Measurement

The one comparison that settles it

Because the list goes on in Observation mode, Google reports Search performance split by audience membership. That gives a direct, same auction comparison: CTR for users on the Demand Gen list against everyone else, inside the same campaigns and the same keywords. No modelling and no attribution argument. If exposure to top of funnel creative makes people click, it shows up there.

MetricBaselineTarget by week 12Read from
Search CTR, list members against non membersn/aplus 15% relativeGoogle Ads audience report
Account CTR3.63%3.9% or betterGoogle Ads
Broad list size02,500 usersGA4 audience
Demand Gen cost per click$1.51 (August)$1.35 or betterGoogle Ads
Cost per Demand Gen visitor$2.03 (August)under $2.00GA4
Lead rate of Demand Gen sessionsunknownabove 0.5%GA4 ecoview_lead_submit
Appointment set rate, all channels33%no worseMarketSharp
Where this could be wrong

Demand Gen clicks can be accidental, particularly in feed on mobile, and an audience of accidental clickers will not click Search ads any harder than strangers do. That is the central risk, and it is why the tight engagement based list exists alongside the broad one. If the CTR gap appears on the tight list and not the broad one, the mechanism works and the collection filter was simply too loose.

Stop conditions. Kill the test before week 12 if any of these hold: the broad list has fewer than 600 users at the end of week 4, cost per click stays above $2.00 after two weeks of optimisation, Demand Gen sessions show a bounce pattern indistinguishable from bot traffic, or the appointment set rate across all channels falls while nothing else in the account changed.

The week 4 gate is set at 600 rather than 1,000 deliberately. At $50 a day and August's cost per click, four weeks produces roughly 690 users, so a 1,000 user gate would abort a test that was performing exactly as forecast.

To start

What is needed, and from whom