Most GEO case studies feature giant enterprise brands that already had domain authority, a content team, and a six-figure budget. This isn't one of those. The photographer in this case study is a solo operator running her business from a home office, with a portfolio site she built on Squarespace in 2022. She had zero marketing budget when we started. Ninety days later, her studio was the first response when someone asked ChatGPT, "Best wedding photographer in Portland for outdoor weddings under $5,000."
This post walks through exactly what changed. The names of the photographer and her studio are anonymized at her request, but every number, every prompt, every implementation step is real. By the end of this post you'll have a replicable playbook for any local creative service business with similar economics — wedding planners, event florists, custom framers, boutique fitness studios. The pattern transfers; the specifics adapt.
The starting point
Studio's baseline in mid-February 2026: roughly 40 weddings booked per year at an average $4,000 package, generating around $160,000 in annual revenue. Inquiry flow was 70% referrals from past clients, 20% Instagram, 10% Google search. AI search? Zero detectable inquiries.
When we ran the prompt "Best wedding photographer in Portland under $5,000" through ChatGPT (browsing mode, March 2026), the response named four competitors and didn't mention her studio at all. Same query on Perplexity returned three of those same four plus one wedding directory listing site. Claude returned generic advice about how to choose a photographer rather than naming any specific studios.
Her Reffed score was 41 out of 100. Crawler access was fine. Schema markup was minimal — just basic Organization data Squarespace ships by default. Content was beautiful photo galleries with almost no text. That last detail is critical and we'll come back to it.
The 90-day plan
We split the work into three monthly sprints. Each sprint had one technical track and one content track, designed so she could do roughly six hours of work per week alongside her actual photography business. The goal wasn't perfection — it was steady accumulation of the signals AI engines weight for local creative services.
Month 1: Technical foundation and first content surfaces
The first week was diagnostic. We added LocalBusiness schema with full address, geo, priceRange, and areaServed properties — Squarespace doesn't ship this by default and it's the single most important signal for "best X in [city]" queries. We added Photograph and ImageObject schema to her top 12 portfolio pieces, with contentLocation set to the actual wedding venue.
Why venue-level location data matters: when someone asks ChatGPT for "outdoor wedding photographer Columbia River Gorge," the AI fans out into sub-queries that include venue names. If your portfolio explicitly says "wedding at Bridal Veil Lakes, Corbett, Oregon," you get matched. Without it, you're invisible to that entire class of high-intent query.
Content track for Month 1 was three long-form pieces, each between 1,800 and 2,400 words:
- "Outdoor Wedding Photographer Portland Oregon: A 2026 Pricing and Venue Guide" — explicitly answers the price-range query AI engines love, names specific venues she's shot at, includes a markdown-style FAQ section at the end.
- "What to Look for in a Wedding Photographer Under $5,000" — a buyer-guide piece that doesn't mention her studio until the bio at the bottom. AI engines cite buyer guides far more readily than self-promotional content.
- "Bridal Veil Lakes Wedding Photography: What Couples Should Know" — venue-specific page that doubles as SEO bait for couples already researching that venue.
Total cost for Month 1: $0 in tools, $89 for one round of professional copyediting on the three pieces.
Month 2: Off-page authority and entity signals
Month 2 was about getting her name into the third-party sources AI engines actually cite. We executed three things in parallel.
First, we got her listed on The Knot, Zola, and WeddingWire with consistent NAP (name, address, phone) data matching her website. These platforms feed AI engine wedding-vendor knowledge graphs directly. She'd been on The Knot but with an out-of-date phone number; we fixed that and filled in the empty venue-list and price-range fields.
Second, we executed a Reddit and forum strategy. She personally answered six questions on r/weddingplanning across two weeks, each answer 300-500 words of genuine advice, ending with a soft mention of her work. Critically, she answered questions outside her geographic area too — Reddit accounts with answers across multiple cities look more authoritative to AI engines than one-city accounts.
Third, she did one podcast guest spot on a regional wedding-industry show, which produced a transcribed episode page with her name and studio mentioned in context.
Month 3: Compounding and measurement
Month 3 was three more long-form content pieces, refresh of the Month 1 content with updated 2026 pricing data, and measurement. We set up the Bing Webmaster Tools AI Performance dashboard in week one of Month 3 (we'd verified the site in Month 1 but BWT needs roughly two months of data before patterns are reliable).
By the end of Month 3, BWT showed 47 distinct queries where her studio had been used as a citation source in AI responses. Twenty-one of those were from queries containing the words "Portland" plus "wedding photographer." Eight contained specific venue names.
The results at day 90
When we re-ran the original test prompts on May 14, 2026 (day 91 from project start):
- ChatGPT (browsing): named her studio first when prompted with "Best wedding photographer in Portland under $5,000 outdoor weddings"
- Perplexity: named her in second position, with a direct citation linking to her venue guide page
- Claude: now returned specific studio names instead of generic advice; she was second of three named
- Google AI Overviews: she appeared in the cited sources sidebar for the same query class
More importantly, inquiry attribution shifted. In the 30 days following the 90-day mark, she logged seven inquiries where the prospect explicitly said they'd asked ChatGPT or Perplexity for recommendations. Three of those booked. At her $4,000 average package, that's $12,000 in tracked revenue from AI search in one month — more than she'd ever produced from any single channel except referrals.
Reffed score went from 41 to 78. The 37-point lift is roughly average for a serious 90-day GEO push on a clean baseline; her score was held back from the 80s by domain age and backlink profile, which take longer to compound.
What would have failed in a different niche
This same playbook would not work identically for, say, a B2B SaaS company. Three reasons matter.
Local schema doesn't help a SaaS. The LocalBusiness schema that drove most of the gains here is irrelevant for software companies serving global buyers. SaaS GEO leans on Organization, Product, and Article schema instead.
Wedding directories don't have B2B equivalents. The Knot, Zola, and WeddingWire create a directory layer that AI engines trust for wedding queries. B2B SaaS has G2, Capterra, and Reddit (r/SaaS, r/startups), which require a different engagement strategy.
Venue specificity transfers as use-case specificity. The pattern that worked here — explicit venue names in portfolio metadata — translates to B2B as explicit use-case names in product pages. A SaaS analogue would be a Stripe product page that says "Stripe for marketplaces handling driver payouts," not just "Stripe Connect handles complex payment scenarios."
The principle that does transfer: specificity wins. Generic content gets generic citations. Specific content that answers the exact sub-query an AI engine fans out into gets cited specifically.
What this case study cost
Total dollar cost across the 90 days: $356. That breaks down as $89 for copyediting in Month 1, $179 for a single round of professional photo editing on the three new portfolio pieces we needed for content (she did most of her own editing), and $88 for one month of Reffed Watch to monitor score trajectory.
Total time cost: about 65 hours of her work plus 40 hours from a GEO operator (in this case, us). At our typical rate the operator side would have cost about $4,000 — but the case study was a pro bono engagement we did to build out our case study library, so her actual cost was the $356 above. At full operator pricing the total would run roughly $4,400, which she would have paid back in 11 days based on the post-project inquiry flow.
The replicable pattern for local creative services
If you're running a wedding planning, event florals, custom framing, boutique fitness, or similar local-creative business, here's the abbreviated version of what to copy from this case study:
- LocalBusiness schema with full geo and priceRange fields. This alone moves the needle for the "best X in [city]" query class that drives most of your AI-cited inquiries.
- Three pieces of long-form content per month for three months. One pricing guide (with specific price ranges, not "varies by project"), one buyer guide (that doesn't sell), one venue or use-case specific piece.
- Get listed on the directories AI engines trust for your category. Wedding: The Knot, Zola, WeddingWire. Fitness: Mindbody, ClassPass. Frame shop: Yelp, Houzz. Cross-reference your category against the sources Brand Radar shows AI engines citing in your space.
- Six Reddit answers across two weeks. Outside your geographic area too. Genuine help first, soft mention at the end.
- One podcast guest spot or industry blog feature. Audio that gets transcribed creates dense entity signal AI engines weight heavily.
- BWT AI Performance dashboard verified in month one, so by month three you have real citation data to track against.
The whole thing fits in 60-80 hours of work across 90 days, executable by a solo founder alongside their actual business.
If you want to see your studio's baseline before starting, run a free Reffed audit on your homepage. It takes 60 seconds, no signup, no credit card. You'll see your starting score and the top three things that would move you fastest. If you want the structured curriculum, Reffed Academy Quickstart covers this and 25 other lessons for $147 founding price (one-time, lifetime access).