Research Overview
We tested how ChatGPT recommends restaurants in Danang, Vietnam — specifically whether a restaurant needs its own website to appear in AI-generated answers (Generative Engine Optimization, or GEO).
| Parameter | Value |
|---|---|
| Model scraped | ChatGPT (via DataForSEO Scraper API, codename Luna) |
| Prompts | 5 distinct restaurant queries |
| Total runs | 88 successful (5 prompts × ~15 runs each) |
| Location | Vietnam |
| Language | English |
| Web search | Forced on |
| Period | September 2026 |
The 5 prompts:
- “Best fine dining restaurants in Danang Vietnam”
- “Best cheap local restaurants in Danang Vietnam”
- “Top seafood restaurants in Danang Vietnam”
- “Luxury dining experience in Danang Vietnam”
- “Best banh mi and street food spots in Danang”
Data collected per run: local business cards (name, address, phone, reviews, rating, website URL), text response with inline source citations, and named brand entities with URLs.
Used AI: Claude

Finding A: ChatGPT Has Two Separate Citation Systems
Every ChatGPT response to a local restaurant query produces two independent data layers, sourced differently and serving different purposes.
| Local Business Pack | Text Response Citations | |
|---|---|---|
| Data source | Google Business Profiles (GBP) | Web search results |
| Contains | Name, address, phone, reviews, rating, website URL | Editorial articles, guides, reviews |
| Avg per run | 14.5 businesses | 6.2 sources |
| URL source | GBP “website” field (passed through unfiltered) | Third-party websites writing about the restaurant |
| Social media URLs | 148 (18.2% of 811 URLs) | 0 out of 545 citations |
How it works:
- User prompt → ChatGPT detects local intent
- Triggers a Google Maps/Places API search → returns ~10–16 business cards (avg 14.5)
- ChatGPT displays them as the local pack
- Separately, ChatGPT does a web search for its text response and cites editorial sources
The restaurants mentioned in the local pack and the text response are often different. A restaurant can dominate the local pack (Thìa Gỗ: 54 local pack appearances, 0 text citations) while being invisible in the editorial text.
Finding B: Local Pack URL Breakdown
1,277 businesses appeared across 88 runs. 811 had a URL; 466 (36.5%) had no URL at all. Where those 811 URLs actually point:
| Category | Count | % of URLs |
|---|---|---|
| Restaurant Website | 495 | 61.0% |
| Social Media (Facebook/Instagram) | 148 | 18.2% |
| Hotel/Resort Chain | 102 | 12.6% |
| Google Business Profile | 27 | 3.3% |
| Korean Platform (Naver) | 27 | 3.3% |
| Review Platform | 7 | 0.9% |
| Other | 5 | 0.6% |
39% of local pack URLs do not point to a restaurant’s own website. These clicks go to Facebook pages, hotel chain sites, GBP ad pages, Korean blogs, or review platforms — all because of what’s in the GBP “website” field. Every click ChatGPT sends to these restaurants goes somewhere the restaurant can’t track visitors, capture bookings, or control the experience.
Finding C: Text Citation Sources
545 text citations across 88 runs. Zero social media. ChatGPT cites third parties writing about restaurants, not the restaurants themselves.
By category:
| Category | % of Citations |
|---|---|
| Food/Travel Blog | 33.6% |
| Food/Restaurant Guide (Michelin) | 27.7% |
| Tourism Portal | 17.8% |
| Review Platform (TripAdvisor) | 8.3% |
| Restaurant Website | 5.1% |
| Hotel/Resort Chain | 4.4% |
| Other | 3.1% |
Top cited domains:
| Domain | Citations | Category |
|---|---|---|
| guide.michelin.com | 145 | Food/Restaurant Guide |
| thingstododanang.com | 49 | Food/Travel Blog |
| tripadvisor.com | 44 | Review Platform |
| vietnamwithme.com | 41 | Food/Travel Blog |
| danangfantasticity.com | 35 | Tourism Portal |
| vietnamtourism.com | 29 | Tourism Portal |
| vietnam.travel | 25 | Tourism Portal |
| danang.intercontinental.com | 24 | Hotel/Resort |
| gtrip.vn | 17 | Food/Travel Blog |
| danangpointer.com | 14 | Food/Travel Blog |
94.9% of text citations come from third-party sources. Only 5.1% link directly to a restaurant’s own website. A Michelin listing alone accounts for 26.6% of all text citations.
Finding D: Top 10 Most Mentioned Restaurants
7 of the top 10 have a website. 3 do not. Only 4 have a dedicated restaurant domain (not a hotel chain site).
| Rank | Restaurant | Total | Local Pack | Text | Website Status |
|---|---|---|---|---|---|
| 1 | La Maison 1888 | 68 | 33 | 35 | intercontinental.com (hotel chain) |
| 2 | Si Dining | 62 | 33 | 29 | sidiningdanang.com |
| 3 | Le Comptoir | 56 | 28 | 28 | lecomptoirdng.com |
| 4 | Thìa Gỗ | 54 | 54 | 0 | danang.thiagorestaurant.com |
| 5 | Bếp Cuốn (Michelin Selected) | 46 | 44 | 2 | Facebook page only |
| 6 | Sky View | 42 | 33 | 9 | parosanddanang.com (hotel chain) |
| 7 | City High Dining | 41 | 27 | 14 | cityhighdining.com |
| 8 | Mộc Quán Seafood | 40 | 22 | 18 | mocseafood.com |
| 9 | My Hanh Seafood | 39 | 20 | 19 | No URL at all |
| 10 | Nhà An | 37 | 27 | 10 | business.google.com (GBP ad link) |
Key patterns:
- Balanced (top 3): strong in both local pack and text = GBP + editorial coverage + website. Strongest GEO position.
- Pack only (Thìa Gỗ, Bếp Cuốn): high GBP visibility, zero or minimal editorial footprint. Biggest GEO opportunity gap.
- Biggest missed opportunity: Bếp Cuốn is Michelin Selected, appears 46 times, but every click goes to Facebook.
Finding E: Do You Need a Website for GEO?
No, to appear. Yes, to capture value.
| GEO Layer | Website Needed? | What Actually Drives It |
|---|---|---|
| Appearing in local pack | No | GBP listing (name, category, reviews, rating) |
| Being cited in text response | Helps, but indirectly | Third-party editorial coverage (94.9% of citations) |
| Capturing the click | Essential | GBP website field → your domain with menu + booking |
The three-asset model — strongest performers have all three:
- GBP (must-have) — sole data source for ChatGPT’s local pack
- Website (should-have) — captures the click and converts it to a reservation
- Editorial/listicle mentions (advantage) — drives text citations where ChatGPT names you by name
The evidence:
- 36.5% of local pack businesses appeared with no URL at all — GBP data alone got them into ChatGPT
- Only 5.1% of text citations link to restaurant websites — ChatGPT cites third parties writing about you
- 0 out of 545 text citations linked to Facebook or Instagram — social media is invisible to ChatGPT’s text engine
- Without a website, clicks go to Facebook (18.2%), hotel chains (12.6%), or nowhere (36.5%)
Without a website or GBP, local businesses are renting visibility on others’ land.
Finding F: GBP Optimization for GEO
Ranked by what the data showed.
a. Fix your GBP website URL
Point it to your actual domain, not Facebook/Naver/shortener. 5-minute fix, immediate impact on every ChatGPT recommendation.
b. Accumulate Google reviews — volume matters
| Review Count Range | Avg Appearances in Local Pack |
|---|---|
| 10,000+ reviews | 30–54 runs |
| 5,000–10,000 | 15–30 runs |
| 1,000–5,000 | 5–20 runs |
| Under 1,000 | 1–5 runs |
Median in our data: 2,031 reviews. Threshold for consistent appearances: 1,000+.
c. Rating: above 4.3
Average rating in local packs was 4.73. Almost nothing below 4.0 appeared. The real floor is ~4.3, not 4.0.
d. Choose the right primary business category
| Query Type | Dominant Categories Returned |
|---|---|
| Fine dining | “Fine dining restaurant,” “French restaurant,” “Italian restaurant” |
| Cheap local | “Vietnamese restaurant,” “Restaurant,” “Noodle shop” |
| Seafood | “Seafood restaurant” |
| Luxury dining | “Fine dining restaurant,” “Resort hotel” |
| Street food | “Bakery,” “Vietnamese restaurant,” “Toast restaurant” |
Your primary category must match the queries you want to appear for. Add secondary categories for broader coverage. Thìa Gỗ appeared across all 5 prompt types — likely because its category and menu are broad enough to match multiple intents.
e. Complete every GBP field
100% of local pack results had address and business category. ChatGPT surfaces what GBP gives it:
- Full address with correct district and postal code
- Phone number with country code
- Business hours including special hours and holidays
- Menu URL (separate from website URL in GBP)
- Photos (Google uses photo quantity and recency as quality signals)
- Attributes: dine-in, takeout, delivery, wheelchair accessible, reservations accepted
- Price range (helps ChatGPT match “cheap” vs “luxury” queries)
f. Optimise your business name (carefully)
Examples from our data that add descriptors beyond the legal name:
- “Bếp Cuốn Đà Nẵng – Michelin Selected 2025-2026” — city + credential
- “LoCo Restaurant – Danang Seafood Restaurant – 다낭 레스토랑” — cuisine type + Korean text
- “Nhà An – Vietnamese local food restaurant and vegan” — cuisine + dietary
Google’s guidelines say the name should be your real business name, but many restaurants in our data added descriptors that help ChatGPT understand what the business is and match it to more query types.
g. Build menu diversity signals
Restaurants appearing across all 5 prompt types (Thìa Gỗ, NGON Da Nang, An Thôi, Nhà Bếp Xưa) share a trait: they’re perceived as versatile. This likely comes from:
- GBP menu items spanning multiple cuisines/price points
- Photos showing different dining experiences (casual meals and nicer settings)
- Reviews mentioning different occasions (“great for a quick lunch” AND “nice date night spot”)
- Multiple secondary categories
h. Manage your Q&A section
GBP’s Q&A section is indexed and likely feeds into how Google categorizes your business:
- Seed common questions yourself: “Do you have vegetarian options?” “Can I make a reservation?”
- Answer with keyword-rich responses that describe your restaurant
i. Post regularly on GBP
Google Business Posts (updates, offers, events) signal an active listing:
- Post weekly with menu highlights, seasonal dishes, events
- Include relevant keywords naturally (“fresh seafood,” “authentic Vietnamese,” “street food style”)
- Add photos to every post
Note: Items g, h, and i are best-practice recommendations, not directly observed in the scraper data.
Finding G: Website Best Practices for GEO
We visited the websites of the top-performing restaurants to identify what the ones getting both local pack appearances and text citations have in common.
| Pattern | Si Dining | Le Comptoir | NGON Da Nang | City High Dining | Mộc Seafood |
|---|---|---|---|---|---|
| English content | Full | Full | Full | Full | Vietnamese only |
| Keyword-rich title tag | ✓ “Italian Fine Dining in Da Nang” | ✓ “French Restaurant & Fine Dining in Da Nang” | ✓ “Vietnamese Cuisine Restaurant” | ✓ “Western Fine Dining – Da Nang City” | ✗ |
| Menu visible on site | Yes (daily changes) | Yes | Yes | Yes (tasting menu) | Minimal |
| Reservation form/CTA | Phone + email + form | Phone + email + form | Full form with time slots | Gift experiences CTA | No |
| Awards/credentials | Michelin, Tatler, Robb Report | Michelin, Tatler, Gourmet Collection | None listed | None listed | None listed |
| Blog/content section | No | No | Yes (8+ SEO articles) | No | No |
| Chef/story narrative | Chef Alessio bio | No | Cultural experience story | Chef Kush bio | No |
What this means for your restaurant website:
- English title tag with cuisine + city — the minimum. “Best [cuisine] restaurant in [city]” matches how people prompt ChatGPT.
- Reservation capture — the website’s #1 job. Phone, email, and booking form. Without this, the click has nowhere to convert.
- Awards/press section — feeds the editorial citation loop. Si Dining lists Michelin, Tatler, and Robb Report on their site — exactly the sources ChatGPT cites.
- Blog content about your city’s food scene (optional but high-leverage) — NGON Da Nang publishes articles like “Delicious Restaurants in Da Nang for International Tourists.” This approach could make your own site a citable source.
- Menu page — ChatGPT sometimes pulls menu details into its text response.
- Design doesn’t matter much — City High Dining is minimal and still ranks. Content and structure matter more than aesthetics.
Note: monandanang.vn was the most-cited “restaurant website” domain in text citations (6 citations) — but it’s actually a local food directory, not a restaurant’s own site. This reinforces that ChatGPT cites content about restaurants, not restaurant sites themselves.
Methodology & Disclaimer
Methodology:
- Tool: DataForSEO ChatGPT Scraper API (
ai_optimization_chat_gpt_scraper) - Model: ChatGPT (scraped via Luna, DataForSEO’s scraper engine)
- Parameters:
language_code="en",location_name="Vietnam",force_web_search=true - Total API calls: 91 attempted, 88 successful (96.7% success rate)
- Each run independently triggered ChatGPT and captured both the local business pack and the text response with citations
- Data was extracted from the raw API responses, categorized by domain type, and cross-tabulated by prompt
- Website analysis was conducted by visiting each restaurant’s site and documenting content patterns
Limitations and disclaimers:
- Single vertical, single city. These findings are specific to restaurants in Danang, Vietnam. Other verticals (hotels, clinics, retail) and other cities may produce different citation patterns.
- English-language prompts only. Vietnamese-language prompts may produce different results and citation sources.
- Snapshot in time. ChatGPT’s behavior, data sources, and ranking signals change. These findings reflect September 2026.
- Correlation, not causation. We observed which restaurants appear and what URLs/citations accompany them. We cannot prove which GBP fields or website features cause higher visibility — only which patterns co-occur with it.
- Scraper vs. native interface. DataForSEO’s scraper may not perfectly replicate the ChatGPT interface experience. Local pack display, citation formatting, and URL handling may differ slightly from what a user sees in ChatGPT directly.
- GBP optimization items g–i (menu diversity, Q&A, posting) are industry best practices, not findings directly observed in the scraper data.
- Sample size. 88 runs across 5 prompts provides directional insight, not statistically rigorous conclusions. Larger samples and A/B testing would strengthen confidence.
Data files produced:
chatgpt_scraper_raw_data_validated.json— 88 full scraper results (1.2 MB)chatgpt_scraper_summary_validated.csv— summary per runall_citations_validated.csv— flat citations file (312 KB)