My Work

I Found 482 Missing Title Tags Costing a Store 3.4x Its Clicks

4 min

Last updated,

Summary

A 916-page Shopify balloon store in Chicago was shrinking: clicks down 39% year on year and 804 product pages earning under one click each per quarter. 482 pages, more than half the store, rendered no title at all. The store’s own data priced it: untitled pages earned clicks at 0.38%, titled pages at 1.28%.

A store that Google kept showing and nobody clicked

The numbers looked like a slow leak. In 90 days, Google displayed the store 234,066 times. People clicked 2,319 times, a 0.99% rate.

The homepage took 61% of those clicks. The 804 product and collection pages, the pages that sell balloons, earned 736 clicks between them. That’s 0.92 clicks per page per quarter.

Meanwhile two Chicago rivals were taking the occasion searches: graduation balloons, baptism, prom, retirement. The store had the inventory and the reputation, including a B Corp certification. It wasn’t getting the click.

Look at every page, then check by hand

I ran my Audit Engine over all 916 URLs in the store’s sitemap. Every one returned successfully, which means no finding here rests on a sample. Then I did what a crawler can’t: I opened the flagged pages and read the code.

One product page returned 652 kilobytes of HTML, a complete header section, a social-sharing title, and no title tag at all. The line that tells Google what to call the page in search results simply wasn’t there.

I split Search Console by branded versus non-branded queries and by page type. I asked 69 live questions across Google’s AI Mode and four assistants.

I ran four checks on whether AI shopping agents could transact with the store. And I tore down both Chicago rivals plus four national competitors.

The store measured its own cost

482 of 916 pages render no title element. 481 of them are product pages. The same 482 URLs are also missing their description. When two faults share an identical count, it isn’t two problems; it’s one broken template branch.

The store’s own data priced the fault. The 370 untitled pages that still drew impressions took 25,799 impressions and earned 98 clicks: 0.38%. The 303 pages whose only title problem was being too long took 160,093 impressions and earned 2,050 clicks: 1.28%.

Same store, same crawl, same 90 days. 3.4 times the click rate. This isn’t an industry benchmark. It’s the store’s own data, comparing its own pages.

537 queries already rank between positions 4 and 20, 329 of them inside the top ten. They drew 81,938 impressions and returned 380 clicks.

At the store’s own observed 1.28% rate, the same impressions return 1,049 clicks. That’s arithmetic on rankings the store already holds, over one quarter, with no new content.

Also found: 747 pages under 300 words, 81 with no main heading, 321 titles past 65 characters.

The door is open and nobody’s home

The store had something most retailers don’t: it was already reachable by AI shopping agents. It served the technical endpoint those agents use to browse and buy, and its robots file blocked none of the answer engines. An AI agent could already purchase from it.

But the file that tells those agents who the store is, the introduction an agent reads before it decides whether to recommend a store, had never been edited. It was the 533-word Shopify default. It mentioned Chicago zero times.

Weddings, corporate events, garlands, the B Corp certification: zero. The access was built. The reason to choose this store over any other was missing.

The engines confirmed it. Across Google AI Mode and four assistants, the store was named in 42% of relevant questions and cited as a source in 10%. Of 655 citations awarded, 7 went to the store.

Recognition without standing. A content problem, not an access problem.

Where the money was

Both Chicago rivals organize their sites by occasion. This store organized by product attribute, and its collection pages ran a median of 238 words against rivals’ 1,600 to 4,700 with FAQ sections. The lost queries were already sitting in Search Console, drawing impressions and zero clicks: bachelorette balloons, happy retirement balloons, welcome home balloon, congrats balloon, balloon arches chicago.

I sized it: 591 content-gap keywords, 116,760 combined monthly searches, 564 of them low-difficulty, 403 with a rival already in the top three. Plus 48 curated link targets across five categories.

What one template fix changes

The title fix is a single template edit. On the store’s own click rate, applied to rankings it already has, it’s the difference between 380 clicks and 1,049 a quarter before a single new page is written.

The occasion collections and the agent introduction are the growth on top. The Audit Engine delivered it as a hosted audit and a deck the owner could act on, with every number linked to the crawl or Search Console row it came from.

At a glance

  • The niche: Balloon retail and event decor, Chicago, 916-page Shopify store.
  • The problem: On-page (482 pages with no title or description), thin collection pages (238 words against rivals’ 1,600 to 4,700), no introduction for AI shopping agents, clicks down 39% year on year.
  • What was built: A full-sitemap crawl with hand verification, brand and page-type splits of Search Console, 69 live AI questions, agent-readiness checks, six competitor teardowns, a 591-keyword content-gap map.
  • Implementation: Delivered by my Audit Engine as a hosted audit and a deck, every number linked to its crawl or Search Console row; one template fix, occasion-based collections and an agents file as the first three actions.
  • Results: Untitled pages clicking at 0.38% against 1.28% for titled ones, 3.4 times the rate; 537 queries already ranking 4 to 20 worth 1,049 clicks a quarter at the store’s own rate against 380 today; 116,760 monthly searches mapped.
  • Built with: my Audit Engine.

Frequently asked questions

On the store above, pages with no title earned clicks at 0.38% of impressions while comparable pages with a title earned 1.28%, about 3.4 times the rate, on the same site in the same quarter. Without a title, Google guesses what to call the page and searchers cannot tell what they will get.

Read next

A QR-code SaaS with 12,349 referring domains and 1.9 million impressions in 50 days had a blog hub that returned a 404 while 179 posts sat in its sitemap, and a flagship money page earning 1,904 clicks from 486,174 impressions. An enterprise audit, in plain terms.

3 min

A library door bricked shut while books sit in the courtyard

A 25-year B2B advisory firm had a 74/100 SEO health score, 1,168 ranking keywords and about 4,500 monthly organic visits. In six category questions across AI assistants and Google AI Overviews it was cited zero times, with a 4% AI share of voice. How I found that with no analytics access at all.

3 min

A polished temple with empty seats and a quiet road passing by

Agencies charge $800 to $2,000 per article. I built a multi-tenant factory that produces SEO and AI-search articles for about $12 to $15 a month per client, queues up to 1,000 a week, and gates every piece with a 30-point scorecard plus a link check that overrides the AI. Then I built the gate that can block our own work.

4 min

A gatekeeper checking scrolls before a messenger may pass

A DTC dress-shirt brand's Search Console showed 17,077 clicks from 1.39 million impressions in 50 days. A brand-versus-non-brand split showed 84% of those clicks were people typing the brand name, and its category term ranked at position 5.6 with a 0.37% click rate. Same trap I'd found at a marketplace weeks earlier.

2 min

A busy tailor's courtyard with an empty road beyond the gate

A 12-location therapy practice needed per-market SEO and AI visibility in a vertical where a wrong claim is a compliance problem. It became the reference implementation for my Audit Engine's growth-plan layer, and the engagement where every defect the system could produce was caught and turned into a permanent check.

2 min

Twelve small herb gardens connected by paths across a valley

Pitching SEO and AI-search work to eight accounts meant eight discovery cycles. I ran one live outside-in scan across all eight in a day, for about 2,100 rank-data credits, and deployed nine client-ready proposals the same afternoon. Three of the eight ranked for zero keywords.

2 min

A surveyor walking between distant estates at the end of the day