Djupdykning· Sökstrategi · 13 min läsning

Var börjar man med Search-kampanjer på en jättesajt? Ditt GA4 vet redan.

På en jättesajt är den första Search-frågan inte sökord — det är vilka målsidor som har råd att annonseras. GA4-ekonomi svarar på den, steg för steg.

Gigantiska målsidesdörrar sorterade i JA- och NEJ-högar.
De seriösa fakta är på riktigt — artikelomslagen är det inte.

Kort sagt: På en jättesajt är den första Search-frågan inte sökord — det är vilka målsidor som matematiskt har råd att annonseras. Mata in en GA4-export plus en sajt-crawl, beräkna maxCPC = mål-CRR × CR × AOV per sida, och jämför med din verkliga genomsnittliga CPC. Ut kommer en rankad TOP 100–200 bygghög, en fix-hög med problemsidor, och en skippa-hög — innan du spenderar ett öre.

TOP 100–200
målsidor värda att bygga först
CRR × CR × AOV
den max-CPC varje sida har råd med
~3 min
att sätta upp crawl-extraktionen
0,10 € CPC
sidorna du aldrig bör buda på

Vad du stoppar in, och vad du får ut

Du stoppar in två saker du redan äger: en GA4-export av dina målsidor och en crawl av din sajt. Du får tillbaka en sak — en rankad lista över målsidorna värda en Search-kampanj först, var och en med den exakta max-CPC den har råd med, och en ren “buda inte på det här”-hög för sidorna vars ekonomi förbjuder betald sök. Inget sökordsverktyg, ingen aning, inget “vi slår bara på Dynamic Search Ads och ser”. Ett kalkylark som berättar var du ska rikta budgeten innan du spenderar ett öre av den.

Det är hela artikeln. Nedan kör jag pipelinen från ände till ände och visar dig, vid varje steg, den bokstavliga grejen den spottar ur sig — GA4-raderna, max-CPC-aritmetiken på en enda rad, crawl-extraktionstabellen, prioriteringssorteringen före och efter, och problemsidesdiagnosen som räddar en sida alla andra skulle radera. Siffrorna är illustrativa genomgående — stoppa in dina egna — men formerna är exakt vad verktygen returnerar.

Varför bry sig om en förkontroll över huvud taget? För att standarddraget på en sajt med 10 000 URL:er är att rikta en bred kampanj mot allt och låta Google reda ut det. Det bränner budget på sidor som aldrig skulle konvertera, drar din mål-ROAS loss, och förgiftar inlärningsfasen. Det här filtret är den billigaste försäkring du någonsin köper.

Pipelinen i en ruta

  • Vad vi är ute efter Målsidorna värda att annonsera, rankade
  • Indata GA4-målsidesexport · en sajt-crawl
  • Den enda formeln maxCPC = mål-CRR × CR × AOV
  • Vad du får En bygghög, en fix-hög och en skippa-hög

Den enda siffran som avgör allt: max-CPC

Varje målsida har ett tak — det mesta du kan betala för ett klick och ändå träffa din måleffektivitet. Beräkna det per sida och hela prioriteringen faller ut ur matematiken:

maxCPC = mål-CRR × CR × AOV

där CRR (cost-revenue ratio — det europeiska PNO, motsvarande ACOS) är andelen av intäkten du är villig att spendera på annonser, CR är sidans konverteringsfrekvens, och AOV är dess genomsnittliga ordervärde.

Ett genomräknat exempel, rakt ur formeln. En kategorisida konverterar på 2 %, snittar en order på 1 000 €, och du är villig att spendera 10 % av intäkten på annonser (en 10× ROAS):

maxCPC = 0,10 × 0,02 × 1 000 € = 2,00 €.

Om du föredrar att tänka i ROAS omarrangeras samma sak till maxCPC = CR × AOV / ROAS = 0,02 × 1 000 / 10 = 2,00 €. Samma siffra, välj formen din hjärna gillar. (Illustrativt exempel.)

De 2,00 € är utlåtandet. Jämför det med den verkliga genomsnittliga CPC:n i ditt konto för den marknaden och sidan sorterar sig själv: bekvämt över genomsnittlig CPC → bygg den; under → den kan inte bära sig; långt under → tänk inte ens på det. Allt som följer är bara att producera den här siffran för varje sida, pålitligt, och läsa resultatet.

Pipelinen i korthet

Fem steg. För vart och ett: vad du gör, vad du tittar på, och varför — eftersom varje steg finns för att svara på en specifik fråga om en sida.

1 — Dra målsidesekonomi från GA4

Gör: per målsida, exportera sessioner, konverteringar, transaktioner och intäkt; härled CR och AOV. Varför: det här är efterfråge-och-pengar-signalen — utan den är max-CPC en gissning. Du får: en rad per sida som bär de två siffror formeln äter (CR och AOV).

2 — Crawla sajten för struktur

Gör: crawla varje sida för titel, H1, brödsmulesdjup och — den som spelar roll — hur många produkter den listar. Varför: GA4 känner ekonomi men inte struktur; en sida med två produkter i lager kan inte bära en kampanj hur den än konverterar. Du får: den strukturella spegeln av dina GA4-rader, plus en tunn-sida-flagga.

3 — Joina de två, beräkna max-CPC

Gör: joina GA4 + crawl på URL, kör formeln på varje rad, släpp tunna sidor. Varför: det är här ekonomi och struktur möts och utlåtandet blir beräkningsbart. Du får: varje sida med en max-CPC sittande bredvid sig.

4 — Prioritera: max-CPC vs. verklig genomsnittlig CPC

Gör: sätt varje sidas max-CPC bredvid den faktiska genomsnittliga CPC:n i ditt konto eller land, sortera efter spelrum. Varför: en max-CPC betyder inget i isolering — bara gapet till vad klick faktiskt kostar avgör om en sida kan betala. Du får: TOP 100–200-bygghögen, en fix-hög, och en skippa-hög.

5 — Diagnostisera problemsidorna

Gör: för sidor som borde konvertera men inte gör det, kolla priskonkurrenskraften hos produkterna de listar först. Varför: en låg CR på en sida som borde sälja är vanligtvis en merchandising-läcka, inte ett efterfrågeproblem — och den är fixbar. Du får: sidor räddade från skippa-högen tillbaka in i bygghögen, när de väl kan konvertera.

Nu samma fem steg, ett i taget, var och ett med den bokstavliga grejen det producerar.

Steg 1 — GA4-exporten, som den landar

Du behöver ingen flashig rapport. I GA4: Explore → blank → Free form, dimension Landing page + query string, mått Sessions, Key events / Conversions, Total revenue. Lägg till Transactions om du har det; annars kommer AOV från intäkt ÷ konverteringar. Ett filter i förväg: exkludera produktdetaljsidor och behåll kategori- / kollektionssidor — du dimensionerar vart du ska skicka trafik, och på de flesta sajter är det kategorier, inte enskilda SKU:er. Att blanda in SKU:er snedvrider varje AOV och CR du beräknar.

Här är hur fyra representativa rader ser ut väl exporterade, med CR och AOV härledda:

Landing page         Sessions  Conv   CR     Revenue    AOV
/cordless-vacuums       8,140    163   2.0%   €68,460    €420
/winter-tyres           5,020    156   3.1%   €28,080    €180
/sleeping-bags         12,300    135   1.1%   €12,825    €95
/phone-cases            9,800    137   1.4%    €2,192    €16

(Illustrativt exempel.) CR är konverteringar ÷ sessioner; AOV är intäkt ÷ konverteringar. Det är hela indatan formeln behöver från GA4 — två kolumner, CR och AOV, per sida. Märk redan att /sleeping-bags drar flest sessioner i uppsättningen men konverterar sämst; håll den tanken, den är den intressanta senare.

Steg 2 — Crawlen, och kolumnen som gör jobbet

GA4 berättade hur varje sida presterar. Det kan inte berätta att en sida är strukturellt ihålig — en “kategori” med två produkter i lager, eller en parametrisk filtervy som aldrig borde bära en kampanj. För det crawlar du. Två vägar: låt en AI skriva dig en slit-och-släng-crawler på fem minuter, eller använd Screaming Frog med en custom XPath-extraktion du sätter upp på ungefär tre minuter (full miniguide i steal-rutan). Kör den i List mode på din GA4-URL-uppsättning och den mal i bakgrunden medan du gör något annat.

Den enda kolumnen som förtjänar sin plats är produktantalet — hur många produktkort sidan faktiskt renderar. Här är extraktionsresultatet joinat till samma fyra sidor, plus en till crawlen flaggar:

URL                  Title                H1               Products  Breadcrumb
/cordless-vacuums    Cordless Vacuums …   Cordless Vacuums      48    Home>Floorcare>Vacuums
/winter-tyres        Winter Tyres | …     Winter Tyres        112    Home>Tyres>Winter
/sleeping-bags       Sleeping Bags …      Sleeping Bags         9    Home>Camping>Sleep
/phone-cases         Phone Cases …        Phone Cases         640    Home>Accessories>Cases
/clearance-2019      Clearance            Clearance             0    Home>Clearance

(Illustrativt exempel.) Tunn-sida-regeln gör sitt jobb direkt: /clearance-2019 listar 0 produkter — en tom kategori som GA4 ändå loggar sessioner mot. Släpp varje sida under ~3 produkter innan du prioriterar, och den spöksidan når aldrig bygghögen. Miniexempel, situation → handling → resultat: crawlen visar en “kategori” med noll live-produkter → du exkluderar den före prioritering → du slösar inte en kampanj (eller en analytikers eftermiddag) på en sida med inget att sälja.

Steg 3 — Joina de två, och formeln på en enda rad

Nu blir de två dataseten ett. Joina GA4 + crawl på URL och varje sida bär både sin ekonomi (CR, AOV) och sin struktur (produktantal). Kör maxCPC = mål-CRR × CR × AOV ner för kolumnen. Se den landa på en verklig rad — /cordless-vacuums, mål-CRR 10 %:

maxCPC = 0,10 × 0,020 × 420 € = 0,84 €.

En rad, ett tak. Gör det för alla fyra överlevarna och du får den max-CPC per sida hela beslutet hänger på:

Page                CR     AOV    CRR    maxCPC = CRR×CR×AOV
/cordless-vacuums   2.0%   €420   10%    0.10 × 0.020 × 420 = €0.84
/winter-tyres       3.1%   €180   12%    0.12 × 0.031 × 180 = €0.67
/sleeping-bags      1.1%    €95   10%    0.10 × 0.011 ×  95 = €0.10
/phone-cases        1.4%    €16   10%    0.10 × 0.014 ×  16 = €0.02

(Illustrativt exempel.) Mål-CRR kan skilja sig per sida om dina marginaler gör det — /winter-tyres bär 12 % här för att kategorin tolererar en lösare effektivitet. Allt annat är mekaniskt. Du har nu en max-CPC för varje sida på sajten; nästa steg är det enda omdömesbeslut som återstår.

Steg 4 — Prioritera: sorteringen, före och efter

En max-CPC betyder inget på egen hand. 0,84 € är generöst på en marknad och oöverkomligt på en annan — det som avgör är gapet till vad ett klick faktiskt kostar dig. Så dra din verkliga genomsnittliga CPC per sida (eller per marknad, om du inte har på sidnivå) från Google Ads-kontot och sätt de två sida vid sida.

Före — den råa joinen, i vilken ordning den än kom ut ur GA4, är oläslig som plan:

Page                maxCPC   avg CPC
/sleeping-bags      €0.10    €0.45
/phone-cases        €0.02    €0.35
/cordless-vacuums   €0.84    €0.55
/winter-tyres       €0.67    €0.40

Efter — sortera efter spelrum (maxCPC − genomsnittlig CPC) och samma fyra rader blir en arbetsorder med utlåtandet skrivet i sista kolumnen:

MålsidaCRAOVMål-CRRmaxCPCgen. CPCUtlåtande
/cordless-vacuums2,0 %420 €10 %0,84 €0,55 €Bygg nu
/winter-tyres3,1 %180 €12 %0,67 €0,40 €Bygg nu
/sleeping-bags1,1 %95 €10 %0,10 €0,45 €Fixa först (problemsida)
/phone-cases1,4 %16 €10 %0,02 €0,35 €Bry dig inte

(Illustrativt exempel.) Siffrorna är påhittade för att visa mekaniken — stoppa in dina egna GA4-siffror. Varje maxCPC här är bara mål-CRR × CR × AOV applicerat på raden.

Två rader är uppenbara. /cordless-vacuums kan betala 0,84 € mot en marknad på 0,55 € — +53 % spelrum, bygg den. /winter-tyres likaså. /phone-cases har råd med 0,02 € mot 0,35 €; den kommer aldrig funka, inte ens i dina vildaste drömmar — lämna ute den och se dig inte tillbaka. Skala det här från fyra rader till tiotusen och toppen av den sorterade listan är din TOP 100–200 — sidorna att bygga först, rankade efter hur mycket utrymme de har att buda.

Den intressanta är /sleeping-bags: maxCPC 0,10 € mot en marknad på 0,45 €. På papper, “bry dig inte”. Men den hade flest sessioner i hela exporten och en kategori som uppenbart borde sälja. En misstänkt låg CR på en sida som borde konvertera är sällan ett efterfrågeproblem. Det är en problemsida — och problemsidor får en diagnos, inte en radering.

Steg 5 — Problemsidor: diagnosen, på en verklig listning

När en sidas konverteringsfrekvens sitter långt under där kategorin borde landa, fråga varför innan du släpper den. På e-handel är svaret, för det mesta, priskonkurrenskraften hos produkterna sidan visar först. De första 10–20 produkter en besökare ser är sidans hela första intryck; om de är dina svagaste-värde-artiklar rasar CR oavsett hur mycket efterfrågan sidan drar.

Så du läser kategorin exakt som kunden gör — i dess standardsorteringsordning — och priskontrollerar topp-positionerna.

Läs kategorins produktmix i sorteringsordning

Dra produkterna i /sleeping-bags efter deras product_type från Google Merchant Center, i den standardlistningsordning besökaren faktiskt får. Toppen av listan är vad som konverterar (eller inte).

Priskontrollera topp-positionerna mot marknaden

Ta de topplistade produkterna och undersök konkurrentpriser live med DataForSEOserp/google/organic/live/advanced-endpointen returnerar hela resultatsidan (shopping-block med handlare och priser, organiskt) som strukturerad JSON för ungefär 0,0035 $ per fråga.

Prissätt om eller sortera om, mät sedan om

Om topp-positionerna är överprissatta har du två spakar: prissätt om, eller sortera om kategorin så att genuint konkurrenskraftiga produkter leder. Titta sedan på CR. Först när den lyfter befordrar du sidan från “problem” in i bygghögen.

Här är hur den diagnosen bokstavligen ser ut på /sleeping-bags, sidan som sitter på maxCPC 0,10 €. Toppen av listningen, ditt pris vs. den billigaste konkurrenten DataForSEO hittade för samma produkt:

Pos  Product (first-listed)       Your price  Cheapest comp.  Gap
 1   AlpineLite 200 Down Bag      €129        €99             +30%
 2   TrekWarm Mummy −5°C          €115        €112            +3%
 3   BaseCamp Synthetic XL        €89         €92             −3%
 4   ValleyHike Junior            €45         €47             −4%

(Illustrativt exempel.) Läckan är precis i toppen: produkten 12 300 månatliga besökare möter först är prissatt 30 % över det billigaste marknadserbjudandet. Allt under den är konkurrenskraftigt — men ingen scrollar förbi ett dåligt första intryck. Miniexempel, situation → handling → resultat: toppprodukten är 30 % över marknad → sänk dess pris till 105 € eller sortera om så de konkurrenskraftiga BaseCamp och ValleyHike leder → CR återhämtar sig mot kategorinormen → kör om steg 3, maxCPC klättrar av 0,10 €, och sidan befordras in i bygghögen.

Det här är loopen de flesta byråer aldrig sluter, eftersom den korsar en gräns de vanligtvis inte rör. Butikens jobb (prissättning, merchandising, sorteringsordning) och byråns jobb (att köpa trafiken) är samma optimeringsloop. Trimma det ena utan det andra och du budar in i en läcka.

Efter filtret: att välja hur du köper

Först nu — med bygghögen i hand — väljer du hur: AI Max, Dynamic Search Ads, klassisk STAG, eller en kombination (bred + DSA i en kampanj). En kampanj eller tre eller fem beror på kunden och konverteringsvolymen — respektera regeln om ~30 konverteringar per kampanj innan du delar. Jag lämnar det här valet till dig med flit. Poängen med hela pipelinen är att du gör det efter ekonomin, inte före.

Vad du än landar på är regeln densamma: en ny kampanj får aldrig starta på dåliga sidor. Svaga målsidor drar din mål-ROAS loss och förgiftar inlärningsfasen. Förfiltret är det som håller lanseringen riktad bara mot sidor som kan bära sig — och därifrån är att bygga superstrukturen (crawl-data + sökordsanalys per kategori via Google Ads API, konstruerad i vågor efter kategori, språk och mognad) ett eget stycke, och det har ett.

Delen som knyter tillbaka till manifestet

Tekniskt är inget av det här nytt. Du kunde ha kört GA4-exporten, crawlen, prisskrapan och joinen för fem år sedan. Men det skulle ha varit ett halvår av skräddarsydd utveckling, och vem som helst vid sina sinnens fulla bruk hade gett upp halvvägs. Skälet att jag skriver ner det nu är att med verktyg som Codex, Claude Code och den nuvarande generationen agenter slutade det här vara ett projekt och blev ett helt vanligt vardagsflöde — ett skript du riktar mot ett konto och låter köra över natten.

Det är hela förskjutningen, och den är tydligast från bägge sidor på en gång: e-butikens prissättnings-och-merchandising-arbete och byråns annonseringsarbete kollapsar till en loop du äntligen kan trimma tillsammans. Ekonomin låter dig sluta den.

The part you can steal

Delen du kan stjäla

# 1) The ceiling on every landing page
maxCPC = target_CRR * CR * AOV
     = CR * AOV / ROAS          # same thing in ROAS form
# e.g. 0.10 * 0.02 * 1000 = €2.00  (10% CRR, 2% CR, €1000 AOV)

# 2) Screaming Frog custom extraction (~3 min, runs in background)
Configuration → Custom → Custom Extraction → Add
• Products on page   XPath:  count(//div[contains(@class,'product-card')])
                     extractor type: Function Value   (count() returns a number)
• H1                 XPath:  //h1                       → Extract Text
• Breadcrumb         XPath:  //nav[@aria-label='breadcrumb']  → Extract Text
Crawl (or List mode on your GA4 URL set) → export → join to GA4 by URL.
Drop any page with < ~3 products as a thin page before you prioritize.
  1. Använd Function Value, inte Extract Text, för produktantalet. count() returnerar en siffra; textextraktorn sväljer den. Det här är det enskilt vanligaste skälet att antalskolumnen kommer tillbaka tom.
  2. Justera produktkorts-selektorn till sajten. Högerklicka en produktbricka → Inspektera → ta den stabila klassen. Få den här XPath:en rätt en gång och tunn-sida-filtret kör sig självt.
  3. Filtrera bort produktdetaljsidor ur GA4-exporten först. Du dimensionerar vart du ska skicka trafik — kategori- och kollektionssidor — inte enskilda SKU:er. Att blanda in dem snedvrider varje AOV och CR du beräknar.
  4. Diagnostisera problemsidorna i sorteringsordning. Dra kategorin efter product_type i dess standard-listningsordning och priskontrollera topp-positionerna — det första intrycket är vad som konverterar, inte sidgenomsnittet.

FAQ

Varför använda maxCPC i stället för att bara titta på ROAS-mål i Google Ads?

Eftersom Googles tROAS reagerar efter att du spenderat pengar på att lära. maxCPC är ett före-lansering-filter: det berättar, före ett enda klick, vilka sidor som matematiskt har råd att annonsera. Du använder det för att avgöra vad du ska bygga; du använder tROAS för att köra det du byggde.

Min CR och AOV svänger mycket månad till månad. Bryter inte det formeln?

Använd ett stabilt fönster — 60 till 90 dagar — och segmentera på enhet eller marknad om de skiljer sig väsentligt. Formeln är inte tänkt att vara precis på öret; den sorterar sidor i bygg- / fix- / skippa-högar. Det är spelrum i storleksordning du vill åt.

Behöver jag verkligen Screaming Frog, eller kan AI bara skriva crawlern?

Båda funkar. Screaming Frog med en custom XPath-extraktion är no-code-vägen och är genuint en treminuters-uppsättning. En skriptad crawler är bättre om du behöver datan joinad in i en pipeline automatiskt. Välj efter om det här är en engångsgranskning eller ett repeterbart arbetsflöde.

Vad räknas som en 'problemsida' kontra en sida jag bara ska skippa?

En skippa-sida har svag ekonomi till sin natur — låg AOV, låg avsikt — så dess maxCPC är genuint pytteliten och kommer alltid att vara det (/phone-cases på 0,02 €). En problemsida borde konvertera — hyfsad AOV, verklig efterfrågan, massor av sessioner — men gör det inte, vanligtvis för att dess först listade produkter är överprissatta eller dåligt sorterade (/sleeping-bags på 0,10 €). Skippa-sidor lämnar du ute; problemsidor fixar du, och mäter sedan om.

Funkar det här bara för e-handel?

maxCPC-formeln funkar var du än har ett konverteringsvärde — lead gen inkluderat, där AOV blir lead-värde. Problemsidesdiagnosen (Merchant Center product_type, konkurrentprissättning, kategorisorteringsordning) är e-handelsspecifik; lead-gen-problemsidor behöver sin egen diagnos, vanligtvis formulärfriktion eller fel erbjudande.

Hur kopplar det här till AI Max och slutet på DSA?

Det ligger uppströms det beslutet. Vilken kampanjtyp du än landar på — AI Max, DSA:s efterträdare, klassisk STAG — bör den bara någonsin peka på sidor som klarade det här filtret. Strategivalet ändrar hur du köper; ekonomin avgör vad som är värt att köpa över huvud taget.


CTA: Vill du ha bygghögen för din sajt, rankad efter vad varje sida faktiskt har råd med? Nu kör vi filtret på ditt GA4.

Hela poängen med det här

Vill du ha den här nivån av insyn i ditt konto?

Ett mejl. Jag säger dig ärligt om det är värt det för din uppsättning.

Hör av dig →