πŸ‘» Marketing Plan β€” Confidential | ← Back to Client Hub
πŸ“‹ Marketing Strategist

Marketing Plan β€” American Ghost Walks

AAMP Custom Essentials+ Β· Full-Funnel Growth Β· 27 Locations Β· Phase 1 Complete Β· April 2026

Account At a Glance
27
Active Locations
10
States & Territories
4,543
Ranking Keywords
54/100
SEO Health
24/100
Google Ads Health
55/100
GEO / AI Score
Website
americanghostwalks.com
Booking Platform
TripWorks (Peek Pro legacy)
CMS
Duda
Google Ads Account
613-282-6725 (via MCC 7244165059)
Phase 1 Audit Results β€” All Channels
Channel / Agent Score Critical Finding Status
πŸ”Ž SEO Audit 54/100 No NOLA page; robots.txt 403; Hilo 12-char meta; no CDN caching Done
πŸ“’ Google Ads Audit 24/100 Smart bidding on dead UA goals since July 2023; 97/99 campaigns paused; PR campaign ($38.92 CPA) incorrectly paused Done
πŸ“Š Analytics Audit Critical TripWorks iframe blocks GA4 bookings; dual GTM containers (GTM-T6BKML8Z + GTM-PH3CKDV) firing simultaneously Scoped
πŸ“ GBP Audit (27 cities) Medium Kailua-Kona links to wrong Lahaina GBP; Juneau/Ketchikan show Bayfield schema; Naperville/Lake County/Woodstock share Chicago GBP Done
πŸ€– GEO / AI Audit 55/100 Missing Organization, TouristTrip, AggregateRating schema; llms.txt exists but incomplete; 4.9β˜…/2,847 reviews not machine-readable In Progress
πŸ“± Social Media Audit Medium No national TikTok presence β€” first-mover opportunity; no city-level IG sub-accounts; no UTM tracking on social links Done
🎬 Short-Form Video Audit Medium Zero short-form video production; Ghost City Tours and Haunted History Tours have minimal TikTok β€” AGW can own this space Done
✍️ Content Audit Medium Minimal long-form content; weak internal linking; no city-specific blog depth; blog posts don't link to booking funnel Done
Strategic Goals
  • 🎯Increase direct bookings across all 27 locations via organic and paid channels β€” eliminate dependence on OTAs
  • πŸ”ŽDominate local search β€” rank #1–3 for "ghost tour [city]" in map pack and AI results across all markets
  • πŸ“±Own national TikTok β€” no major ghost tour company has claimed this space; 27-city footprint + natural viral content is a structural advantage
  • πŸ“ŠFix attribution β€” TripWorks β†’ GA4 integration is critical path; all paid optimization is blind until this is resolved
  • πŸ“’Rebuild paid media β€” 97 of 99 campaigns paused; best-performing campaign (PR, $38.92 CPA) incorrectly paused; full rebuild post-attribution fix
  • πŸ€–AI search visibility β€” GEO 55β†’80+ via schema upgrades; target AI Overviews for "best ghost tours in [city]" in all 27 markets
90-Day Activation Roadmap
Month 1 β€” Fix the Foundation
  • βœ… All Phase 1 audits complete (SEO 54/100, Ads 24/100, Analytics, GBP, Social, Video, GEO 55/100)
  • βœ… New Orleans city landing page created (AAMA-47)
  • βœ… Blog Article #1 written: "First Time on a Ghost Tour?" (AAMA-49)
  • β–Ά Schema upgrades across homepage + all 27 tour pages (AAMA-45) β€” TouristTrip, AggregateRating, FAQPage
  • β–Ά Blog Article #1 published to WordPress/Duda (AAMA-50)
  • ⏳ TripWorks β†’ GA4 integration fix (requires TripWorks admin access from client)
  • ⏳ Disable dead UA conversion actions in Google Ads (no client approval required)
Month 2 β€” Activate Paid Media + Content Engine
  • ⏳ Google Ads campaign rebuild post-attribution fix β€” Tier A campaigns (NOLA, Chicago, Savannah, SF)
  • ⏳ Meta retargeting launch (site visitors + booking abandoners)
  • ⏳ Blog Article #2: "Best Ghost Tours in New Orleans β€” A Complete Guide" (2,900/mo search volume)
  • ⏳ Short-form video production starts β€” 2/week (TikTok primary)
  • ⏳ Google Things To Do listing optimization across top 10 cities
  • ⏳ TikTok + IG account setup/optimization; branded hashtag #AmericanGhostWalks established
Month 3 β€” Scale & Compound
  • ⏳ Tier B campaigns live (CA, IL city groups); Tier C territories (HI, AK, ME, MN, WI, PR, USVI)
  • ⏳ City-level IG sub-accounts launched for top 5–7 cities
  • ⏳ Blog Article #3: "Chicago Haunted History: The Most Terrifying Ghost Tours"
  • ⏳ City landing pages expanded: Los Angeles, Chicago optimization, Puerto Rico bilingual
  • ⏳ CallRail dynamic number tracking live (3-pool DNI strategy)
  • ⏳ Performance Max campaigns launched with clean GA4 conversion data
  • ⏳ Halloween campaign prep begins β€” Oct +50% budget surge
πŸ”Ž SEO Agent

SEO Strategy β€” 27 Cities

SEO Health Score: 54/100 Β· 4,543 Ranking Keywords Β· Audit Complete April 2026

SEO Health Score Breakdown
54
Overall Score
45
Technical SEO
58
On-Page SEO
62
Content Quality
50
Schema
40
Performance
Technical SEO45/100
On-Page SEO58/100
Content Quality62/100
Schema / Structured Data50/100
Performance (Core Web Vitals)40/100
Internal Linking55/100
AI Search Readiness48/100
Critical Issues Found & Fixes
IssuePriorityFixStatus
No New Orleans City Landing Page
/new-orleans-haunts is a blog with jazz heritage meta β€” doesn't rank for "new orleans ghost tour" despite operating there
Critical Created dedicated /new-orleans city page with CollectionPage + Event + FAQPage schema + booking CTA βœ… Done (AAMA-47)
robots.txt & sitemap.xml return 403
Google can't read crawl directives; GSC sitemap submissions fail; Duda generates natively but URL not whitelisted
Critical Whitelist Duda sitemap URL; resubmit in GSC ⏳ Client Action Needed
Hilo Ghost Walk β€” 12-character meta description
"Uncover Hilo" β€” critically limits CTR from SERPs
Critical Expanded to 140–160 chars with tour experience, location, booking hook βœ… Done (AAMA-46)
Cache-Control: no-cache on All Pages
Every page forces full re-fetch; directly damages Core Web Vitals; Duda support ticket needed
High Duda support ticket to enable CDN caching ⏳ Client Action Needed
No Los Angeles City Landing Page
/california page exists but no /los-angeles β€” currently #21, just outside page 1
High Dedicated city page targeting "los angeles ghost tour" could push into top 10 ⏳ Queued Month 2
Homepage Missing Key Schema
Only has WebSite schema β€” missing TourOperator, AggregateRating (15,000+ guests), ItemList
High Adding TourOperator, AggregateRating, ItemList schema across homepage + all tour pages β–Ά In Progress (AAMA-45)
No Image Lazy Loading or Preload Hints
Zero loading="lazy" attributes; 6 third-party scripts load synchronously
Medium Add lazy loading to all images; defer non-critical scripts ⏳ Month 2
Current Organic Rankings β€” Protect & Grow
City / KeywordCurrent RankTargetAction
ghost tour alaska#3β†’ #1Strengthen existing page; add Event + Review schema
ghost tour chicago#4β†’ Top 3Add Event schema; optimize title tag; build internal links
ghost tour maine#4β†’ Top 3Protect ranking; expand content depth; add review markup
ghost tour new orleansNone (before AAMA-47)β†’ Top 10βœ… New city page created; building authority
ghost tour hilo hawaiiLow CTR (12-char meta)β†’ Top 5βœ… Meta fixed (AAMA-46); content expansion queued
los angeles ghost tour#21β†’ Top 10Dedicated /los-angeles page β€” Month 2
ghost tour milwaukeeUnranked→ Top 5Low competition ($1.49 CPC); city page Month 3
ghost tours near meUnranked→ Top 5Local schema + GBP optimization across all 27 cities
City Page Expansion Roadmap (27 Locations)

Each city needs a fully-optimized landing page targeting "ghost tour [city]" + "haunted tour [city]" + "ghost walk [city]" with CollectionPage + Event + FAQPage + AggregateRating schema.

βœ… Complete
  • βœ… New Orleans, LA (AAMA-47)
  • βœ… Hilo, HI β€” meta fixed (AAMA-46)
  • βœ… Juneau, AK β€” schema fix (AAMA-45)
  • βœ… Ketchikan, AK β€” schema fix
β–Ά Month 2
  • β–Ά Los Angeles, CA (#21 β†’ Top 10)
  • β–Ά Chicago, IL β€” strengthen #4
  • β–Ά Puerto Rico β€” bilingual ES/EN
  • β–Ά San Francisco, CA β€” high competition
⏳ Month 3–6
  • ⏳ Minneapolis, MN (low competition)
  • ⏳ Milwaukee, WI (first-mover)
  • ⏳ Bar Harbor, ME
  • ⏳ Remaining 15 cities β€” Q3–Q4
✍️ Content Creator

Content Strategy & Blog Plan

6-Month Calendar Β· City Landing Pages Β· Booking CTA Integration Β· Voice & Tone Guidelines

Content Audit Findings
  • πŸ”΄Minimal long-form content β€” blog has posts but lacks depth; limited evergreen articles targeting high-volume ghost tour queries
  • πŸ”΄Weak internal linking β€” blog posts don't link to city pages or booking funnel; Cecil Hotel, LaLaurie Mansion posts rank for NOLA terms but send zero traffic to bookings
  • 🟑No city-specific blog depth β€” 27 cities but content doesn't differentiate each location's paranormal history
  • 🟑Voice gap β€” competitive differentiation opportunity: historically-grounded, long-form content vs. competitor short-form generic ghost content
Content Pillars
πŸ‘» Ghost Tour Knowledge (40%)
Foundational content for first-time visitors. "What to expect," "tips," "how to choose a tour." Converts informational searchers to bookers.
πŸ›οΈ Paranormal History Deep-Dives (30%)
City-specific paranormal history. "The Dark History of New Orleans," "Chicago's Most Haunted Locations." High-authority, shareable content.
πŸ—ΊοΈ City Experience (20%)
"Best Ghost Tours in [City]" roundups, seasonal guides, city-specific itineraries. Targets high-intent local searchers.
🎬 Behind the Scenes (10%)
Guide spotlights, tour creation process, paranormal investigation methodology. Builds brand authenticity and trust.
6-Month Blog Calendar
MonthArticle TitleTarget KeywordSearch Vol.Status
Month 1
May 2026
"First Time on a Ghost Tour? Everything You Need to Know"
1,800 words Β· Foundational knowledge Β· Links to all city pages
what to expect ghost tour 1,200/mo βœ… Written
Month 2
Jun 2026
"Best Ghost Tours in New Orleans β€” A Complete Guide"
2,000 words Β· Supports new NOLA city page Β· Heavy internal linking
ghost tours new orleans 14,800/mo ⏳ Queued
Month 3
Jul 2026
"Chicago Haunted History: The Most Terrifying Ghost Tours"
1,900 words Β· Supports Chicago #4 ranking Β· Event schema integration
ghost tour chicago 2,900/mo ⏳ Queued
Month 4
Aug 2026
"Halloween Ghost Tours Near Me β€” 2026 Edition"
1,500 words Β· Seasonal peak capture Β· Links to all 27 city pages
halloween ghost tours near me 8,100/mo (Oct spike) ⏳ Queued
Month 5
Sep 2026
"Ghost Tours in Hawaii β€” Haunted History of the Islands"
2,000 words Β· Expand HI market (Hilo + Kailua-Kona) Β· Bilingual opportunity
ghost tours hawaii 1,600/mo ⏳ Queued
Month 6
Oct 2026
"Best Ghost Walks in Puerto Rico β€” Old San Juan Haunted Tours"
1,900 words Β· Bilingual ES/EN Β· Targets Spanish + English searchers Β· PR is top-performing paid campaign
ghost tours puerto rico 2,200/mo ⏳ Queued
City Landing Page Template (27 Pages)

Standard template for all 27 city pages (750–1,000 words). Each page targets "ghost tour [city]" + "haunted tour [city]".

  1. Hero: City name + tour type + booking CTA above fold
  2. Experience Overview: Tour description, duration, meeting point, group size, what's included
  3. Haunted Locations: 3–5 specific haunted stops on this city's tour with paranormal history
  4. Paranormal History: City-specific ghost lore, famous hauntings, historical context
  5. Guest Testimonials: City-specific reviews pulled from TripWorks / Google (AggregateRating schema)
  6. FAQ Section: 5–6 city-specific questions (FAQPage schema)
  7. Internal Links: Links to 2+ blog posts + 2+ related city pages
  8. Booking CTA: TripWorks widget embedded + secondary link to booking page
Voice & Tone Guidelines
Core Voice

"Knowledgeable Local Guide + Paranormal Enthusiast" β€” authoritative but approachable, with respect for dark histories and genuine intrigue for the paranormal.

Key Principles
  • Historically grounded β€” cite real events, people, and places
  • Intrigue over fear β€” atmosphere over shock value
  • City-specific β€” never generic ghost tour content
  • Booking-intent β€” every piece of content has a path to purchase
Booking CTA Integration (AAMA-48)

⏳ Blocked β€” Requires Duda Site Access

Cecil Hotel, LaLaurie Mansion, and Muriel's Restaurant blog posts are ranking for New Orleans ghost tour terms but send zero traffic to the booking funnel. TripWorks booking widgets need to be embedded within blog content. Requires Duda site editor access from client.

πŸ“’ Paid Ads Agent

Paid Media Strategy & Google Ads Audit

Google Ads Health: 24/100 (F) Β· Account 613-282-6725 Β· MCC 7244165059 Β· 74-Point Audit Complete

Google Ads Health Score β€” 24/100
Conversion Tracking20/100
Wasted Spend15/100
Account Structure25/100
Keywords30/100
Ads & Assets30/100
Settings & Targeting35/100
5 Critical Issues Found in Account Audit
  • πŸ”΄Smart bidding optimizing on dead data β€” 7 competing conversion actions including Universal Analytics goals dead since July 2023. Every automated bid decision for 3 years has been made on ghost data. The 13 "conversions" reported likely include zombie UA events and micro-actions (email field clicks) β€” not actual bookings.
  • πŸ”΄Zero negative keywords account-wide β€” no shared negative keyword lists, no campaign-level negatives. Active PMax ($122/mo) runs completely unguarded β€” serving on irrelevant placements, apps, and off-topic queries.
  • πŸ”΄97 of 99 campaigns are dead weight β€” account has 99 total campaigns: 2 active, 97 paused. Campaign graveyard spans Nov 2024 – Mar 2026. Every underperformance led to a new campaign instead of fixing the existing one.
  • πŸ”΄Best-performing campaign incorrectly paused β€” Puerto Rico Search campaign: 9 conversions at $38.92 CPA last 30 days β€” best in the account. It's paused. Active PMax runs at $61 CPA with only 2 conversions.
  • πŸ”΄Boilerplate ad copy across all RSAs β€” all ads score AVERAGE or POOR. Every ad group uses identical descriptions. No brand name in most headlines, no social proof, no urgency, zero callout extensions in the entire account.
Immediate Actions (Approved β€” No Client Approval Required)
ActionEst. ImpactTimeStatus
Disable dead UA conversion actionsFixes bidding signal quality10 min⏳ Queued
Remove duplicate purchase conversion actions; keep only tripworks purchase as primaryAccurate CPA reporting5 min⏳ Queued
Add 4 negative keyword theme lists account-wideStop wasted PMax spend15 min⏳ Queued
Add callout extensions + sitelinks + structured snippets across active campaigns+5–10% CTR10 min⏳ Queued
Unpause Puerto Rico Search campaign+9 conv/mo at $38.92 CPA immediately2 min⏳ Board Approval Needed
Pause underperforming PMax ($61 CPA, 2 conv/mo)Reallocate budget to PR Search2 min⏳ Board Approval Needed
With these 6 fixes alone β€” estimated CPA drops from $54 β†’ $30–38 and conversion volume increases 2–3x.
Competitive Landscape β€” Keyword CPCs by Market
KeywordVol/MoCPCCompetitionOpportunity
ghost tours new orleans14,800$5.74Very High (96)Tier A β€” high priority; strong ROI with proper landing page
ghost tours savannah22,200$4.99High (81)Tier A β€” Ghost City Tours dominates but CPA still achievable
ghost tours chicago2,900$1.86High (80)Tier A β€” supports organic #4 ranking with paid coverage
ghost tours near me12,100$1.92Low (34)High-volume, low competition β€” local radius targeting
ghost tours milwaukee720$1.49Medium (63)🟒 First-mover β€” no national competitor running ads
ghost tours honolulu480$1.23Very Low🟒 First-mover β€” high tourist intent, minimal competition
ghost tours minneapolis590$1.38Low🟒 First-mover β€” Ghost City Tours has placeholder, no active ads
ghost tours puerto rico2,200$2.10Medium🟒 Quick win β€” best-performing campaign in account at $38.92 CPA
ghost tours portland maine390$1.65Low🟒 First-mover β€” Ghost City Tours has SEO page, zero tours
Full Campaign Architecture (27 Locations)
πŸ…° Tier A β€” Dedicated Campaigns
New Orleans ($2,000–3,000/mo), Chicago ($1,000–1,500/mo), Savannah ($800–1,200/mo), San Francisco ($600–1,000/mo). City-specific ad groups, landing pages, ad copy.
πŸ…± Tier B β€” State Groups
California cities (Hollywood + LA + SF), Illinois cities (Chicago + Naperville + Lake County + Woodstock). Grouped by geo-modifier targeting.
πŸ…² Tier C β€” Territory Campaigns
1 campaign per territory: Hawaii, Alaska, Maine, Minnesota, Wisconsin, Puerto Rico, USVI. $150–600/mo each. High opportunity, low spend needed.
πŸ“± Meta Ads (3+3)
3 prospecting campaigns (lookalike audiences, interest targeting: history buffs, true crime, couples travel) + 3 retargeting campaigns (site visitors, booking abandoners, 30-day window).
πŸ” Remarketing
7-day + 30-day audiences across all markets. Ghost tour atmosphere display creative. City-specific ad variations. Booking abandoner recovery sequence.
πŸŽƒ Halloween PMax
Seasonal peak campaign Aug–Nov (+50% budget). Broad reach with ghost tour atmosphere imagery. All city feed targeting. Dynamic asset groups per city.
Budget Allocation & Bid Strategy
Recommended Monthly Budget: $8,000–15,000
New Orleans
$2,000–3,000
Chicago
$1,000–1,500
Savannah
$800–1,200
San Francisco
$600–1,000
Open Markets (x7)
$150–600 each
Meta Retargeting
$600–1,000
Bid Strategy Phases:
Phase 1 (0–90 days): Maximize Conversions β€” build data with clean tracking
Phase 2 (90+ days, 30+ conv/mo): Target CPA @ $15–25/booking
Phase 3 (6+ months): Target ROAS @ 400–600%
October: +50% across all markets for Halloween demand surge
πŸ“± Social Media Manager + 🎬 Video Strategist

Social Media & Short-Form Video Strategy

TikTok-First Β· 2 Videos/Week Β· 5 Proven Formats Β· 90-Day Launch Roadmap Β· No Competitor Owns National TikTok Yet

Key Strategic Insight β€” Competitive Gap

No major ghost tour brand has claimed national TikTok space.

Ghost City Tours, Haunted History Tours, and all regional competitors have minimal or zero TikTok presence. American Ghost Walks' 27-city footprint + natural viral content (ghost reactions, "is it real?" moments, city-specific haunted history) provides a structural first-mover advantage. Move fast before competitors do.

Platform Strategy
PlatformRoleCadencePriority
🎡 TikTok Primary growth engine β€” discovery + viral reach. Ghost tour atmosphere, "haunted history you didn't know," city-specific haunted locations. 5–7 proven viral formats. 5–7x/week Primary
πŸ“Έ Instagram Reels Atmospheric tour photography, candle-lit walk clips, guide storytelling POV. City-level sub-accounts for top 5–7 cities. Booking link in bio + story CTAs. Note: never cross-post with TikTok watermark. 5x/week (Reels-first)
7–9pm posting window
Primary
β–Ά YouTube Shorts Repurposed TikTok content (watermark-free). "Haunted spots in [city]" series. Before/after tour stories. Supports SEO via video content on Google. Daily Shorts + 2x/mo long-form Secondary
πŸ“˜ Facebook Events for every tour departure (direct booking integration). City-specific pages for top 10 cities. Retargeting pixel coverage. Older demographic and group bookings. Events + 3x/week Secondary
πŸ“ GBP (27 Locations) 2 posts/week per location. Review response SLA: 24hr positive, 4hr negative/safety. Q&A section populated with FAQs per city. 2x/week per location Local SEO
5 Proven Video Format Templates
1
πŸ”¦ Lore Drop β€” "The Dark History of [City Location]"
"This cemetery in New Orleans has a secret that tour guides don't tell you..."
10–15 seconds. Cut from moody location footage. Historical reveal hook β†’ tour mention. High shareability. Works for every city.
2
😱 Reaction Reel β€” "Guest Experiences Something on Tour"
"We were just walking when she grabbed my arm..."
Guest-captured or guide-narrated. Authentic reactions drive enormous engagement. "Is it real?" comment debate = algorithm fuel. UGC pipeline feeds this format.
3
πŸ•΅οΈ True Crime β€” "The [City] Murder/Mystery You've Never Heard Of"
"In 1892, a woman in Chicago disappeared β€” and her ghost has been spotted ever since..."
Taps the true crime audience (massive on TikTok). Historical accuracy + ghost tour connection. High save rate = strong signal. Works best for Chicago, NOLA, Savannah.
4
πŸ‘« Date Night β€” "The Most Romantic + Terrifying Date Idea in [City]"
"If you're looking for a date night that isn't dinner and a movie..."
Couple-targeted content. High booking intent. Works year-round; spikes Valentine's + fall. Easy to produce with existing tour footage.
5
πŸ™οΈ Local Legend β€” "The Most Haunted Spot in [City] That Locals Know About"
"Locals in Milwaukee know never to walk past this building after dark..."
City-specific content drives local shares + tourism interest. Guide expertise shines. Easy to produce city-by-city using the 27-location rotation.
Content Pillars & Posting Mix
40%
Experience
Tour atmosphere, what you see & feel on tour
30%
Social Proof
Guest reactions, reviews, UGC, testimonials
20%
Education
Haunted history, paranormal lore, city facts
10%
Behind the Scenes
Guide prep, tour setup, team stories
90-Day Implementation Roadmap
Days 1–30 β€” Foundation
  • βœ… Social media audit complete (platform baselines pending direct account access)
  • ⏳ TikTok + Instagram profile optimization with branded bio + booking link
  • ⏳ Establish #AmericanGhostWalks across all platforms before first post
  • ⏳ UTM tracking setup on all social links (coordinate with AAMA-43 analytics)
  • ⏳ Facebook Events activated for every tour departure (booking link integration)
  • ⏳ GBP Q&A section populated across all 27 locations
  • ⏳ Google Drive submission folder set up for guide/staff content collection SOP
Days 31–60 β€” Content Engine Launch
  • ⏳ Weekly posting cadence live: TikTok 5–7x/week, Reels 5x/week, FB 3x/week
  • ⏳ TikTok series launch: "Lore Drop" format β€” 5 cities in first rotation
  • ⏳ First YouTube long-form: "The Most Haunted Ghost Tour in America"
  • ⏳ Location rotation scheduled: 27 cities over ~13 months (2/week cadence)
  • ⏳ UGC collection starts: 4 on-tour capture points set up with guides
  • ⏳ Community management SLA active (24hr positive, 4hr negative/safety response)
Days 61–90 β€” Optimize & Scale
  • ⏳ City-level Instagram sub-accounts launched for top 5–7 cities
  • ⏳ First boosted post test (TikTok Spark Ads on highest-performing organic post)
  • ⏳ 30+ UGC assets in library; top assets amplified as paid social creative
  • ⏳ Performance review: top formats identified; pivot content mix based on data
  • ⏳ Halloween countdown content begins β€” monthly build to October peak
πŸ“Š Analytics Analyst

Analytics & Attribution

Code-Level Audit Complete Β· Zero Booking Attribution Currently Β· Full Fix Scoped in AAMA-43

Current Tag Infrastructure
TagIDStatusIssue
GA4G-5GYWKXHGRKβœ… ActiveNo ecommerce events flowing (iframe block)
GTM (Marketing)GTM-T6BKML8Zβœ… ActiveShould be the only container β€” keep this one
GTM (Duda Platform)GTM-PH3CKDV⚠️ ConflictAuto-injected by Duda β€” fires simultaneously, causes duplicate conversions
Meta Pixel429834930831686βœ… ActiveNo purchase events flowing (same iframe block)
CausalFunnelamericanghostwalks_ProdV1⚠️ MonitorSeparate overlay β€” verify it's not duplicating events
TripWorks SDKamerican-ghost-walks.tripworks.comβœ… ActiveBooking iframe β€” source of attribution gap; needs postMessage integration
Critical Issues β€” Root Cause Analysis
  • πŸ”΄TripWorks iframe blocks GA4 purchase events β€” the booking widget is an iFrame from american-ghost-walks.tripworks.com. GA4 cannot receive purchase events that fire inside cross-origin iFrames. Result: zero booking conversions in GA4. All paid media is currently optimizing blind.
  • πŸ”΄Dual GTM containers firing simultaneously β€” GTM-T6BKML8Z (marketing team's container) and GTM-PH3CKDV (Duda's auto-injected container) both fire on every page. This duplicates all event tracking β€” pageviews, clicks, micro-conversions β€” making all historical data unreliable.
  • 🟑Zero city-level booking attribution β€” even if GA4 received purchase events, there's no dimension to identify which of the 27 cities drove the booking. Cannot determine which markets are profitable.
  • 🟑Peek Pro potentially still active β€” client mentioned Peek Pro as legacy; if any Peek tags or remnant code exists, it may conflict with TripWorks tracking. Needs verification before integration scoping.
Fix Implementation Plan (Scoped in AAMA-43)
  1. Consolidate GTM β€” remove GTM-PH3CKDV (Duda container) via Duda site settings; keep GTM-T6BKML8Z as sole container
  2. TripWorks postMessage integration β€” request TripWorks admin access from client; enable postMessage events from booking iframe to parent page; fire GA4 + Meta purchase events on successful booking
  3. GA4 ecommerce schema β€” set up purchase event with city, tour type, ticket quantity, revenue parameters to enable city-level attribution
  4. Google Ads conversion import β€” link GA4 purchase event to Google Ads as the sole conversion action; delete all UA-era conversion actions
  5. CallRail integration β€” 3-pool DNI strategy: (1) paid search, (2) organic/direct, (3) social. UTM + landing page URL handles city attribution without per-city phone numbers
  6. Looker Studio dashboard β€” city-level revenue by channel by month; booking CPA per campaign; MoM comparison
⚠️ Requires from client: TripWorks admin access to enable postMessage events. This is the critical path item β€” no paid media optimization until booking events flow into GA4.
Target KPIs Post-Fix
$25–38
Target CPA
400–600%
Target ROAS
27
Cities Attributed
3-Pool
CallRail DNI
πŸ“ GBP Agent

Local SEO β€” 27 Locations

Full GBP Audit Complete Β· 25 Cities / 32+ Tours Inventoried Β· Phase 2 Blocked on Client Access

2 Critical Issues Found
  • πŸ”΄Kailua-Kona (HI) links to wrong GBP β€” the Kailua-Kona tour page on the website links to a Lahaina (Maui) Google Business Profile. This means customers clicking the GBP link from the Kona tour page land on a completely different location in Duda's wrong GBP. Urgency: fix immediately β€” this is actively sending potential customers away. Fix: Update Duda page to link correct Kailua-Kona GBP.
  • πŸ”΄Juneau + Ketchikan show Bayfield schema β€” the Juneau and Ketchikan tour pages have LocalBusiness schema with Bayfield, WI address data. Google is reading the wrong city/state/address for these Alaska locations. Fix: Update schema in AAMA-45 to correct Alaska location data.
Location Inventory β€” All 27 Cities
#CityStateGBP StatusIssue
1KetchikanAK⚠️ Schema ErrorBayfield schema on page β€” fix in AAMA-45
2JuneauAK⚠️ Schema ErrorBayfield schema on page β€” fix in AAMA-45
3HollywoodCAβœ… GoodGBP found and linked correctly
4Chicago (5 tours)ILβœ… Good5 tours share one GBP β€” may benefit from separate listings
5NapervilleIL⚠️ Uses Chicago GBPShould have own listing for local pack visibility
6Lake CountyIL⚠️ Uses Chicago GBPShould have own listing for local pack visibility
7WoodstockIL⚠️ Uses Chicago GBPShould have own listing for local pack visibility
8Hilo / Big IslandHIβœ… GoodGBP found and linked correctly
9Kailua-KonaHIπŸ”΄ Wrong GBPLinks to Lahaina (Maui) GBP β€” critical fix needed NOW
10New OrleansLAβœ… GoodGBP found and linked correctly
11Bar HarborMEβœ… GoodGBP found and linked correctly
12Boothbay HarborMEβœ… GoodGBP found and linked correctly
13KennebunkportMEβœ… GoodGBP found and linked correctly
14PortlandME⚠️ VerifyNot confirmed linked to AGW GBP β€” verify
15MinneapolisMN⚠️ Bus Tour MissingWalk tour has GBP; Bus tour has no GBP listing
16Red WingMNβœ… GoodGBP found and linked correctly
17St. PaulMNβœ… GoodGBP "American Ghost Walks - Twin Cities"
18San JuanPR⚠️ VerifyBest-performing paid market β€” verify GBP completeness
19–27Remaining 9 citiesVarious⚠️ PendingPhase 2 audit pending GBP Manager access from client
Phase 2 Services (Blocked on Client GBP Access)
πŸ“ Full GBP Completeness Audit
Per-listing audit across all 27 GBPs: photos (10+ required), hours, review response rate, services/attributes, booking link to TripWorks. Requires GBP Manager access from client.
πŸ—“οΈ Google Things To Do
Listing setup & optimization per city. Synced with TripWorks inventory for real-time availability. Peek Pro β†’ Google Things To Do confirmation needed first.
πŸ”— Magpie OTA Sync
OTA accuracy/sync across all 27 listings. $75/product billed by Magpie directly. Eliminates booking discrepancies across TripAdvisor, Viator, and Google.
⭐ Review Generation Strategy
Post-tour email sequence for review requests. QR code cards for guides at tour end. Target: 4.8+ average rating across all 27 locations. Response SLA: 24hr all reviews.
πŸ“‹ NAP Citation Sweep
Month 1: Data Axle submission (all 27 locations). Month 6: Neustar/LocalEze update. Month 12: GPS Network submission. Ongoing: TripAdvisor, Yelp, Apple Maps, Bing Places.
πŸ™οΈ City-Level Photo Strategy
Each GBP needs 10+ photos: tour in progress, landmarks visited, guide portraits, and seasonal (Halloween content for fall). Guide SOP for submitting photos to GBP per city.
πŸ€– GEO Agent

GEO / AI Search Visibility Audit

GEO Score: 55/100 Β· Schema: 32/100 Β· E-E-A-T: 70/100 Β· llms.txt: Exists but Incomplete Β· April 2026

GEO Score Breakdown
55
Overall GEO Score
32
Schema Markup
62
AI Citability
70
E-E-A-T Signals
60
Technical GEO
55
Content Quality
Schema Markup32/100
AI Citability62/100
E-E-A-T Signals70/100
Technical GEO60/100
Content Quality55/100
Schema Gap Analysis β€” What's Missing
Schema TypeWhere NeededImpactStatus
OrganizationHomepage, About UsAI cannot identify the business entity without this β€” high citability impactβ–Ά AAMA-45
TouristTrip / TouristAttractionAll 27 tour pagesCore schema for this industry β€” entirely absent. Primary schema type Google expects.β–Ά AAMA-45
AggregateRatingHomepage + all tour pages4.9β˜… / 2,847 reviews mentioned on-page but not machine-readable. Rich snippet potential.β–Ά AAMA-45
EventAll tour pagesScheduled tours not discoverable as Google Events. Missing from Chicago (#4 ranking).β–Ά AAMA-45
FAQPageAll tour pagesCurrently present on Chicago + Hollywood but FAQPage answers contain raw HTML tags (spec violation)β–Ά Fix in AAMA-45
PersonAbout Us pageExpert bios (Bielski, Jornlin, Huberty) have no markup. E-E-A-T opportunity.⏳ Month 2
BreadcrumbListAll interior pagesNo content hierarchy signals for AI systems⏳ Month 2
SpeakableHomepage, tour pagesNo voice/AI reading designation β€” missed opportunity for AI assistant citations⏳ Month 3
llms.txt Analysis
βœ… EXISTS
153KB Β· 687 entries

American Ghost Walks already has /llms.txt β€” ahead of ~90% of comparable ghost tour operators. This is a strong foundation, but critical gaps limit its effectiveness for AI systems.

Critical Gaps to Fix:
  • πŸ”΄No site-level introduction paragraph β€” AI systems use the text after # American Ghost Walks as the primary site summary. Currently empty.
  • πŸ”΄No ## Tours section β€” 27 tour pages are buried in generic ## Pages with no differentiation. AI can't identify which pages are the core product.
  • 🟑558 blog entries have no description text β€” URL-only entries are unusable for AI context. Each entry needs a 1-sentence description.
  • 🟑No ## Optional section β€” duplicate/staging pages not de-prioritized, cluttering AI's understanding of site structure.
Target AI Query Visibility
Target QueryCurrent StatusTarget Placement
"best ghost tours in chicago"Organic #4 β€” inconsistent AI citationAI Overview + Featured Snippet
"best ghost tours in new orleans"No ranking before AAMA-47AI Overview Top 3 (new page + schema)
"ghost walk tours near me"Not appearing in local AI resultsLocal AI Pack via GBP optimization
"are ghost tours worth it"Not citedInformational AI answer (blog content + FAQ schema)
"haunted tours in [27 cities]"Partial β€” AK #3, ME #4City-level AI citations across all 27 markets
"best ghost tours in puerto rico"Not citedAI Overview (bilingual content + schema β€” high value given paid campaign CPA)
🎨 Designer

Design & Creative Direction

Gothic Atmospheric Aesthetic Β· Multi-City Visual Identity Β· Ad Creative Templates Β· Status: Month 2 Queue

Brand Direction

American Ghost Walks' visual identity should communicate: mystery, authenticity, and spine-tingling atmosphere. The aesthetic should feel like stepping into a haunted Victorian novel β€” candlelight, fog, historic architecture, and the thrill of the unknown. Historically grounded, never campy or cheap.

Color Palette
Midnight Purple
Dark Violet
Halloween Orange
Candlelight Gold
Deep Slate
Photography Direction
  • Candlelit streets & alleyways
  • Fog / mist effects at historic sites
  • Guide silhouettes at night
  • Old gravestones & mausoleums
  • Historic architecture at dusk
  • Guest reactions + group shots
Typography
  • Headlines: Serif or Gothic display
  • Body: Clean, highly readable sans-serif
  • Accents: Thin serif italics for atmosphere
  • CTAs: Bold, high-contrast, unambiguous
Creative Package β€” Month 2 Queue
πŸ“ Google Display Ad Templates
Responsive display ads in 6 standard sizes. Gothic atmospheric imagery with high-contrast CTAs. City-specific headline variants for all 27 markets.
πŸ“± Meta Ad Creative Set
3 creative concepts Γ— 3 format sizes (1:1, 4:5, 9:16). Story + carousel formats. Retargeting variants with urgency messaging ("Only 8 spots left tonight").
🎬 TikTok Video Templates
Branded lower-thirds, intro/outro cards, text overlay templates for the 5 proven video formats. City-by-city name cards for location rotation.
πŸ™οΈ City-Specific Imagery Guide
Per-city photography shot list (which landmarks, what time of day, what angle). Covers top 10 cities. Used by guides for consistent content capture.
πŸŽƒ Halloween Campaign Concept
Full seasonal creative direction for Oct peak. "America's Most Haunted Night Out" campaign concept. Ad creative, email header, social graphics, GBP cover photos.
πŸ–₯️ Landing Page Wireframes
City landing page layout template optimized for both organic SEO and paid ad landing quality. Booking widget placement above fold. Mobile-first. Trust signals + review stars.
Status

⏳ Design Package β€” Month 2 Queue

Design work is sequenced after paid media conversion tracking is repaired. Ad creative must align with live campaign messaging and landing page structure once those are confirmed. Designer will receive the brand direction brief, campaign architecture, and city priority list from Month 1 work.