Organic search nearly doubled and you now hold four number-one positions on the terms that put a heater in a backyard. Two things are capping it: the map pack, and where the ad budget goes. Both are fixable this month.
594 clicks from Google against 337 a year ago, on 89,497 impressions. Organic sessions went 619 to 1,304.
| Channel | 2026 | 2025 | Change | Engaged |
|---|---|---|---|---|
| Organic search | 1,304 | 619 | +111% | 71% |
| Paid search | 313 | 194 | +61% | 68% |
| Referral | 46 | 63 | -27% | 78% |
| Organic social | 14 | 13 | +8% | 43% |
| AI assistants | 6 | 0 | new | 33% |
| Total | 1,683 | 889 | +89% |
Analytics logged another 2,683 “direct” sessions. We have left them out, and you should know the reason before anyone quotes a bigger number.
| Direct sessions by country | Sessions | Engaged |
|---|---|---|
| United States | 1,267 | 53% |
| Singapore | 609 | 1% |
| China | 527 | 3% |
| Canada | 54 | 63% |
Singapore and China are 1,136 of those sessions at 1–3% engagement and roughly 28 seconds on the page. Visitors from Google engage at 71% and stay nearly three minutes. That traffic is automated, and you sell pool heaters in Broward County.
We are filtering it at the server in September so it stops appearing at all.
429 keywords rank, 39 inside the top ten. These six are the commercial ones.
| Pos | Keyword | Searches / mo |
|---|---|---|
| 1 | florida pool heater | 320 |
| 1 | heating a pool in florida | 320 |
| 1 | pool heaters in florida | 320 |
| 1 | florida pool heating | 170 |
| 4 | florida pool heaters | 320 |
| 5 | pool heater florida | 320 |
Volume is not the point here. Someone typing florida pool heater is choosing a supplier. The larger pool temperature cluster brings traffic and almost no buying intent. Useful reach, not booked installs.
On the SERP a Broward customer actually sees, you rank first or third, and still sit below the fold, because a three-result map pack is above you.
| Query | Reported avg | True organic | Position on page |
|---|---|---|---|
| local pool heater company | 16.4 | 1 | 4 |
| pool heating company | 17.5 | 3 | 7 |
| pool heater installation near me | 17.0 | 4 | 9 |
Search Console reported these queries at positions 16 and 17, which reads as a content problem. It is not. Those are national, device-blended averages. On mobile in Fort Lauderdale you are already #1 and #3 organically.
More on-page work moves nothing here. Getting into the map pack does, and that is Google Business Profile work: categories, service areas, review velocity and posts. It is the single highest-value lane on the account and it needs one thing from you: confirmation of whether you want Margate only, or Margate and Coral Springs. Your citation record and 397 Birdeye reviews point to Coral Springs.
$3,316 over the quarter returned 31 conversions at $107 each. The average is respectable. The spread underneath it is where the next gain sits.
| What the keyword is | Spend | Clicks | Conversions | Cost each |
|---|---|---|---|---|
| Own brand | $160 | 28 | 4 | $40 |
| Service and category | $617 | 67 | 11 | $56 |
| Manufacturer names | $2,030 | 298 | 13 | $156 |
| Product and equipment | $508 | 46 | 3 | $169 |
Your own name and plain service terms bring customers in at $40 to $56. Manufacturer and equipment terms cost $156 to $169 for the same conversion. Roughly three times the price for the same result, and they take 77% of the budget.
| Keyword | QS | Spend | Conv | Cost each |
|---|---|---|---|---|
| Florida Pool Heat | 8 | $160 | 4 | $40 |
| Pool Heating | 7 | $358 | 7 | $51 |
| Solar Pool Heating | 7 | $103 | 2 | $51 |
| Pool Heaters | 3 | $48 | 1 | $48 |
| Keyword | QS | Spend | Conv | Cost each |
|---|---|---|---|---|
| Jandy | 3 | $465 | 1 | $465 |
| Pentair | 3 | $411 | 1 | $411 |
| Hayward | 3 | $341 | 4 | $85 |
| AquaCal | 3 | $528 | 7 | $75 |
You sell Jandy, Pentair, AquaCal and Hayward, so appearing for those names is exactly right. The issue is how they are targeted, not whether.
All ten manufacturer keywords run on broad match at Quality Score 3. Broad match decides for itself what counts as related, and at Quality Score 3 Google charges a premium for every click. The searches it matched you to include jandy contact number, aquacal warranty phone number and iaqualink help, which are owners looking for a manual, not buyers looking for an installer.
The fix is match type and negatives, not removal. Move the brand terms to phrase and exact, pair each with a commercial modifier (aquacal installation, jandy pool heater price, pentair heater repair), and add a negative list for support, warranty, manual, contact, phone number, troubleshooting. Same brands, same shelf space, without paying for other companies' service desks.
The evidence that this works is already in the account. AquaCal returns 7 conversions at $75 and Hayward 4 at $85, both worth keeping. Jandy and Pentair took $876 between them for two conversions, at $465 and $411 each. Same match type, same Quality Score, very different outcomes, which is what you would expect when the term is loose and the modifier does the work.
Then add what is missing. There is no keyword in the account for pool heater repair, installation, or any local service phrase. The ad groups are organised by product line (Electric Heat Pump, Pumps and Filters, Salt Chlorine Generators) rather than by what a Broward homeowner types when the pool is cold. Your two best performers already point at it: Pool Heating at Quality Score 7 and Florida Pool Heat at 8.
Tightening the loose terms and cutting the 21 keywords that produced nothing frees roughly $1,560 a quarter to put behind service intent, against a search impression share of just 32.7%. Two thirds of the searches you could appear for go unserved today.
37,929 messages across six campaigns this quarter, drawing 567 clicks back to the site.
| Campaign | Sent | Opens | Clicks |
|---|---|---|---|
| Heat and Chill 1: Intro | 10,329 | 3,438 | 362 |
| Heat and Chill 2: How It Works | 10,261 | 2,896 | 43 |
| Reminder: Plumbing Rebuild | 11,715 | 3,244 | 150 |
| AquaCal service (list AN) | 2,406 | 698 | 3 |
| August slots (list AN) | 2,408 | 614 | 7 |
| AquaCal service (list KO) | 810 | 240 | 2 |
| Total | 37,929 | 567 |
Heat and Chill 1 drew 362 clicks. The second email, to the same list, drew 43. That gap is the most useful thing in this table: the opening message and its subject line are landing, and the follow-up is not holding attention.
September plan is to rebuild the second and third emails against the first, and to lead the new reminder series with the same structure that worked. The list is clearly responsive: 37,929 sends produced 11,130 opens across the quarter, so the reach is there to build on.
561 Media runs your search presence on both sides, earned and paid. Here is the whole picture, and what the earned half would cost if you had to buy it.
| Channel | Sessions / month | Earned or bought |
|---|---|---|
| Organic search | 435 | Earned |
| Referral, social and AI assistants | 22 | Earned |
| Paid search | 104 | Bought |
| Total | 561 |
Your paid clicks cost $10.63 each once management is counted. The 457 earned sessions cost nothing per click. Buying them through Google Ads at your own average rate would run $3,318 a month, or $39,814 a year, against a $1,450 retainer.
| Keyword | Position | Cost per click | Monthly value |
|---|---|---|---|
| florida pool heater | 1 | $6.78 | $660 |
| heating a pool in florida | 1 | $6.78 | $660 |
| pool heaters in florida | 1 | $5.54 | $539 |
| solar pool heating in florida | 1 | $20.57 | $313 |
| florida pool heating | 1 | $5.98 | $309 |
| pool heating companies near me | 2 | $8.83 | $157 |
| These six alone | $2,638/mo |
Those four number-one positions are not vanity rankings. Solar pool heating in florida carries a $20.57 cost per click because installers bid hard for it. You hold the top organic result and pay nothing for it.
Sessions are measured in Google Analytics, not estimated. Earned traffic covers organic search across Google, Bing, Yahoo and DuckDuckGo, plus referral, social and AI assistants. Cost per click is your own average rate in Google Ads, cross-checked against the live advertiser rate for each keyword.
We have not used the traffic-value figure our tools produce by default, which would have put this above $75,000 a year. That number is modelled from ranking position and national search volume, and this is a Broward business. Everything above is measured.
Brand terms to phrase and exact with commercial modifiers, negatives for support queries, and new keywords for repair and installation.
Categories, service areas, review velocity and posts. Needs your answer on Margate versus Margate and Coral Springs.
Match the structure of the intro email that drew 362 clicks, and carry it into the new reminder series.
Three different addresses and a phone number that appears in code but on no page. It is a plugin setting, and it is holding back local ranking.
Drafted and waiting on your installed price range, the one input we cannot supply ourselves.
110 duplicate URLs removed from what Google is asked to crawl, and the overseas traffic blocked at the server.
Search is already returning 2.3x the retainer. September is about the map pack and the ad budget.