Kort gezegd: Stop je productcatalogus erin en krijg een gerangschikte tabel terug van welke landen je moet betreden — gescoord op echte zoekvraag, CPC's, concurrentieprijzen en een gesimuleerde ROAS per markt. De run van zeven stappen vertaalt je feedcategorieën naar elke moedertaal, haalt zoekwoordideeën op via de Google Ads API, scrapet concurrerende SERP's met DataForSEO en is 's nachts klaar. De winnaars zijn bijna nooit de markten die de vergadering verwachtte.
Wat je erin stopt, en wat je eruit krijgt
Je stopt er één ding in: je product feed — hetzelfde Google Merchant Center-bestand dat je al hebt. Je krijgt er één ding uit: een gerangschikte tabel van landen, van boven naar beneden, die je vertelt waar je vervolgens moet uitbreiden en waarom — onderbouwd met echte zoekvraag, echte CPC’s, echte concurrentieprijzen en een gesimuleerd rendement op advertentie-uitgaven per markt. Geen onderbuikgevoel, geen “Duitsland omdat het groot is”. Een spreadsheet die de vergadering overrulet.
Dit artikel is de complete blueprint, en ik ga er niets van wegwuiven. Bij elke stap laat ik je de echte tussenoutput zien — de daadwerkelijke tabel, de daadwerkelijke aantallen, de daadwerkelijke seed die er aan de andere kant uitrolde — uit één nachtrun op een echte Tsjechische bargain-segment webshop. Zodat je stap voor stap precies kunt zien wat elke fase oplevert en kunt besluiten “ja, dat is precies wat ik nodig heb”.
Een woordje over waarom dit überhaupt de moeite waard is. De eerlijke versie van een expansieanalyse — vraag, prijzen, concurrentie en unit economics over tien of vijftien markten — was altijd mogelijk. Het betekende alleen honderden uren zoekvolumes land voor land ophalen, seeds vertalen, concurrenten met het oog inschatten, en een spreadsheet bouwen die niemand helemaal vertrouwde. Dus meestal gebeurde het niet; teams kozen hun volgende land omdat iemand de taal sprak of een distributeur belde. Die handmatige kost is wat is ingestort — niet de moeilijkheid van het idee, maar de moeilijkheid van de uitvoering. Wat vroeger weken duurde is nu één nachtrun plus een middag.
De blueprint in één oogopslag
Zeven stappen. Voor elke stap: wat je doet, waar je naar kijkt, en waarom — want elke stap bestaat om één specifieke vraag over een markt te beantwoorden.
1 — Kies de shortlist (logistiek eerst)
Doen: noteer de landen waar je daadwerkelijk naartoe kunt verzenden en door de douane krijgt. Waarom: marktomvang is een waardeloze voordeurfilter — de grootste markt is meestal de duurste om binnen te komen. Logistiek is de echte beperking, dus die gaat eerst. Je krijgt: een lijst van 10–15 kandidaatlanden om te analyseren, en niets verspild aan markten die je niet kunt bedienen.
2 — Maak van de feed seeds
Doen: neem de product_type-categoriepaden uit je Merchant Center feed en parse ze tot schone, atomaire categorie-seeds. Waarom: je eigen catalogus benoemt al elke categorie die je verkoopt — het is de beste, goedkoopste seedbron die er is, veel beter dan zoekwoorden brainstormen. Je krijgt: een paar honderd betekenisvolle seeds in plaats van een kwart miljoen rauwe feedregels.
3 — Vertaal elke seed naar de moedertaal
Doen: laat een LLM de volledige seedlijst vertalen naar de eigen taal van elk shortlist-land, vóór elk onderzoek. Waarom: niemand in Warschau zoekt in het Engels; bevraag de proxytaal en elk volume en elke CPC verderop is stilletjes verkeerd. Je krijgt: de exacte lokale woorden om elke markt mee te bevragen.
4 — Haal zoekwoordideeën per land op
Doen: duw elke vertaalde seed door de Google Ads API (GenerateKeywordIdeas) voor elk land — het eerste wat je downloadt, want alles verderop heeft het nodig. Waarom: dit is het rauwe vraagsignaal — volume, CPC en seizoensgebondenheid per zoekwoord. Je krijgt: het volledige zoekwoorduniversum per markt, met de link terug naar de broncategorie intact.
5 — Laat AI de scope opschonen
Doen: filter de ruis eruit op zoekwoordniveau, niet op seedniveau. Waarom: een brede seed als “voetbal” trekt miljoenen rommelzoekopdrachten aan — maar dood de seed en je doodt ook “voetbalschoenen”, een echte verkoop. Je krijgt: een relevante kern, plus de koopintentie-zoekwoorden getagd in plaats van weggegooid.
6 — Scrape de concurrentiepagina (DataForSEO)
Doen: scrape voor je best verkopende producten de live resultatenpagina per markt in één API-call. Waarom: volume vertelt je vraag, niet of je op prijs verpletterd wordt; de SERP toont wie er adverteert, tegen welke prijs, hoe druk de veiling is. Je krijgt: advertentieteksten van concurrenten, live shoppingprijzen en de organische spelers — voor een paar dollar per markt.
7 — Simuleer de economie, scoor daarna
Doen: simuleer ROAS op basis van echte CPC, een verdedigbaar conversiepercentage en de AOV per markt, weeg vervolgens vraag, prijzen, logistiek en frictie samen tot één score. Waarom: dit is de vraag waarvoor je eigenlijk kwam. Je krijgt: de gerangschikte tabel — waar je moet uitbreiden, op volgorde.
Nu dezelfde zeven stappen, één voor één, elk met het echte ding dat het in deze run opleverde.
Stap 1 — De shortlist die de logistieke straal opleverde
Je analyseert niet heel Europa; je analyseert waar je kunt leveren. Uitgaand van het verzend- en douanebereik van de thuismarkt kwam de kandidatenset uit op 13 doellanden verspreid over Centraal- en Oost-Europa en de Balkan. Hier is die letterlijke shortlist, met de toetredingssignalen die de scoring later gebruikt — de thuismarkt (Tsjechië) staat ook in de tabel, maar alleen als ijkbasis, niet als doel. En let op: twee landen worden eruit gemarkeerd voordat er ook maar één zoekwoord wordt opgehaald, om een reden die geen enkele slidedeck voorspelt:
| Land | In EU? | Valuta | E-com groei | Notitie |
|---|---|---|---|---|
| Duitsland | Ja | EUR | +5 % | Ankermarkt |
| Oostenrijk | Ja | EUR | +6 % | — |
| Polen | Ja | PLN | +12 % | Grootste CEE-markt |
| Slowakije | Ja | EUR | +8,5 % | Overlap thuistaal |
| Tsjechië (thuis) | Ja | CZK | — | IJkbasis |
| Hongarije | Ja | HUF | +15 % | — |
| Roemenië | Ja | RON | +18 % | — |
| Bulgarije | Ja | BGN | +16 % | — |
| Kroatië | Ja | EUR | +14 % | Lokale betalingen vereist |
| Slovenië | Ja | EUR | +10 % | — |
| Servië | Nee | RSD | +20 % | — |
| Albanië | Nee | ALL | +28 % | — |
| Bosnië & Herz. | Nee | BAM | +22 % | Afgevallen — geen Bosnisch in Google Ads |
| Noord-Macedonië | Nee | MKD | +25 % | Afgevallen — geen Macedonisch in Google Ads |
Die laatste kolom is precies het soort beperking dat je alleen leert door het te draaien: Google Ads ondersteunt geen Bosnisch of Macedonisch voor zoekwoordideeën, dus die twee markten vallen uit de zoekwoordfase hoe aantrekkelijk hun groei er ook uitziet. Dertien gepland, elf die de API daadwerkelijk kan onderzoeken.
Stap 2 — De feed, teruggebracht tot 400 seeds
Het ruwe materiaal is de product feed — ruwweg 252.000 catalogusitems, met product_type-paden aan elkaar geplakt met &, a en slashes zoals echte feeds dat altijd doen (“Koelkasten en vriezers”, “Speelgoed & games”). De parser splitst die in atomaire categorieën, laat generieke topniveau-knooppunten vallen (“home”, “elektronica”, “tuin”), en houdt alleen paden die boven een frequentiedrempel uitkomen. Een kwart miljoen items klapt in tot een strakke, betekenisvolle seedlijst:
Feed → seeds, de echte reductie
- Rauwe catalogusitems geparseerd ~252.000
- Verschillende merken gecatalogiseerd (buiten seeds gehouden) 40.000+
- Frequentiedrempel — kleinste behouden seed tagt nog 234 items
- Betekenisvolle categorie-seeds na normalisatie 400
En de seeds zelf zijn precies waar je een markt op zou bevragen — categorieën, geen productnamen. De zwaarste op cataloguslading:
| Seed (vertaald) | Catalogusitems | Niveau |
|---|---|---|
| Speelgoed | 21.636 | L2 |
| Hoesjes | 14.411 | L3 |
| Dameskleding | 14.341 | L2 |
| Telefoons | 13.544 | L2 |
| Laptops | 12.277 | L2 |
| Dierbenodigdheden | 11.940 | L2 |
| Keukenuitrusting | 11.379 | L2 |
| Auto & moto (accessoires) | 11.683 | L1 |
Om dit concreet te maken: stel dat de shop kleine huishoudartikelen, speelgoed en telefoonaccessoires verkoopt. De feed heeft een pad als Elektronica > Mobiel > Telefoonhoesjes. De parser gooit “Elektronica” weg (te generiek), houdt “telefoonhoesjes” als seed, en telt hoeveel producten eronder vallen — hier tagt “hoesjes” 14.411 items, dus het is duidelijk een echte categorie die het onderzoeken waard is, geen eenmalig dingetje. Productnamen hebben meestal nul zoekvolume, dus die worden genegeerd; de 40.000-plus gecatalogiseerde merken worden achtergehouden als apart signaal, en de categorie-seeds dragen het zoekwoordenonderzoek.
Stap 3 — Elke seed, in de eigen taal van de markt
Dit is de stap die mensen overslaan, en die vergiftigt stilletjes alles verderop. Je bevraagt een markt nooit in het Engels. Vóór één enkele API-call vertaalt een LLM de volledige seedlijst naar de moedertaal van elk land — de 400 kern-seeds, uitgebreid met synoniemen en spellingvarianten tot 488 entries × 12 talen = 5.856 machinevertalingen klaar voor gebruik. Hier is één seed, “speelgoed”, zoals die daadwerkelijk naar elke markt ging:
| Markt | Wat 'speelgoed' wordt vóór de API-call |
|---|---|
| Duitsland (de) | Spielzeug |
| Polen (pl) | zabawki |
| Tsjechië / Slowakije (cs/sk) | hračky |
| Hongarije (hu) | játékok |
| Roemenië (ro) | jucării |
| Kroatië / Servië (hr/sr) | igračke / играчке |
| Bulgarije (bg) | играчки |
| Slovenië (sl) | igrače |
| Albanië (sq) | lodra |
Waarom dit in gewone taal uitmaakt: als je Polen zou onderzoeken met het Engelse woord “toys”, zou Google je het volume en de CPC geven voor Engelstalige zoekopdrachten in Polen — een piepklein, raar segmentje van expats en toeristen. Bevraag in plaats daarvan zabawki en je krijgt de echte Poolse markt. De cijfers schelen een orde van grootte, en elke beslissing verderop hangt ervan af. Merknamen zijn de enige uitzondering — die worden nooit vertaald.
Stap 4 — 1,4 miljoen zoekwoordideeën, per markt
Nu het zware werk, en het eerste wat je daadwerkelijk downloadt: elke vertaalde seed, in elk land, door het Google Ads-endpoint GenerateKeywordIdeas, met een rate limit en de link van elk zoekwoord terug naar zijn bron-product_type bewaard. Over elf onderzoekbare landen leverde de run 1.402.486 zoekwoordideeën op — en de verdeling per markt is op zich al een bevinding, want rauwe vraag volgt niet de markten waarvan je zou verwachten dat ze winnen:
| Markt | Rauwe zoekwoordideeën | Met zoekvolume |
|---|---|---|
| Polen | 410.343 | 408.852 |
| Duitsland | 348.914 | 347.868 |
| Oostenrijk | 323.294 | 311.438 |
| Roemenië | 128.304 | 126.385 |
| Bulgarije | 76.866 | 75.650 |
| Kroatië | 61.611 | 58.179 |
| Servië | 14.573 | 13.848 |
| Slowakije | 10.884 | 9.173 |
| Albanië | 9.704 | 4.339 |
| Hongarije | 9.281 | 8.584 |
| Slovenië | 8.712 | 6.542 |
De run wordt seed voor seed, land voor land geboekt, zodat je precies kunt zien hoe compleet hij is: 4.220 seed-land-jobs geprobeerd, 3.619 leverden data, 601 gaven een fout — quotalimieten en de aborts wegens niet-ondersteunde taal uit stap 1. Dat is de eerlijke textuur van een echte run; het is geen schone enkele veegbeweging, en je wilt het log dat bewijst welke cellen daadwerkelijk data achter zich hebben.
Stap 5 — AI schoont de scope op (op zoekwoordniveau)
Een brede seed sleept ruis mee, en de verleiding is om de rommelige seed te doden. Doe het niet. “Voetbal” in Duitsland trekt miljoenen Bundesliga-zoekopdrachten aan die niets met je shop te maken hebben — maar dezelfde seed trekt ook “voetbalschoenen” aan, die je heel graag wilt. Dus filter je op zoekwoordniveau, niet op seedniveau: gooi de seed weg en je gooit zijn koopintentie-kinderen weg.
Hier is wat de opschoning daadwerkelijk verwijderde in deze run, en waarom — eerst categorieën buiten het segment, daarna pure ruispatronen:
| Verwijderde groep | Zoekwoorden geschrapt | Waarom |
|---|---|---|
| Buiten segment — grote apparaten | 11.243 | Koelkasten, wasmachines — alleen shop voor kleingoed |
| Buiten segment — hele voertuigen | 8.127 | Motoren, auto's — geen onderdelen |
| Buiten segment — grote meubels | 6.675 | Te zwaar voor de logistieke straal |
| Buiten segment — centrale verwarming | 6.354 | Bulkitems buiten de catalogus |
| Ruis — lokale automarktplaats | 3.837 | PL 'otomoto'-advertenties, geen categorievraag |
| Ruis — kalenderpagina's | 2.528 | Duits 'Kalender' — verkeerde intentie |
| Ruis — onlinegames | 2.378 | Entertainment, geen retail |
| Ruis — tweedehands-autozoekopdrachten | 2.100+ | 'gebrauchtwagen', 'auto kaufen' |
| Ruis — voetbal / sport | 1.800+ | Bundesliga binnengetrokken door de 'voetbal'-seed |
Een concreet voorbeeld van de zoekwoord-vs-seed-regel: de seed “auto-moto” is geweldig voor deze shop — die verkoopt autoaccessoires. Maar in het Duits trekt het ook “gebrauchtwagen” (tweedehands auto’s) en “auto kaufen” (auto kopen) aan, die waardeloos zijn voor een kleingoed-webshop. Je verwijdert de seed niet; je verwijdert die specifieke zoekwoorden en houdt “Handyhalter Auto” (telefoonhouder voor auto’s). Dat zijn 2.100-plus rommelzoekwoorden weg, de goede onaangeroerd.
En de keerzijde van opschonen is niet alleen aftrekken — het is het taggen van het signaal dat je wél wilt. Voor een bargain- / tweedehandscatalogus zit de koopintentie in de dealwoorden, dus 49.770 zoekwoorden kregen het label koopjesintentie in elf talen:
Deal-intentie taggen — het signaal dat het bewaren waard is
- Duits 'gebraucht' (gebruikt) 22.128
- Pools 'używany' + varianten 6.290
- Duits 'günstig' (goedkoop) 2.606
- Roemeens 'ieftin' (goedkoop) 2.305
- Engels 'second hand' 1.783
- Totaal getagde koopjesintentie-zoekwoorden 49.770
Dit is de stap die een bruikbare deliverable scheidt van een rommelige. In de eerste ronde stond de spreadsheet vol Bundesliga, kalenders van 2026 en tweedehands-autoadvertenties; er was een review in twee ronden over tien talen voor nodig om tot een kern te komen die een klant daadwerkelijk zou vertrouwen.
Stap 6 — Haal de concurrentiepagina uit een SERP
Volume vertelt je vraag; het zegt niets over of je op prijs verpletterd wordt. Dus voor de top 20–30 % best verkopende producten per categorie lokaliseer je de titel en scrape je de live resultatenpagina. Eén POST naar DataForSEO levert de hele pagina als JSON terug — het deel dat je niet uit je eigen account kunt reconstrueren:
import requests
# One POST → the whole results page as JSON:
# paid ads (competitor copy), shopping blocks with prices, organic, PAA.
resp = requests.post(
"https://api.dataforseo.com/v3/serp/google/organic/live/advanced",
auth=(LOGIN, PASSWORD),
json=[{
"keyword": "lodówka do zabudowy", # localized to the market's language
"location_code": 2616, # Poland
"language_code": "pl",
"device": "desktop",
}],
)
# ~$0.0035 per query → 3,000 top products per market ≈ $10.50
Diezelfde respons draagt drie dingen voor één prijs: het paid-blok (advertentieteksten van concurrenten — ruw materiaal voor je messaging-onderzoek), popular_products (shoppingblokken met live prijzen die je niet uit je eigen Merchant Center krijgt), en de organische resultaten (de echte spelers van de markt, inclusief degenen die niet adverteren). Je betaalt voor een prijscheck en loopt weg met een copybibliotheek en een concurrentiekaart. En de totale kosten van het hele programma vormen de clou:
De concurrentieronde, geprijsd (12 markten × 3.000 zoekopdrachten)
- Organic Regular, task-modus $21,60
- Merchant Shopping (alleen prijzen) $36
- Organic Advanced, live (paid + shopping + PAA) $126
- DataForSEO minimale top-up (gaat maanden mee) $50
Een volledige concurrentie-SERP-ronde over twaalf landen kost $22–126 afhankelijk van de modus — tegenover een Semrush-abonnement van ~$140+/maand vast, alleen voor de UI.
Stap 7 — Simuleer de economie, scoor daarna
Nu vouw je alles samen. Op basis van echte CPC, een verdedigbaar conversiepercentage en een AOV per markt simuleer je ROAS voor elk land, en weeg je vervolgens vraag, prijzen, logistiek, groei en toetredingsfrictie samen tot één score. De output is één gerangschikte tabel — de deliverable waarvoor je kwam — en de clou is betrouwbaar: de landen die bovenaan eindigen zijn bijna nooit die welke het team verwachtte.
| Markt | Totaalscore | Gesimuleerde ROAS | Oordeel |
|---|---|---|---|
| Slowakije | 54,8 | 2,25 | #1 — goedkope klikken, overlap thuistaal |
| Polen | 52,7 | 2,22 | Groot en haalbaar — vereist lokale betalingen |
| Servië | 43,6 | 2,49 | Blauwe oceaan, first-mover, goedkoopste klikken |
| Duitsland | 21,6 | 1,01 | Prijzenoorlog — ROAS-straf ×0,4 |
| Oostenrijk | 20,4 | 0,83 | Kleinere prijs, zelfde veiling — straf |
| Kroatië | 20,2 | 1,50 | Straf — betalingen vereist |
| Slovenië | 19,1 | 1,49 | Straf — dun volume |
| Hongarije | 18,8 | 1,67 | Straf |
| Roemenië | 18,4 | 1,23 | Straf |
| Bulgarije | 18,1 | 1,30 | Straf |
| Albanië | 15,4 | 0,78 | Straf — zwakste economie |
Kijk naar de top drie. Slowakije, Polen en Servië — niet Duitsland, niet Oostenrijk, de twee markten waar iedereen standaard op uitkomt. Duitsland heeft de meeste vraag in de set (348k zoekwoordideeën) en eindigt vierde, naar beneden getrokken door een gesimuleerde ROAS van amper 1,0. De reden is de harde straf die de tabel eerlijk houdt: zodra de gesimuleerde ROAS onder de haalbare drempel zakt, wordt de score vermenigvuldigd met 0,4 — want op een verse markt is paid je enige kanaal, je hebt nog geen SEO, en een markt waar paid niet rendeert kan niet je toegangspoort zijn.
IJk eerst op één account dat je zelf beheert. De CPC’s hierboven zijn plannerschattingen, en ze lopen hoog. Op het live thuisaccount van deze klant had ik de echte cijfers om tegen te checken: 22,6 miljoen zoekopdrachten over twaalf maanden, een echte betaalde CPC van 2,54 CZK, AOV 747 CZK en een gemeten conversiepercentage rond 3 %. De voorgestelde CPC van de Keyword Planner lag ruwweg 10× hoger dan die echte betaalde CPC — dus elke gesimuleerde CPC hier krijgt tien keer korting voordat hij de ROAS-rekensom raakt. Vertrouw nooit een gesimuleerde ROAS die je niet hebt geijkt tegen één account dat je echt draait.
Het scoringsmodel: negen gewogen factoren
De score is geen onderbuikgevoel. Het zijn negen componenten, elk gewogen naar hoeveel hij de beslissing daadwerkelijk verschuift. ROAS domineert, want een enorme markt met brute CPC’s verliest elke keer weer van een kleine markt met goedkope klikken.
| Factor | Gewicht | Wat het meet |
|---|---|---|
| Paid-haalbaarheid (ROAS) | 20 % | Gesimuleerde AOV × CR ÷ CPC |
| Prijsconcurrentie | 15 % | Jouw prijzen vs. lokale verkopers, per stuk |
| Logistiek | 15 % | Afstand en bezorgkosten vanaf thuismarkt |
| Zoekvraag | 13 % | Genormaliseerd maandelijks zoekvolume |
| Toetredingsgemak | 12 % | EU, gedeelde valuta, verwante taal, COD |
| E-commercegroei | 10 % | Jaarlijkse groei van de markt |
| Marktomvang | 5 % | E-commerce-omzet, afgetopt |
| Organische kans | 5 % | Lage moeilijkheid met voldoende volume |
| Koopkracht | 5 % | Bbp per hoofd |
Twee harde straffen houden de tabel eerlijk: als de gesimuleerde ROAS onder een haalbare drempel zakt, wordt de score vermenigvuldigd met 0,4 (paid acquisitie werkt niet en op een verse markt is paid je enige kanaal); en als een land helemaal geen CPC-data oplevert, wordt zijn score teruggebracht tot een derde — je wedt niet op een markt die je niet kunt beprijzen. Die tweede straf is precies waarom de twee markten die bij stap 1 afvielen (geen Google Ads-ondersteuning voor hun taal) de ranking hierboven nooit halen: geen zoekwoorddata, geen prijs om te modelleren, geen verdedigbare gok.
De CPC-spreiding, gemeten
Die ranking is gebouwd op één factor boven alle andere — de kostprijs van een klik. Hier is het echte ding: de mediane planner-CPC per markt uit deze nachtrun, over 745.712 opgeschoonde, geprijsde zoekwoordideeën opgehaald via de Google Ads API (GenerateKeywordIdeas, gedraaid op 28–29 april 2026). Elk cijfer is in CZK, de eigen valuta van het account, zodat de markten zuiver vergelijken.
| Markt | Zoekwoordideeën | Mediane CPC (CZK) | vs. goedkoopste |
|---|---|---|---|
| Servië | 4.208 | 2,42 | 1,0× (basis) |
| Polen | 260.333 | 4,73 | 2,0× |
| Kroatië | 27.943 | 5,12 | 2,1× |
| Bulgarije | 44.819 | 5,14 | 2,1× |
| Roemenië | 65.262 | 5,30 | 2,2× |
| Hongarije | 2.118 | 5,49 | 2,3× |
| Slovenië | 797 | 6,13 | 2,5× |
| Slowakije | 1.152 | 7,19 | 3,0× |
| Duitsland | 232.421 | 10,99 | 4,5× |
| Oostenrijk | 106.659 | 12,40 | 5,1× |
De spreiding is het hele argument tegen standaard voor de voor de hand liggende markt kiezen: een Oostenrijkse klik kost 5,1× een Servische en een Duitse klik 4,5×, nog voordat ook maar één eenheid winkelmandwaarde de rekensom binnenkomt. De goedkoopste klikken zitten waar de vergadering nooit naar wijst — eerst Servië, daarna Polen en de Balkan — terwijl de vertrouwde Westerse markten een veilingpremie dragen die de meeste teams onderschatten. (Albanië is uit de tabel gelaten: met slechts 31 geprijsde ideeën is de mediaan het vertrouwen niet waard.)
Eén eerlijke kanttekening — dezelfde die de callout maakt. Dit zijn plannerschattingen, en de planner-CPC loopt hoog: het echte Tsjechische thuisaccount achter deze run betaalde 2,54 CZK per klik over 22,6 miljoen zoekopdrachten, lager dan zelfs het goedkoopste plannercijfer hier. Lees de kolom dus als relatieve marktdruk, niet als de prijs die je daadwerkelijk betaalt.
De klikprijs-spreiding, één bargain-segment run
- Goedkoopste marktklik — Servië, planner-mediaan 2,42 CZK
- Duurste — Oostenrijk, planner-mediaan 12,40 CZK
- Goedkoopst-tot-duurst spreiding over de set 5,1×
- Tsjechisch thuisaccount, echte betaalde CPC (22,6M zoekopdrachten) 2,54 CZK
Bonusoutput: de seizoensgebondenheid waar je je budget op zou plannen
Dezelfde zoekwoord-pull draagt twaalf maanden zoekvolume per zoekwoord — 16,7 miljoen maandelijkse datapunten over 1,39 miljoen zoekwoorden in deze run. Aggregeer het en de vraagcurve is onmiskenbaar: één enkele piekmaand die 40 % meer zoekvraag draagt dan de rustigste.
Seizoensgebondenheid over de volledige zoekwoordset
- Piekmaand — december 2025 752,5M zoekopdrachten
- Dalmaand — juli 2025 535,7M zoekopdrachten
- Piek-tot-dal-schommeling 1,40×
December staat bovenaan de curve en juli onderaan — precies wat je zou verwachten voor een algemene-warencatalogus. Die ene schommeling is je signaal voor lancering-timing en budget: je opent een nieuwe markt niet in zijn dode maand, en je laadt budget vóór de december-aanloop, niet erin.
Geverifieerd, niet getheoretiseerd
Elk cijfer hierboven kwam uit één echte run. Hier zijn de kerncijfers, met nog twee grensoverschrijdende analyses voor de schaal:
Uit echte CEE-expansieanalyses
- Zoekwoordideeën, één bargain-segment shop (Google Ads API) 1.402.486
- Landen gericht / voltooid 13 / 11
- Zoekwoordenonderzoek doorlooptijd, 's nachts & geautomatiseerd ~10 uur
- Nichecatalogus: rauwe zoekwoorden → behouden na AI-opschoning 1,18M → 168k (−86 %)
- Volledige SERP-ronde: 12 landen × 3.000 zoekopdrachten $22–126
Twee markten moesten halverwege de run afvallen omdat Google Ads hun taal niet ondersteunt voor zoekwoordideeën — het soort beperking dat je alleen leert door het ding daadwerkelijk te draaien. De ~10 uur is machinetijd: het onderzoek maalt ‘s nachts door over alle landen parallel terwijl jij slaapt. Het mensenwerk — de feed vormgeven, de economie ijken, de ruis opschonen, de deliverable bouwen — is een paar geconcentreerde uren erbovenop. Wat vroeger weken handarbeid was, is nu één nachtrun plus een middag.
(De −86 %-snit komt uit een andere, veel nichere catalogus — een B2B-shop voor bouwprofielen waar de meeste brede-seed-zoekwoorden echt off-topic waren. De bargain-shop hierboven verloor maar een enkel procent aan scope en ruis. Hoe agressief de opschoning is, hangt volledig af van hoe niche je bent.)
Nu het leuke deel: wat je met de ranking doet
1. Je betreedt de markt die de spreadsheet koos, niet die je aannam
Het hele punt is verrast te worden. In deze run scoorden Slowakije en Servië — een kleine markt en een niet-EU-markt die niemand had voorgesteld — ronduit hoger dan Duitsland en Oostenrijk, puur omdat klikken een fractie van de prijs waren en de economie daadwerkelijk klopte. Dat is de deliverable die zijn werk doet: het onderbuikgevoel overrulen met de rekensom.
2. De concurrentie-scrape wordt je lanceringsdraaiboek
Omdat stap 6 al elke advertentietekst en prijspunt van concurrenten per markt heeft opgehaald, loop je niet blind naar binnen. Je weet wie er zit, wat ze rekenen, welke voordelen ze in hun koppen pushen, en waar er een prijsgat is om te onderbieden of een positioneringsgat om te claimen — voordat je ook maar één euro aan verkeer uitgeeft.
3. Vraag per categorie vertelt je wat je eerst moet verzenden
Je behield de link van elk zoekwoord terug naar zijn product_type. Dus je weet niet alleen dat Polen goed is — je weet welke categorieën Polen zoekt, in welk volume. De catalogus waarmee je lanceert is die welke de data zegt dat de markt wil, geen kopie-plak van je thuisassortiment.
Het deel dat je mag jatten
Seed-normalisatie-prompt — maakt van rauwe feedcategorieën schone, doorzoekbare seeds:
You are a keyword-research assistant. Input is one raw product_type path
from a Google Merchant Center feed, e.g. "Home & Garden > Fridges and freezers".
Return atomic, searchable category seeds in {LANGUAGE}, one per line:
- split glued categories ("fridges and freezers" → "fridge", "freezer")
- drop generic top-level nodes ("home", "garden", "electronics")
- expand each to 2–3 synonyms people actually search for
- never translate brand namesDe concurrentie-call — gelokaliseerde zoekopdracht, de location_code van de markt, advanced-formaat:
curl -s "https://api.dataforseo.com/v3/serp/google/organic/live/advanced" \
-u "$LOGIN:$PASSWORD" -H "Content-Type: application/json" \
-d '[{"keyword":"lodówka do zabudowy","location_code":2616,"language_code":"pl"}]'Vier valkuilen die je zullen bijten:
- Filter op zoekwoordniveau, nooit op seedniveau. Een rumoerige seed doden doodt ook zijn koopintentie-kinderen. “Voetbal” is ruis; “voetbalschoenen” is een verkoop.
- Alleen moedertaal. Geen Engels als proxymarkt. Vertaal eerst de seeds; de vraag zit in de lokale woorden.
- Geef de planner-CPC korting. De voorgestelde CPC van zoekwoordtools liep ~10× de echte betaalde CPC op een live account dat ik checkte — ijk voordat je ROAS simuleert.
- GTIN wordt in Shopping als fulltext behandeld, niet als exacte ID — bevestig een match via de titel, anders koppel je de verkeerde producten.
FAQ
Hoeveel landen moet ik analyseren?
Begin bij logistiek, niet bij ambitie. Waar je daadwerkelijk naartoe kunt verzenden en door de douane krijgt — meestal een shortlist van 10–15 landen. Deze run begon met 13 en verloor er twee in de zoekwoordfase omdat Google Ads hun taal niet kon onderzoeken; de scoring dunde de rest uit.
Een miljoen zoekwoorden klinkt als overkill. Is het dat?
Het is de natuurlijke schaal, geen overdrijving: 400 seeds × een dozijn talen × al hun varianten loopt in de miljoenen. Deze ene bargain-segment shop leverde 1.402.486 zoekwoordideeën op. Het volume is juist het punt — je brengt een markt in kaart, je schrijft geen briefing van 5.000 woorden.
Google Ads API, DataForSEO of Semrush?
Google Ads API voor de zoekwoordideeën als je een sterk token hebt — dat is de bron van waarheid. DataForSEO voor de SERP-scraping en als goedkoop zoekwoordalternatief: een volledige concurrentieronde over 12 landen kost $22–126. Semrush is de dure optie; voor deze klus is er weinig reden om zijn vaste abonnement te betalen.
Hoe ga je om met zoveel talen?
Een LLM vertaalt de seedlijst naar de moedertaal van elk land vóór het onderzoek draait — de 400 kern-seeds groeien uit tot 488 entries met varianten, × 12 talen in deze run, 5.856 vertalingen klaar vóór de eerste API-call. Engels-als-proxy verstoort stilletjes elk volume en elke CPC, want niemand in Warschau zoekt in het Engels.
Kan ik de CPC-cijfers voor de ROAS-simulatie vertrouwen?
Niet rauw. CPC’s uit zoekwoordtools zijn planningsschattingen; op dit live account lag de voorgestelde CPC ongeveer 10× zo hoog als de echte betaalde (2,54 CZK over 22,6M zoekopdrachten). IJk tegen één account dat je echt draait, pas die korting toe, en dan is de gesimuleerde ROAS iets waard.
Hoe lang duurt het hele proces?
Het zoekwoordenonderzoek zelf is één nachtrun — ruwweg 10 uur onbewaakte machinetijd over alle landen parallel. Het mensenwerk eromheen (feed vormgeven, economie, opschonen, deliverable) is een handvol uur. Noem het een dag of twee van begin tot eind, tegenover wat vroeger weken kostte.
CTA: Benieuwd welke markten zich echt terugbetalen? Laten we de blueprint op jouw feed draaien.