Dybdegående · 10 min. læsning

PPC-automatisering var altid mulig. Den betalte sig bare aldrig. Indtil nu.

I 15 år kostede rigtig PPC-automatisering mere, end den gav igen. AI ændrede ikke det mulige. Den ændrede økonomien. Her er beviset.

PPC-værktøjer og rekvisitter sorteret i en bunke mærket 'endelig til at betale'.
De alvorlige fakta er ægte — artikelforsiderne er ikke.

Kort fortalt: PPC-automatisering blev ikke pludselig mulig. Den blev pludselig til at betale. AI tilføjede ingen nye evner; den fik tilbagebetalingstiden på dem, vi har haft siden 2019, til at falde sammen og gjorde seks måneders builds til to ugers. Vinderne er de super-seniorer, der endelig får bygget de workflows, der aldrig før betalte sig, som at rydde tusindvis af skrald-søgeforespørgsler med en model, en almindelig pc kan køre.

Jeg så engang vores systemarkitekt, en mand med femogtyve års engineering bag sig, bruge to hele dage på at læse Google Ads API-dokumentation, før en eneste query returnerede data. To dage, én query. Han er den bedste ingeniør, jeg kender, og det tog ham alligevel to dage. Det var simpelthen den entrébillet, platformen opkrævede af alle, der ville have den ægte magt.

Jeg har brugt omkring tyve år i PPC, tolv af dem på at skrive kode mod netop det API. Mellem 2015 og 2017 drev jeg ppc-scripts.eu, en lille blog om Google Ads Scripts, dengang det endnu ikke var cool at automatisere PPC. Så holdt jeg op med at skrive. Ikke fordi idéerne tørrede ud. Kløften mellem „det er muligt” og „det er værd at gøre for en kunde” forblev stædigt bred i et årti, og der er grænser for, hvor mange gange man kan beskrive værktøjer, ingen har råd til.

Her i foråret leverede jeg en markedsudvidelsesanalyse, seksten produkter prissat på tværs af fem lande med heat maps, på cirka seks timer. I hånden er det omkring 400 timers arbejde. Bygget som specialsoftware på den gamle måde er det to måneders udvikling og en faktura på 16.000 til 20.000 €, som ingen kunde nogensinde ville betale. Samme leverance, og prisen kollapsede. Analysen blev ikke klogere i foråret. Økonomien i at bygge den brød sammen.

Næsten alt, hvad du har læst om, at AI slår PPC-specialisten ihjel, vender den mekanisme på hovedet. AI ændrede ikke, hvad man kan i paid search. Det meste var altid muligt, og det meste fandtes allerede i 2019. Det, den ændrede, er, hvem der har råd til det. Denne artikel er beviset, fortalt indefra de værktøjer, jeg faktisk bygger med. To æraer, der gjorde automatisering for dyr til at gide, øjeblikket hvor regnestykket vendte, og ét rigtigt job, at rydde skrald-søgeforespørgsler med en lokal open source-model, brudt ned trin for trin.

Vigtigste pointer tl;dr
  • AI tilføjede næsten ingen nye PPC-evner. Den fik tilbagebetalingstiden til at falde sammen på dem, vi har haft siden 2019, og det alene omskriver, hvad der er værd at bygge.
  • Den afgørende valuta holdt op med at være linjer kode. Det knappe er nu idéer plus domæneviden, at vide, hvad man skal bygge, og hvilke data man skal koble.
  • Håndværket er ved at dele sig i to. De, der springer værktøjerne over, fryser fast; de, der kender Google Ads API til benet og kobler data med fantasi, trækker fra.
  • Det gennemarbejdede eksempel viser en lokal open source-model, der rydder tusindvis af skrald-søgeforespørgsler på minutter, et job der før var strengt manuelt.
2 udv. × 2 år
for at bygge ét reporting-værktøj på den gamle måde
~100.000 €/år
for at holde den maskine i live, groft sat
6 timer
for en udvidelsesanalyse, der tog ~400 i hånden
encifrede timer
for keyword research, der tog 50–100

Scripts-æraen: et par dage for et „enkelt” script

Loftet var aldrig teknologien, og det vil jeg vise dig fra det allerførste værktøj, jeg rørte ved. Google Ads Scripts føltes som magi, da de kom. JavaScript, direkte i kontoen, i loop over kampagnerne. I praksis tog et „enkelt” script, fx at pause søgeord over en CPA-tærskel eller flage ødelagte final-URL’er, et par dages skrivning og debugging, når du først havde håndteret særtilfældene, kvoterne og de tavse fejl.

Så kom den del, ingen budgetterede med. At køre det på tværs af konti betød én kopi af scriptet pr. konto, der gled ud af sync og brød stille sammen, hver gang én kundes navnekonvention ikke matchede de andres. Skalering og distribution var et job for sig. Så de fleste scripts derude kom aldrig længere end reporting, at trække nogle tal ind i et Sheet efter en plan. Alt, der faktisk ændrede kontoen, var for skrøbeligt og for dyrt at vedligeholde.

Selv det nemme automatiseringslag var begrænset af vedligeholdelsesomkostninger, ikke af evne. Tag den med videre. Det er mønsteret i alt, der følger.

API-æraen: to dage til første query, to år til et værktøj

Google Ads API, dengang AdWords API, var den ægte magt og den ægte mur. De to dage, min kollega brugte i dokumentationen, var ikke en kritik af ham. Det var den kompleksitet, alle skrev under på.

Vi gik all in alligevel og byggede PPC Robot, et dybt tilpasseligt reporting- og operations-værktøj. Teknisk smukt, ægte kraftfuldt. Det kostede også to udviklere, på fuld tid, i to år, og den udvikling, der skulle til for at holde det kørende, lå et sted omkring 100.000 € om året. Det betalte sig aldrig. Det dækkede en brøkdel af det, vores PPC-specialister faktisk havde brug for, så til sidst parkerede vi det i en begrænset intern tilstand. Ikke fordi det var dårligt. Fordi regnestykket aldrig gik op.

Og vi leverede stadig rigtige ting oven på det API, for fire og fem år siden:

Hvad den maskine faktisk producerede

  • 404-/final-URL-tjekker på tværs af konti leveret
  • Shopping-kampagnegenerator ud fra feedet leveret
  • Shopping-/Performance Max-segmentering leveret
  • BigQuery-pipeline + reporting til Sheets / Excel leveret
  • Merchant Center-kontostatustjek leveret

Kig på listen og læg mærke til én ting. Intet af det er eksotisk efter nutidens målestok. Det var alt sammen muligt. Det kostede bare en formue at bygge og en formue at holde i live. Hver eneste nævneværdig feature, et keyword research-værktøj, et udvidelsesværktøj, annonceoversættelse, en Shopping-generator, blev målt i måneder af to seniorers tid, og ingen kunde ville betale, hvad det koster.

Loftet var aldrig teknologien. Det var tilbagebetalingstiden.

Det første job, der slap fri: skrald-søgeforespørgsler

„AI ændrede alt” er en påstand, du bør nægte at tage på tro og love. Så her er to job, der før ikke betalte sig og nu gør. Begge er ting, jeg kører, ikke hypoteser, og for det første går jeg hele flowet igennem med dig.

At rense irrelevante søgetermer ud af en konto er værdifuldt og dødssygt kedeligt, og indtil for nylig fandtes der ingen ærlig måde at automatisere det på. Regler kan fange et præcist token, men at afgøre, om „nike air max history” er værd at betale for, kræver læseforståelse. Så jobbet forblev en halvmanuel gennemtravlning af tusindvis af forespørgsler, mønstre i øjet, negative søgeord tilføjet i hånden. Forestil dig en løbeskobutik, der betaler for klik på „running shoes repair”, „nike air max history” og „free running shoes”, som den hverken sælger eller servicerer. Gang det med tusindvis af rækker, hver uge, på hver konto. Det er jobbet, ingen vil have, og alle har brug for.

Her er, hvad der ændrede sig. Et Python-script trækker forespørgslerne fra Google Ads API og giver dem videre til en open source-model, Googles Gemma 4, som næsten enhver nyere pc kan køre. Den læser tusindvis af forespørgsler på få minutter. Og når du forankrer den i kontekst om kunden, sitemappet, site- og DB-strukturen, breadcrumb-taksonomien, produkt-feedet, holder den op med at gætte og begynder at ræsonnere. Den udelukker korrekt og navngiver mønstrene bag skraldet, hurtigere end noget menneskeligt skim. Her er det flow i fem konkrete trin.

TRÆK · hent de rå søgetermer

Træk søgetermsrapporten fra Google Ads API. Forespørgsel, klik, omkostning, konverteringer. Hvorfor først: det er beviset, de faktiske penge, der allerede er brugt på hvert term. Du vil have omkostningen koblet til hver række, så modellen kan skelne dyrt skrald fra harmløst skrald. Du får: en flad tabel over hvert term, kontoen har betalt for i perioden.

FORANKR · byg en kontekstpakke om sitet

Saml, hvad sitet faktisk er, i en form modellen kan læse. XML-sitemappet, breadcrumb-taksonomien, produkt-feedet (id, title, category) og DB- og kategoristrukturen. Hvorfor det er hele spillet: en model uden kontekst gætter; en model, der ved, at du ikke har nogen „reparation”- eller „udlejning”-kategori, ræsonnerer. Du får: en kontekstpakke, der forvandler modellen fra en gætter til noget, der kender dit katalog.

SPØRG · klassificér forespørgsler og navngiv mønstrene

Prompt Gemma 4 med termerne plus kontekstpakken. Klassificér hver forespørgsel som relevant eller irrelevant for det, vi sælger, og, den vigtige del, returnér mønstrene bag de irrelevante (et token, en intention, et kategori-mismatch). Hvorfor mønstre, ikke rækker: at flage 200 skrald-forespørgsler sparer dig en eftermiddag; at navngive kategorien af skrald udelukker de næste tusind, du end ikke har set endnu. Du får: en liste over irrelevante forespørgsler og, ovenover den, den håndfuld regler, der frembragte den.

GENNEMGÅ · validér reglerne, ikke rækkerne

Et menneske læser mønstrene, fem til ti af dem, ikke 5.000 enkelte rækker. Hvorfor det er tidsbesparelsen: dømmekraften anvendes én gang pr. regel i stedet for én gang pr. forespørgsel, og en forkert regel er åbenlys på en måde, en enkelt fejlmærket række aldrig er. Du får: en kort, betroet liste over udelukkelsesmønstre, et menneske faktisk har godkendt.

PUSH · tilføj de negative på det rigtige niveau

Send de godkendte negative søgeord tilbage gennem API’et på det rette niveau, annoncegruppe, kampagne eller delt liste, alt efter hvor bredt mønsteret er. Hvorfor niveauet tæller: et site-bredt skrald-token („free”, „wikipedia”) hører til på en delt liste, ikke begravet i én annoncegruppe. Du får: en ren konto og en genbrugelig liste over negative søgeord, der bliver ved med at virke i næste uge.

For at se, hvorfor det virker, så kig på, hvad SPØRG-trinnet faktisk returnerer for vores løbeskobutik. Rækkerne er illustrative, formen er præcis den, der kommer tilbage, og gevinsten er blokken nederst:

Query                     Verdict      Why
free running shoes        irrelevant   freebie intent, no purchase
running shoes repair      irrelevant   service we don't offer
nike air max history      irrelevant   informational, no buy intent
running shoes wikipedia   irrelevant   reference-seeker

→ PATTERN: tokens "free", "repair", "history", "wikipedia"
  = non-commercial modifiers absent from our taxonomy.
  Recommend excluding as a shared negative list.

Fire rækker blev til én regel. Et menneske læser den ene linje, er enig i, at den passer, og reglen bliver ved med at fange skrald af typen „running shoes free shipping returns”, du end ikke har set endnu. Det er øjeblikket, hvor en dødssyg ugentlig pligt bliver til en ti minutters gennemgang.

Den stille overskrift her er, at en lokalt kørende open source-model er nok. Du behøver ikke et frontier-API for at få det til at betale sig, og dine data forlader aldrig huset. Det er økonomien, der flytter sig, ikke evnen.

Det andet job: keyword research

Det her var før en budgetpost for sig. Ægte keyword research, den slags der kortlægger efterspørgsel mod dine landingssider og fortæller dig, hvad der mangler på sitet, betød før snesevis af timers datatræk (AdWords API, suggest-bokse, OpenRefine), halvmanuel oprydning, klassificering efter landingsside og trend-, volumen- og gap-reporting oven i.

Ét keyword research-projekt, før vs. nu

  • Den gamle måde (træk data, rens, klassificér, rapportér) 50–100 timer
  • Hvad kunden betalte for det ≈ 2.000–4.000 €
  • Det samme projekt i dag, med én god skill encifrede timer
  • Og resultatet er mere præcist

Det er ikke bare billigere. Det er bedre, mere præcist, med timerne brugt på validering og dømmekraft i stedet for på rørlæggerarbejde. Billigere og bedre er præcis den kombination, der skulle have været umulig. Jeg har brudt den moderne version ned fra ende til anden i markedsudvidelses-blueprintet og content-gap-analysen, begge med det rigtige mellemresultat vist ved hvert trin.

Den del, der stadig overrasker mig, er kadencen. Research som denne var før et årligt projekt, kunden godkendte én gang. Den samme pipeline kan nu køre dagligt og se efterspørgslen bevæge sig i stedet for at fotografere den én gang om året.

Økonomien, før og efter

Det er hele tesen i én tabel. Samme job, samme kvalitetslægte; kun prisen for at udføre dem flyttede sig. Dokumenterede tal, hvor jeg har dem, størrelsesorden fra tyve års bureauarbejde for resten.

JobbetDen gamle mådeI dag
Markedsudvidelsesanalyse (priser på flere markeder) ~400 timer i hånden · eller 2 måneders udvikling, 16.000–20.000 €6 timer
Keyword research (ét projekt) 50–100 timer · 2.000–4.000 € faktureretencifrede timer · mere præcist
Triage af skrald-søgeforespørgsler halvmanuel gennemtravlning, tusindvis af rækker i håndenscript + lokal model navngiver mønstrene
Levere én ny automatiseringsfeature måneder (2 udv. × 2 år for ét helt værktøj)uger
Holde en reporting-maskine i live ~100.000 €/år, betalte sig aldrigtæt på nul med en lokal model

Læs tabellen fra top til bund, og mønsteret gentager sig i hver række. Evne-kolonnen flyttede sig ikke; alt det her kunne vi i 2019. Pris-kolonnen faldt gennem gulvet. Og tilbagebetalingstiden er det, der afgør, om en klog idé nogensinde bliver bygget.

AI låste ikke så meget nye PPC-evner op, som den fik tilbagebetalingstiden på de gamle til at falde sammen. Når et seks måneders build bliver til et to ugers build, rydder hele backloggen af „det ville vi gerne, men det betaler sig aldrig” sig pludselig.

Sådan ser det ud, når man tager det alvorligt

Lynt har været et teknologitungt bureau fra dag ét. Vi har en systemarkitekt, en sikkerhedsingeniør, en dataanalytiker, der bygger BI, og en fuldtidsudvikler på holdet, hvilket et normalt bureau simpelthen ikke har. I årevis var den muskel svær at rette mod PPC-problemer, af alle tilbagebetalingsgrundene ovenfor. Nu forrenter den sig.

Boostera, vores eget værktøj, tog to års udvikling. Det beriger Google Merchant Center-feeds med AI, så Shopping-kampagner kører på bedre produktdata, end det rå feed giver dem. Rundt om det sidder alt det rørarbejde, den nye økonomi endelig retfærdiggør. Konkurrent-prisscraping pr. marked, den slags der fodrede pristabellerne i udvidelses-blueprintet. Keyword research-pipelines, der kører efter en plan i stedet for én gang om året. Forretningsreporting på kundeniveau i BigQuery med prognoser ovenpå. MCP-servere på hver service, vi rører ved, så en AI-agent kan trække fra dem alle midt i en opgave.

For to år siden skulle jeg have forsvaret hvert af de projekter mod det samme spørgsmål, om det nogensinde ville betale sig. I dag kommer spørgsmålet knap nok op. Når builds bliver billige, holder infrastruktur op med at være en luksus og begynder at være voldgraven.

Hvad det her faktisk betyder for branchen

Den populære udlægning siger, at AI gør det af med PPC-specialisten. At vende den mekanisme på hovedet har reelle karrierekonsekvenser for folk, der læser med, så lad mig plante et flag.

„PPC-specialisternes æra er ved at slutte” er nonsens. Det modsatte sker. Gode specialister brugte år på at være frustrerede over, at den kloge ting, den de tydeligt kunne se, ikke var værd at bygge. Nu får de lov til at bygge den. Automatisk, profitabelt, i stor skala. En hel hylde PPC-strategier, der før ikke betalte sig eller var direkte absurde at forsøge, ligger pludselig på bordet.

Det, der sker, er en skarpere splittelse inde i håndværket. På den ene side står de, der behandler platformens UI som hele jobbet og lader de nye værktøjer passere. Ingen fyrer dem i morgen. De fryser fast, mens jobbet flytter sig. På den anden side står de, der kender Google Ads API til benet, kobler datakilder, ingen andre kobler, og bygger sig deres egne specialiserede dashboards i stedet for at vente på, at en leverandør leverer en feature. Tolv års kode mod det API har lært mig, hvor den anden gruppes forspring virkelig ligger. Koden blev billig. Det, der forblev knapt, er fantasi og domæneviden, at vide hvilke data man skal koble, og hvorfor.

Og for at slå den åbenlyse fejllæsning ihjel, det her er ikke en historie om billigere service. Værktøjer, compute og udvikling koster stadig penge. Pointen er, at et projekt, der før var fire til seks måneder for to seniorudviklere, nu leveres på uger, så investeringen endelig giver mening. Kunden får en dramatisk bedre service til en lignende pris.

Hvorfor jeg skriver igen

Jeg holdt op med at blogge i 2017, fordi kløften mellem en idé og en økonomisk fornuftig eksekvering var for bred til at være interessant. Den kløft lukkede sig lige. Så denne blog tager tråden op, hvor ppc-scripts.eu slap, og den bliver konkret. Use cases med rigtige tal, de præcise flows, de faktiske resultater, rodede dele og grænser inklusive. De første deep dives er allerede oppe.

Et sted i din egen backlog ligger den automatisering, du lagde på hylden for år siden, fordi den aldrig ville betale sig. Grav den frem og regn på den igen. Hvis tallene er vendt, som mine gjorde, ved du, hvad du skal bygge næst. Og vil du sammenligne noter, ved du, hvor du finder mig.

FAQ

Siger du, at bureauer bør fyre deres PPC-specialister?

Det stik modsatte. Specialister, der forstår strategi og værktøjer, er nu mere værdifulde, fordi de endelig kan eksekvere de idéer, der før ikke betalte sig. Det, der skrumper, er værdien af ren knapnedtrykning i platformens UI.

Er tallene 100.000 € om året og to udviklere i to år præcise?

Nej, betragt dem som størrelsesorden. Pointen er ikke det præcise eurobeløb. En enkelt intern reporting-maskine bar sekscifrede årlige omkostninger og betalte sig alligevel aldrig. Det er den økonomi, hele artiklen handler om.

Skal jeg bruge en dyr frontier-model til det her?

Ikke til job som triage af skrald-søgeforespørgsler. En kapabel open source-model som Gemma 4, kørt lokalt med god site-kontekst, klarer arbejdet. Det holder både dine data og dine omkostninger under din egen kontrol.

Handler det her kun om søgeforespørgsler?

Nej, det er bare det job, der er nemmest at se køre. Den samme økonomi flyttede sig for markedsudvidelsesanalyser (seks timer i stedet for ~400), konkurrent-prisscraping pr. marked, keyword research, der kører dagligt i stedet for én gang om året, og feed-berigelse med Boostera. Vælg den pligt, du selv har lagt på hylden, og regn på den igen.

Så det er bare hype med en frisk gang maling?

Var det det, var jeg ikke begyndt at skrive igen. Forandringen er smal og ægte, en sammenfaldet tilbagebetalingstid på evner, vi allerede havde. Det er en forretningsmæssig forandring, ikke en magisk, og det er derfor, backloggen pludselig rydder sig.

Hvad kommer der faktisk til at stå på denne blog?

Konkrete use cases med tal, flowene bag dem og resultaterne, grænser og fejltilstande inklusive. Mindre manifest, mere af præcis det, vi kørte, og hvad det gav igen.

Pointen med det hele

Vil du have dette niveau af indsigt i din konto?

Én e-mail. Jeg siger dig ærligt, om det er besværet værd for dit setup.

Kontakt →