May 2026AI Search Studies

AI Search for Specialty Coffee in Marseille (2026):Marseille breaks the entity-engine pattern

TL;DR: Across our four prior cross-vertical studies (Paris yoga, Berlin yoga, Amsterdam bikes, Tokyo bookstores) ChatGPT cited shop or studio websites about 32% of the time. For Marseille specialty coffee, it’s only 10%. Instead, 77% of ChatGPT’s Marseille citations go to third parties — 31% Reddit, 32% review-aggregators, 14% French local blogs. The entity-engine assumption inverts here. Instagram returns 237 cites — the highest social-platform signal in any cross-vertical study so far. By the “does the engine actually say the brand name in the answer” metric, Deep is the consensus winner — named in 61.5% of ChatGPT captures and across all five engines. Marseille is the city where the local-blog and Instagram ecosystem is the AI search ecosystem.

Published May 28, 2026
5
AI engines
27
Prompt templates
280
Cafés
EN + FR
Both languages
Read the Report

Executive Summary

For the first time across four cross-vertical replications, the entity-engine assumption breaks. Marseille specialty coffee runs on third-party sources — not shop websites.

We’ve now run the same AI-search playbook across four cities and verticals: Paris yoga, Berlin yoga, Amsterdam bikes and Tokyo bookstores. In all four, ChatGPT cited the entity’s own website roughly 32% of the time — the consistent ChatGPT-as-entity-engine baseline. For Marseille specialty coffee, that number collapses to 10%. The missing 22 points don’t go to a single source — they go to a trio: 31% Reddit, 32% review-aggregators (Wanderlog, Mapstr), 14% French local blogs (marseille.love-spots.com, marseillesecrete.com, tarpin-bien.com, lescachotteriesdemarseille.com). That’s 77% of ChatGPT’s Marseille answers grounded in third-party content.

The mechanism is the same one Berlin showed: source mix bends toward the local commercial and editorial infrastructure of a city. Marseille just has an unusual infrastructure — a small specialty-coffee scene with a weak digital footprint (only 114 of 280 shops have a website at all), a heavy Instagram-native discovery layer (237 cites, our highest social signal anywhere), and a dense thicket of French micro-guides covering the city. AI engines mirror what’s out there. Where the documentation lives, the citations follow.

Section 1

Source mix by platform

For every cited URL we bucketed the source into one of ten categories. The mix per engine is the cleanest way to see why Marseille breaks the pattern — especially compared to the consistent shop/studio-website share we measured in three earlier cities.

source-mix-by-platform-marseille-coffee
Copilot

Still entity-engine — but at 83%

The 95–97% Copilot norm we measured in yoga and bikes drops to 83% in Marseille. Even the engine that goes hardest on shop websites loses 12 points here. The weak digital footprint of Marseille specialty coffee — most shops without a website — forces Copilot to spend the rest of its citations on the long tail it usually ignores.

Gemini

Swings to global trade press: 34%

With no Marseille-specific specialty-coffee press to lean on, Gemini reaches for the global trade press instead. baristamagazine.com alone returned 95 citations — more than any shop website on Gemini, and roughly 34% of Gemini’s Marseille citations.

Perplexity

Leads with local editorial: 27%

Perplexity leans on the French local-guide ecosystem more than any other engine — 27% of its Marseille citations go to marseille.love-spots.com, marseillesecrete.com, tarpin-bien.com and similar French micro-guides. Where Marseille is documented in French, Perplexity finds it.

The mechanism is the same one Berlin showed: source mix bends to local commercial and editorial infrastructure. In Berlin that infrastructure was a fitness-marketplace blog (Urban Sports Club). Here in Marseille the “infrastructure” is a Reddit thread, an Instagram feed and a thicket of French micro-guides — so the AI engines mirror exactly that. The platform personalities don’t change; the substrate does.
Section 2

The ChatGPT inversion

One number tells the whole story of this article. ChatGPT’s shop-website citation share for Marseille specialty coffee is the lowest we’ve measured in five cross-vertical replications — and the gap to the other “city + scene” cases is what makes it interesting.

10%
ChatGPT’s share of citations going to specialty-coffee shop websites in Marseille.
vs the ~32% baseline we measured in Paris yoga, Berlin yoga and Amsterdam bikes.
chatgpt-shop-website-share-by-city
ChatGPT shop/studio website citation share across five cross-vertical AI-search studies.
City + verticalChatGPT shop-site %Signature non-shop source
Paris yoga32%Reddit (16% of all ChatGPT URLs)
Berlin yoga32%Urban Sports Club blog
Amsterdam bikes42%Reddit
Tokyo bookstores8%whenin.tokyo + Tokyo Weekender
Marseille coffee10%Reddit + Instagram + FR local blogs
This isn’t a measurement artifact. Tokyo bookstores landed at 8% for exactly the same reason Marseille lands at 10%: when a scene’s documentation lives off-site — on third-party review aggregators, in local-guide blogs, or on social — the AI engines find it there. The entity-engine baseline of ~32% is what happens when shops do own their digital footprint. In Marseille, only 114 of 280 specialty cafés have a website at all. The 10% is honest.
Section 3

The Instagram signal

One domain stands out so far above the rest of the social layer that it deserves its own section.

237
Instagram citations
across 3 platforms — the highest single-domain count anywhere in this study except for AI Mode’s Google self-citation firehose.

No other city/vertical pushes Instagram this hard.

In Paris yoga, Berlin yoga, Amsterdam bikes and Tokyo bookstores, the dominant social signal was Reddit — Instagram barely registered (single digits to low double digits at most). For Marseille specialty coffee, Instagram joins Reddit as a co-equal source: Reddit at 175 cites, Instagram at 237.

Marseille specialty coffee is an Instagram-native scene. Many of the top shops document themselves there in preference to a website — Nua is the cleanest example: no website, only an Instagram account, and ChatGPT’s answers cite that Instagram URL as the primary source. AI engines reflect this by surfacing Instagram URLs as primary citations rather than social-proof addenda. If you’re ranking a Marseille café for AI visibility, “own your Instagram” is closer to truth than “own your website.”

The reverse holds too: in cities where Instagram doesn’t drive citations, optimising it as your primary AI-discovery surface would underperform. The platform that matters depends on where the city’s scene actually documents itself — not on a generic GEO playbook.
Section 4

Gemini’s substitute

When the local layer Gemini usually leans on doesn’t exist, it reaches one rung up.

95
baristamagazine.com citations on Gemini
~34% of Gemini’s entire Marseille citation pool — more than any shop website.

The generalisable lesson

Gemini’s source preference is consistent across our studies, but it’s a shape more than a fixed set: “an authoritative editorial outlet for this domain.” The identity of that outlet is locale-dependent.

  • ·Berlin yoga → the Urban Sports Club blog filled the slot.
  • ·Tokyo bookstores → the local-guide web (whenin.tokyo, Tokyo Weekender) filled it.
  • ·Marseille coffee → with neither a deep local-guide layer nor a Marseille-specific specialty-coffee press, Gemini reaches for the global specialty trade press.

For a domain-aware editorial outlet, the strategic implication is the inverse of the local-blog story: in cities where no local equivalent exists, a global trade publication can become the single largest Gemini citation source for that locale. Barista Magazine isn’t “about” Marseille — but on Gemini, for Marseille, it’s the source.

Section 5

The Marseille Specialty Coffee AI Leaderboard

Aggregating shop mentions across the engines (chain locations merged), these are the most-cited Marseille specialty cafés. “Plats” is the number of platforms that surfaced the shop at all — a breadth signal.

ai-favourite-marseille-coffee-shops-2026
Top 12 Marseille specialty cafés ranked by text-mention total (engines naming the brand in the visible answer text), with the data session's citation-counted score alongside for comparison. Engines = number of the five engines that named the brand at least once in answer text. Brand-aggregated — AI answers say 'Café Lauca,' not 'Café Lauca Vieux-Port,' so the relevant unit is the brand, not the address.
RankShopText mentionsCite scoreEngines
#1Deep2161315 / 5
#27VB Café147665 / 5
#3Café Lauca1161015 / 5
#4Boujou Coffee105545 / 5
#5La Brûlerie MÖKA91385 / 5
#6The Coffee50345 / 5

The same leaderboard, split by engine

Reading across a row: the share of each engine’s prompt-captures whose visible answer text names the brand (raw count in parentheses). Because each engine answered a different number of prompts (ChatGPT 91, Gemini / Copilot / Perplexity 92, AI Mode 46 — AI Mode × FR failed at the Bright Data trigger), raw counts aren’t comparable across columns, so we render them as rates.

Deep dominates the heatmap: named in 61.5% of ChatGPT’s captures, 57.6% of Gemini, 48.9% of Copilot, 46.7% of Perplexity and 41.3% of AI Mode — universal recommendation. 7VB Café and Boujou Coffee are similar broad winners. The two rows at the bottom (Nua, Le grand Duc by Jacks) are empty — they have the high citation-counted scores in the table above but engines almost never name them in answer text. Both have generic platform brand_keys (Nua → instagram.com, Le grand Duc → facebook.com), so the citation count inherits every cite to those platforms and inflates. By the “does the engine actually say the name” metric, Deep is Marseille’s real cross-engine consensus winner.

#ShopAI Mode46 promptsChatGPT91 promptsPerplexity92 promptsGemini92 promptsCopilot92 prompts
1Deep41.3%(19)61.5%(56)46.7%(43)57.6%(53)48.9%(45)
27VB Café39.1%(18)34.1%(31)28.3%(26)45.7%(42)32.6%(30)
3Café Lauca30.4%(14)46.2%(42)12%(11)5.4%(5)47.8%(44)
4Boujou Coffee39.1%(18)41.8%(38)15.2%(14)14.1%(13)23.9%(22)
5La Brûlerie MÖKA17.4%(8)22%(20)20.7%(19)38%(35)9.8%(9)
6The Coffee8.7%(4)13.2%(12)8.7%(8)9.8%(9)18.5%(17)
7Tarlata Café4.3%(2)11%(10)19.6%(18)1.1%(1)10.9%(10)
8Café Barbotyne8.7%(4)6.6%(6)7.6%(7)0(0)16.3%(15)
9Cali Kitchen17.4%(8)6.6%(6)2.2%(2)1.1%(1)14.1%(13)
10Maison Nosh4.3%(2)5.5%(5)5.4%(5)3.3%(3)13%(12)
11Nua0(0)0(0)0(0)1.1%(1)0(0)
12Le grand Duc by Jacks0(0)0(0)0(0)0(0)0(0)

Cell = % of that engine’s captures in which the brand was named in the visible answer text; raw count in parentheses. Rows ordered by total text mentions (matching the leaderboard above). Colour scales with the table maximum (Deep on ChatGPT). Zeros greyed. Hover a cell for the underlying counts.

Two metrics, two stories — and one is wrong. The data-session leaderboard scored Nua at 356 cites and Le grand Duc at 31, putting them at #1 and #10 by citations. Neither shop has a website — their brand_key is the generic platform they live on (instagram.com, facebook.com), so the citation aggregator hands them every cite to those domains in the corpus. By the honest metric — how often does the engine say the brand name in the answer? — Nua appears in one capture and Le grand Duc in zero. The cite-score column above is kept as a contrast so the gap is visible; the rank order is the text-mention one. (The same measurement gap surfaced with Gérard Arnaud and Kind Yoga in the Paris yoga study.)

Where the winners are

The 12 leaderboard brands plotted on the map — chains show all their locations (Café Lauca, Boujou and La Brûlerie MÖKA have two each). Click a marker for the per-engine text-mention breakdown.

Top 12 most-cited brands — locations, popups show per-engine text mentions

1Deep27VB Café3Café Lauca4Boujou Coffee5La Brûlerie MÖKA6The Coffee7Tarlata Café8Café Barbotyne9Cali Kitchen10Maison Nosh11Nua12Le grand Duc by Jacks
Section 6

Top cited sources, cross-platform

Every domain cited by at least 3 of 5 platforms with 30+ cites. Read this as the working infrastructure of AI search for Marseille specialty coffee.

Top cross-platform cited domains for Marseille specialty coffee, ≥3 platforms and ≥30 cites.
PlatformsCitesBucketDomain
4 / 5175socialreddit.com
4 / 593editorial — localmarseille.love-spots.com
4 / 576review aggregatorwanderlog.com
4 / 554entity websitecafelauca.com
4 / 536editorial — localmarseillesecrete.com
3 / 5237socialinstagram.com

instagram.com at 237 cites is the row to notice. It shows up on 3 of 5 platforms with the highest single-domain count outside AI Mode’s Google self-citations — and no prior city or vertical in this series has surfaced Instagram even close to that volume. Reddit (175 cites, 4 platforms) is the more “expected” social signal; Instagram is the Marseille-specific one.

Section 7

EN vs FR — the sharpest split we’ve seen

Same intent, different language, different shops. For Marseille the divergence is the largest in the cross-vertical series so far.

EN vs FR top-5 shop overlap per prompt template, ChatGPT, FR proxy.
TemplateEN vs FR top-5 overlap
dist_cours_julien67%
price_cheap43%
dist_panier43%
brew_pourover25%
brew_espresso25%
brew_coldbrew25%

The control prompt overlaps just 11% — only 1 of the top 5 shops matches between English and French. For comparison, Berlin’s control was 25% and Paris yoga’s was 25%. Marseille is roughly half as language-stable as the previous two non-anglophone replications.

The cause is structural and follows directly from the source mix: with so little global specialty-coffee press covering Marseille, English prompts pull from a small English-language source set (Reddit threads, Wanderlog, Barista Magazine) while French prompts pull from the dense Marseille local-blog web (marseille.love-spots.com, marseillesecrete.com, tarpin-bien.com). Two languages, two largely disjoint citation universes — and two largely disjoint top-5 shop lists as the downstream consequence.

For a Marseille café, this is the most actionable single finding in the study: an EN-only or FR-only AI visibility audit will miss roughly 89% of the visibility picture on the control prompt. The two languages are pulling from different libraries.
Section 8

TLD bias — honestly, the sample is too thin

We’d normally render an EN vs FR split of .com vs .fr citations here. For Marseille specialty coffee, the sample doesn’t support it.

Only .com cleared the ≥5-cite threshold — and even there the directional signal (.com cited about 4× more by FR than EN prompts, n=10) sits below the noise floor we trust. Marseille specialty cafés use .fr so rarely — only ~22 of 280 shops have a website at all — that the .fr sample is too small to read cleanly. This is a measurement limitation, not a finding. We’re flagging it transparently rather than over-claiming a pattern the data can’t support.

Section 9

Geography — and a null test that is a measurement story

Marseille’s specialty cafés cluster heavily in a handful of central quartiers. The visual below shows the by-district counts — but the per-district AI accuracy test reads as zero, and that zero is methodological, not behavioural.

All 280 cafés on the map

The full reference set the answers were resolved against — every verified Marseille specialty café. Hover a dot for the name and district. The density follows the central waterfront and creative-quarter neighbourhoods (Vieux-Port, Notre-Dame-du-Mont, Cours Julien) rather than the outlying arrondissements.

All 280 verified Marseille specialty cafés

The supply side: where Marseille coffee actually is

The same distribution as counts — central quartiers dominate, the outlying arrondissements barely show up.

Bar chart of specialty cafe counts by Marseille district showing concentration in central quartiers including Le Panier, Cours Julien, Notre-Dame-du-Mont and the Vieux-Port area.
Specialty café counts across Marseille’s central quartiers, from the 280-shop registry.
District-targeting returned 0% accuracy across all six tested quartiers (Le Panier, Cours Julien, Notre-Dame-du-Mont, La Joliette, Vauban, Castellane). This is the same seed-granularity artifact we hit in Amsterdam and Berlin: the Apify Google Maps seed labels every shop’s city as “Marseille” with no quartier field, so a shop returned by an AI engine can never string-match a quartier target in our registry.
This is not evidence that AI gets Marseille quartiers wrong. It’s a seed-data ceiling we’re hitting in our own measurement — the kind of null that has to be rendered as a methodology caveat rather than a finding. The Paris yoga study, with its arrondissement-tagged registry, was the one case where we could measure this property cleanly.
Section 10

Where Marseille fits in the four-city picture

One row per city in the cross-vertical series, on the two axes that matter most for the entity-engine pattern: ChatGPT’s shop-website citation share, and the signature non-shop source the engine leans on instead.

Five cross-vertical replications of the AI-search methodology, scored on ChatGPT’s entity-engine vs third-party split.
City + verticalChatGPT shop-site %Signature non-shop source
Paris yoga32%Reddit
Berlin yoga32%Urban Sports Club
Amsterdam bikes42%Reddit
Tokyo bookstores8%whenin.tokyo + Tokyo Weekender
Marseille coffee10%Reddit + Instagram + French local blogs

What still generalises

  • Per-engine personalities hold. Copilot is still the entity engine; Perplexity still the most diverse mix; Gemini still concentrates on one editorial vein; AI Mode still self-cites Google.
  • Source mix bends to local infrastructure. Berlin (Urban Sports Club), Tokyo (local-guide web), Marseille (Reddit + Instagram + FR micro-guides) — same mechanism, different substrate.
  • Language and proxy reshape the answer. EN/FR divergence widens further here, but the direction is the same as Paris and Berlin.

What Marseille adds

  • The entity-engine baseline isn’t a law. The ~32% ChatGPT shop-site share we’d been treating as a constant is conditional on shops owning a digital footprint. When they don’t, it can drop to 10%.
  • Instagram can be a primary AI citation source. Not just social proof — a top-3 cited domain on 3 of 5 engines.
  • Gemini will substitute upward. No local specialty press → global trade press fills the slot. The shape of the source preference is fixed; the identity isn’t.
Section 11

AI search behaviour — and an operational caveat

The plumbing notes for this dataset, including a reproducible Bright Data quirk that bit two of our studies in a row.

413
Captures across 9 of 10 platform×proxy batches. Roughly even per-engine, weighted toward platforms with multiple language/proxy combinations that resolved.
3,442
Cited URLs logged, bucketed into the 10-bucket source taxonomy. Marseille’s French local-blog tail bucketed cleanly — “other” tightened from 54% (pre-taxonomy pass) to 9%.
786
Distinct map entities surfaced and resolved through the NER pipeline to the 280-shop registry.
AI Mode × FR proxy failed at the Bright Data trigger. HTTP-level rejection, no snapshot ID returned. This is the same FR-proxy block that hit our Paris yoga study in May; AI Mode × DE worked cleanly in the Berlin replication, so the rejection is FR-specific to AI Mode — not a one-off scrape failure. Every AI Mode percentage on this page is over the US-proxy batch only. We flag the absence rather than imputing French numbers.
Methodology

Study design

Data collection

  • 22 prompt templates × 2 languages (EN/FR) × 2 proxy countries (US/FR) × 5 AI engines
  • Engines: ChatGPT, Perplexity, Gemini, Copilot, Google AI Mode
  • Captured 2026-05-28 via Bright Data
  • 413 captures, 3,442 cited URLs, 786 distinct map entities
  • 9 of 10 platform×proxy batches resolved — AI Mode × FR rejected

What we measured

  • Shops named per answer (chain-aggregated leaderboard)
  • Cited URLs bucketed into a 10-bucket source taxonomy
  • EN vs FR top-5 overlap per prompt template
  • .com vs .fr citation balance by prompt language (sample-limited)
  • Per-platform social and review-aggregator share
  • Cross-city comparison vs Paris yoga, Berlin yoga, Amsterdam bikes, Tokyo bookstores

How we turned answers into shops: the NER pipeline

AI answers are free text — “Nua is the obvious one, then maybe try Deep in the Vieux-Port, or Tarlata…” — not a clean list of businesses. To count anything, we first had to extract the shop mentions. Each answer (and each citation’s anchor text) ran through a named-entity-recognition (NER) pass that works in four steps:

  1. Span detection. A transformer NER model tags candidate spans — organisation/business names and the location phrases attached to them (quartier names, street addresses, “Vieux-Port,” “Cours Julien”). A coffee-specific gazetteer (“café,” “brûlerie,” “coffee,” “roasters”) boosts recall on names the base model would otherwise miss.
  2. Normalisation. Each candidate is lower-cased and stripped of boilerplate — the word “Marseille,” quartier suffixes, trademark glyphs and punctuation — so “Nua Coffee Roasters Marseille” and “Nua” collapse toward the same key.
  3. Entity resolution. Normalised mentions are matched to a 285-row Apify Google Maps seed of Marseille specialty cafés (280 retained after filtering bakeries, restaurants and tea houses — only 5 misclassifications). Fuzzy string similarity plus a domain match when the answer cited the shop’s own website. Ambiguous or sub-threshold spans are dropped.
  4. Chain aggregation. Resolved entities that belong to the same brand are merged so a multi-location shop isn’t double-counted, while per-location coordinates are retained for the map.

A taxonomy pass also tightened the source bucketing: pre-pass, “other” held 54% of Marseille citations because the French local-blog tail was unfamiliar to the default classifier. Post-pass, “other” sits at 9% — the French micro-guide ecosystem bucketed cleanly into editorial_local.

Caveats

  • AI Mode × FR proxy is missing. Bright Data rejected the batch at the trigger layer (HTTP-level, no snapshot ID). The same FR-proxy block hit Paris yoga; AI Mode × DE worked in Berlin. FR-specific to AI Mode, not a one-off.
  • .fr TLD sample is too thin to read. Only ~22 of 280 Marseille specialty cafés carry a website at all; .fr citation counts sit below our trust threshold. Section 8 is rendered as a measurement limitation, not a finding.
  • District-targeting null is a seed-granularity artifact. The Apify seed labels every shop city = “Marseille” with no quartier field; the 0% accuracy across all six quartiers is methodological, not behavioural. Same Amsterdam/Berlin pattern.
  • NER resolution is high-precision by design: mentions the pipeline can’t confidently map to the registry are dropped, so counts are conservative lower bounds.
  • Google AI Mode’s heavy reliance on google.com URLs may inflate its citation count relative to other engines.
  • Disclosure: no personal affiliation with any Marseille specialty coffee shop.
FAQ

Frequently Asked Questions

Summarize with AI

ChatGPTPerplexityClaudeGeminiGrok

Continue Reading

More on how AI search surfaces local businesses.

All Research