Skip to content
ADIMIZE
All posts
9 min read

Two machines pick the winners.

Go type "best junk removal in [your town]" into ChatGPT. Somebody's getting named. Here's how AI engines pick local winners.

The New Local Pack Has One Slot

Go type "best junk removal in [your town]" into ChatGPT. Then ask Google and read the AI Overview.

Somebody's getting named. Somebody's getting the job.

These engines might already be using your content — your prices, your FAQ answers — without ever saying your name. You can be an anonymous source for your own market.

That happens for a specific, fixable reason. Let me show you how these things actually pick winners, and the exact checklist to become the name in the answer.

About a year running the exact strategy I just laid out, and organic is up nearly 4x.

The Two Machines

Every AI answer engine is one of two architectures. Knowing which one you're facing tells you which lever moves it.

Entity-first engines — Google AI Overviews, AI Mode, Gemini. These don't really "read the web" to pick local winners. They assemble the answer from Google's Knowledge Graph and Maps data, then check it against independent sources across the web. The business cards in an AI Overview are basically the local pack in a new outfit.

If Google can't verify your business across multiple independent sources — same name, same category, same info everywhere — it won't put your name on the answer. It might still pull your pricing off your website. It just won't credit you. That's the anonymous-source problem.

Retrieval-first engines — ChatGPT, Perplexity, Copilot. These fetch live web pages and build the answer on the spot. ChatGPT crawls your site directly and grounds its search on Bing's index. Perplexity licenses Yelp's business database as its local system of record, and for home services it also pulls Angi/HomeAdvisor and Thumbtack content. Copilot runs on Bing and Bing Places. Siri and Apple Intelligence pull from Apple Business Connect.

Translation: your website feeds one set of engines, and your listings feed the other. You need both layers. Most haulers I look at have a decent website and an entity layer that's basically hollow — a Google Business Profile, a half-broken Facebook page, and nothing else.

Independent research (BrightLocal, 2025) confirms the pattern: directories and review platforms are the backbone of what AI engines cite for local queries, Facebook gets cited by both Google AI Mode and ChatGPT, and complete profiles get cited far more often than thin ones.

Layer 1: Build the Entity (Off-Page)

Step 0 — write your canonical NAP block. One business name, one address string, one phone number, one website URL — character for character, everywhere. Your Google Business Profile is the source of truth: whatever it shows wins ("Road" vs "Rd" — copy it exactly). Add a ~250-character description with your services, your area, how long you've been operating, and real specifics (actual prices, actual job counts — not "affordable and reliable").

You'll paste this block into every profile below. Consistency is the whole game. Every mismatch is corroboration leaking away from your business.

Tier 1 — engine-direct surfaces. All free, about 3 hours total:

Bing Places (bingplaces.com) — Use the "Import from Google" option. It reads your GBP and mirrors it without touching it. This feeds Bing, Copilot, and the index ChatGPT grounds against. Most haulers are completely absent here. Highest-leverage free listing you probably don't have.

Apple Business Connect (businessconnect.apple.com) — The only data source for Apple Maps, Siri, and Apple Intelligence. If you're not here, you don't exist to iPhones asking Siri.

Yelp — Claim it whether you like Yelp or not, because Perplexity's local answers are built on Yelp's database. Absent from Yelp ≈ invisible to Perplexity. Hard rule: never solicit Yelp reviews. Their filter suppresses solicited reviews and can penalize your listing. Organic only.

Facebook — Fix the name casing, complete the NAP, category, hours, real photos. Both Google's AI Mode and ChatGPT cite Facebook pages.

Your niche directory — For this trade, that's Hometown Dumpster Rental. AI engines retrieve category-specific directories heavily for "[service] [city]" queries. The free listing is the priority; paid placement is optional.

Angi — Claim the free profile, complete it fully, and decline the ad sales pitch. The indexed profile is the point, not their leads.

Every profile gets the full treatment: real photos of your trucks, cans, and crew (no stock), hours matching GBP, correct category. A half-complete profile is a weak citation. Complete ones get retrieved and cited.

Tier 2 — the long tail (weeks 2–3):

Data aggregators. Data Axle, Foursquare, and TransUnion/Localeze seed most US directories. Submit to those three directly, or use a listings-management tool to push consistent NAP across the long tail (MapQuest, YP.com, and the rest) and keep it synced. Either way, re-scan monthly — aggregator-pushed listings can revert.

Nextdoor business page — strong local-trust signal, increasingly retrieved for "recommend a [service] near me" content.

BBB free profile — LLMs cite BBB pages readily when judging whether a business is legit.

Thumbtack profile — honest caveat: limited exposure without lead spend, but the indexed profile still exists as a citation. Low priority, still worth 20 minutes.

Your Chamber of Commerce — a directory listing on a locally authoritative domain is exactly the independent local corroboration entity-first engines want. Worth the dues for the citation alone.

Tier 3 — corroboration (ongoing):

If you ever rebranded, run a sweep. Search "Your Old Name" -site:yourdomain.com and inventory every third-party page still carrying the old brand. Claim and fix what you can, submit corrections where there's a form, ignore pure scraper junk. Every stale listing corroborates a business Google can't attach to you. And keep the old domain 301-redirected to the new one forever.

Local press — pitch data. More on this below.

Reddit and forums. AI engines retrieve Reddit threads constantly. The rule: answer genuinely, disclose that you own a company in the trade, never astroturf. One honest answer that ranks in a thread beats anything manufactured — and manufactured gets nuked.

Review diversity. Keep your Google review cadence running. Occasionally point happy customers to Facebook. Yelp stays organic. Never incentivized, never fake, anywhere.

Standing guardrails: No mass blasts to spam directories — junk citations are just toxic links in citation form. And if your GBP has ever been suspended, don't go poking it with edits to "optimize" it. Everything above works off-GBP by design.

Layer 2: Feed the Retrieval Engines (Your Website)

  1. Let the crawlers in. Check your robots.txt and — this is the one everybody misses — your firewall or CDN bot settings. Bot-protection tools on Cloudflare, Vercel, and similar platforms can silently block AI crawlers. Your allowlist should explicitly permit: GPTBot, OAI-SearchBot, ChatGPT-User, PerplexityBot, Perplexity-User, ClaudeBot, Claude-User, Claude-SearchBot, Google-Extended, Applebot, Applebot-Extended, Bingbot, CCBot, Amazonbot, and meta-externalagent. Then check your server logs: are GPTBot and PerplexityBot actually hitting your pages? That's your baseline.

  2. Answer the actual question on the page. Retrieval engines synthesize from what's rendered. A pricing page with real flat prices, sizes, what's included, and delivery windows is exactly what gets quoted in an AI answer. "Call for a quote" gets skipped — for the competitor who published numbers. If you've been on the fence about transparent pricing, AI search just settled the argument.

  3. Add an llms.txt file. A plain-text file at yoursite.com/llms.txt: your business facts (name, phone, address, services, prices, service area) plus links to your key pages. It's a canonical AI-facing summary of your business, it takes 30 minutes, and it has one rule — update it in lockstep whenever prices, phone, or service area change. A stale llms.txt is worse than none.

  4. Structured data that stitches it together. On your LocalBusiness schema, add a sameAs array linking every live profile you built in Layer 1 — this is literally how you tell machines "these are all the same business." Add Offer markup for your pricing tiers, pulled from the same source as your visible prices (never a second copy that can drift). Review markup only on pages that actually display reviews. Real last-modified dates — never fabricated.

The Compounding Move: Publish Your Data

AI engines preferentially cite original data sources. And you're sitting on a dataset nobody in your market can replicate: your job history.

"What a dumpster actually costs in [Your County], from [X] real jobs" — median price by size, size mix, busiest months, dumpster vs. junk-removal cost comparison. That page becomes the one every engine cites for cost questions in your market. It's also a legitimate local-news pitch ("[Town] company publishes what dumpsters actually cost across [County]") — and editorial links from news domains are the strongest corroboration there is.

Three non-negotiable rules: aggregate stats only (no customer names, no addresses, no disposal facilities, nothing that identifies a single job); no town-level number unless it's built on a real sample — 25+ jobs minimum; and every published figure computable straight from your data. No estimates, no extrapolation. Refresh it annually with a visible "last updated" date.

How You Know It's Working

GA4 segment. Build a segment where session source matches chatgpt.com|perplexity|copilot|gemini|claude and save it as "AI referrals." The absolute numbers will be small — the trend line is the signal, and these visitors convert well because they arrive pre-sold by a recommendation.

Monthly prompt audit. Pick 5–7 fixed prompts — "best dumpster rental [your city]," "how much does a dumpster cost in [your city]," "best junk removal [your county]," your brand name + reviews, and "[national franchise] vs local dumpster company [your city]." Run them monthly in ChatGPT (search on), Perplexity, Gemini, Google's AI Overview/AI Mode, and Copilot. Log three things per engine: named? (yes/no + position), cited? (is your site a source), and who else got named. Screenshot your baseline before you start so you can prove movement. And run the Google checks from your market's location — local results shift with where the searcher is.

Crawler activity. Compare AI-crawler hits in your logs against the baseline after the robots work ships. Rising traffic on your pricing and reviews pages means the retrieval layer is feeding.

Listing coverage. Re-scan your citations monthly. Target: 20+ of the major platforms live with identical NAP.

What NOT to measure: the AI Overview's day-to-day wording. It regenerates constantly and will whipsaw you. Track the inputs — listings live, NAP consistency, crawler hits, citations earned. The output follows the inputs.

This week: write your NAP block, knock out the six Tier 1 listings, check your robots.txt and firewall settings, and screenshot your baseline prompts. The window where your competitors haven't done any of this is still open. It won't stay open.

That's it for this week. Ttyl ✌️

The Haulers' Edge

One move a week, every Sunday.

Short, useful, written from inside a $2M home service company. Read by 2,000+ service business owners.