Google Ads Scripts: Automatisér din konto og spar tid
Manuel gennemgang af søgeord, justering af bud og tjek af ødelagte links kan nemt koste flere timer hver uge. Med Google Ads scripts automation kan du sætte disse opgaver på autopilot. Et Google Ads script er et stykke Google Ads javascript, der udfører tidskrævende opgaver for dig, så du kan bruge din tid på strategi i stedet for manuelt arbejde. Resultatet er færre fejl, et mere effektivt budget og mere tid til vækst.
Hos Finally tror vi på fleksible partnerskaber uden binding, hvor vi bruger automatisering som Google Ads Scripts til at levere målbare resultater hurtigere. Med de rigtige scripts kan du frigøre timer hver uge, eliminere menneskelige fejl og sikre, at dit budget altid arbejder så effektivt som muligt. Denne guide viser dig hvordan.
Hvad er Google Ads Scripts? (Og hvorfor du bør bruge dem)
Et Google Ads script er et stykke JavaScript-kode, du bruger direkte i din Google Ads-konto til at automatisere manuelle opgaver. Det kan f.eks. være at justere bud, sætte søgeord på pause baseret på performance, eller sende dig en e-mail-alarm, hvis dit budget er ved at løbe tør. Tænk på det som en række specifikke instrukser, du giver til din konto, som den så udfører automatisk på et fastsat tidspunkt.
I stedet for at du selv skal logge ind og udføre en opgave, fortæller du blot Google Ads, hvornår og hvordan opgaven skal løses. Dette åbner op for en mere proaktiv og datadrevet tilgang til kontostyring, der primært dækker tre områder:
- Automatisering: Udfør handlinger som at pause annoncegrupper for udsolgte varer, justere CPC-bud baseret på dagens vejrudsigt (relevant for f.eks. isbutikker eller rejsebureauer), eller tilføje negative søgeord baseret på en liste i et Google Sheet.
- Rapportering: Træk data ud på en måde, som Google Ads’ standardrapporter ikke tillader. Du kan f.eks. bygge en rapport, der viser Quality Score-udviklingen over tid for dine 20 vigtigste søgeord og sende den til din indbakke hver fredag.
- Alarmer: Få besked med det samme, hvis noget uventet sker. Et script kan sende dig en e-mail eller en Slack-besked, hvis dit daglige annonceforbrug pludselig stiger med 50 %, eller hvis din gennemsnitlige klikrate (CTR) falder markant.
5 fordele ved at bruge scripts i din annoncering
At implementere scripts handler om mere end blot at spare tid. Det handler om at gøre din annoncering skarpere, mere rentabel og mindre sårbar over for fejl.
- Reducer spildbudget markant. Forestil dig en webshop med 500 produkter. Et script kan hver time tjekke lagerstatus og automatisk pause annoncer for varer, der lige er blevet udsolgt. Dette alene kan forhindre, at du bruger 10-15% af dit budget på at sende trafik til sider, hvor kunden alligevel ikke kan købe noget.
- Forbedr din Quality Score proaktivt. Du kan opsætte et script, der hver nat gennemgår alle dine søgeord. Finder det et søgeord med over 1.000 eksponeringer men en Quality Score på 2/10 eller derunder, sættes det automatisk på pause. Det forhindrer dårlige søgeord i at trække den samlede kontokvalitet ned.
- Få øjeblikkelige alarmer ved afvigelser. En kampagne kan pludselig underperforme af mange årsager. Et “Account Anomaly Detector”-script overvåger dine nøgletal. Hvis din CTR falder med 30 % fra den ene time til den næste, får du en e-mail med det samme. Du opdager problemet efter 60 minutter – ikke efter 24 timer.
- Sikr at landingssider altid virker. En brudt URL (en 404-fejl) betyder 100% spildt annoncebudget. Et “Link Checker”-script kan dagligt tjekke alle aktive URL’er i dine annoncer og rapportere eventuelle fejl. Så fanger du en teknisk fejl på din webshop, før den koster dig tusindvis af kroner i forgæves klik.
- Anvend avancerede budstrategier. Googles automatiske budstrategier er gode, men et script giver dig fuld kontrol. Du kan f.eks. programmere et script til at hæve bud med 20 % mellem kl. 19-22, hvor dine kunder historisk set konverterer bedst, og sænke dem igen uden for dette tidsrum.
Sådan opretter du dit første script: Trin-for-trin
For at tilføje et script i Google Ads skal du gå til “Værktøjer og indstillinger” > “Masshandlinger” > “Scripts”. Her klikker du på det blå plus-ikon for at åbne editoren. Indsæt din JavaScript-kode, navngiv scriptet, og tryk “Godkend” for at give det tilladelse. Afslut med at teste via “Forhåndsvisning” før du kører det.
Det kan virke teknisk, men processen er ligetil. Du behøver ikke være udvikler for at komme i gang med de færdiglavede scripts, vi viser senere. Som certificeret Google Partner har vi erfaringen til at implementere og kvalitetssikre scripts, der ikke kun sparer tid, men også forbedrer din kontos performance.
Her er processen i 6 simple trin:
- Find script-sektionen: Log ind på din Google Ads-konto. Gå til “Værktøjer og indstillinger” i topmenuen. Under kolonnen “Masshandlinger” finder du menupunktet “Scripts”.
- Opret et nyt script: Klik på det store blå plus-ikon for at åbne script-editoren.
- Indsæt din kode: Du vil se et tomt vindue, hvor du indsætter den JavaScript-kode, du vil køre. Slet eventuel standardkode, der måtte være i feltet.
- Navngiv og godkend: Giv dit script et sigende navn øverst, f.eks. “Pause søgeord med lav QS”. Klik derefter på “Godkend” nederst. Du vil blive bedt om at give scriptet tilladelse til at foretage ændringer på din konto.
- Test med “Forhåndsvisning”: Før du lader et script køre på din konto, skal du altid bruge “Forhåndsvisning”-knappen. Denne funktion simulerer scriptets handlinger uden rent faktisk at lave ændringer. I log-vinduet kan du se præcis, hvad scriptet ville have gjort.
- Kør eller planlæg: Når du har verificeret, at scriptet gør det forventede, kan du enten køre det manuelt med “Kør”-knappen eller oprette en tidsplan. Klik på “Frekvens” ud for scriptets navn og vælg, om det skal køre hver time, dagligt, ugentligt eller månedligt.
3 effektive Google Ads Scripts du kan kopiere i dag
Her er tre scripts, du kan kopiere direkte ind i din konto. De løser tre meget almindelige udfordringer og er et godt sted at starte din automatiseringsrejse.
Script 1: Sæt søgeord med lav Quality Score på pause
Dette script finder alle aktive søgeord, der har en Quality Score under en bestemt grænse (f.eks. 3) og har modtaget et minimum antal eksponeringer. Derefter sætter det dem automatisk på pause og tilføjer et label, så du nemt kan finde dem.
Hvad du skal ændre: Justér QUALITY_SCORE_THRESHOLD til den grænse, du ønsker (f.eks. 3 eller 4), og IMPRESSION_THRESHOLD til det antal eksponeringer, et søgeord skal have, før det vurderes.
// Konfigurationsvariabler var QUALITY_SCORE_THRESHOLD = 3; // Sætter søgeord på pause med QS under denne værdi var IMPRESSION_THRESHOLD = 100; // Kræver dette antal eksponeringer var LABEL_NAME = “Lav Quality Score”; function main() { ensureLabelExists(LABEL_NAME); var keywordIterator = AdsApp.keywords() .withCondition(“Status = ENABLED”) .withCondition(“ad_group.status = ENABLED”) .withCondition(“campaign.status = ENABLED”) .withCondition(“QualityScore < ” + QUALITY_SCORE_THRESHOLD) .withCondition(“Impressions > ” + IMPRESSION_THRESHOLD) .get(); while (keywordIterator.hasNext()) { var keyword = keywordIterator.next(); keyword.pause(); keyword.applyLabel(LABEL_NAME); Logger.log(‘Søgeord “‘ + keyword.getText() + ‘” er sat på pause pga. lav Quality Score: ‘ + keyword.getQualityScore()); } } function ensureLabelExists(labelName) { var labelIterator = AdsApp.labels().withCondition(‘Name = “‘ + labelName + ‘”‘).get(); if (!labelIterator.hasNext()) { AdsApp.createLabel(labelName, “Søgeord med lav performance”); } }
Script 2: Account Anomaly Detector
Dette er dit personlige vagtsystem. Scriptet sammenligner kontoens performance (f.eks. omkostninger, klik, konverteringer) fra i går med den samme ugedag ugen før. Hvis afvigelsen er større end en grænse, du selv sætter, sender det dig en advarselsmail.
Hvad du skal ændre: Indsæt din e-mailadresse i EMAIL_ADDRESSES og justér PERCENT_THRESHOLD til den procentvise ændring, der skal udløse en alarm (f.eks. 25 for 25%).
// Konfigurationsvariabler var EMAIL_ADDRESSES = [“din.email@eksempel.dk”]; var PERCENT_THRESHOLD = 25; // Udløser alarm ved 25% ændring function main() { var yesterday = getPastDate(1); var lastWeek = getPastDate(8); var report = AdsApp.report( “SELECT Clicks, Impressions, Cost, Conversions ” + “FROM ACCOUNT_PERFORMANCE_REPORT ” + “DURING ” + yesterday + “,” + yesterday); var lastWeekReport = AdsApp.report( “SELECT Clicks, Impressions, Cost, Conversions ” + “FROM ACCOUNT_PERFORMANCE_REPORT ” + “DURING ” + lastWeek + “,” + lastWeek); var yesterdayStats = report.rows().next(); var lastWeekStats = lastWeekReport.rows().next(); var emailBody = “”; emailBody += checkMetric(“Clicks”, yesterdayStats[“Clicks”], lastWeekStats[“Clicks”]); emailBody += checkMetric(“Impressions”, yesterdayStats[“Impressions”], lastWeekStats[“Impressions”]); emailBody += checkMetric(“Cost”, yesterdayStats[“Cost”], lastWeekStats[“Cost”]); emailBody += checkMetric(“Conversions”, yesterdayStats[“Conversions”], lastWeekStats[“Conversions”]); if (emailBody) { MailApp.sendEmail(EMAIL_ADDRESSES.join(“,”), “Google Ads Konto-alarm: Uventede ændringer”, “Følgende metrikker har ændret sig med mere end ” + PERCENT_THRESHOLD + “%:\n\n” + emailBody); } } function checkMetric(metricName, todayValue, lastWeekValue) { var percentChange = 100 * (todayValue – lastWeekValue) / lastWeekValue; if (Math.abs(percentChange) > PERCENT_THRESHOLD) { return metricName + “: ” + todayValue.toFixed(2) + ” (ændring på ” + percentChange.toFixed(2) + “%)\n”; } return “”; } function getPastDate(numDays) { var date = new Date(); date.setDate(date.getDate() – numDays); return date.getFullYear() + (“0” + (date.getMonth() + 1)).slice(-2) + (“0” + date.getDate()).slice(-2); }
Script 3: Link Checker (Find 404-fejl)
Dette script gennemgår alle aktive annoncer, udvidelser og søgeord for at tjekke, om deres destinations-URL’er virker. Hvis en URL returnerer en 404-fejl (Side ikke fundet) eller en anden serverfejl, bliver det logget i et Google Sheet.
Hvad du skal ændre: Opret et nyt Google Sheet og indsæt dets URL i SPREADSHEET_URL.
// Konfigurationsvariabler var SPREADSHEET_URL = “INDSÆT_DIN_GOOGLE_SHEET_URL_HER”; function main() { var sheet = SpreadsheetApp.openByUrl(SPREADSHEET_URL).getActiveSheet(); sheet.clear(); sheet.appendRow([“Kilde”, “Type”, “Link”, “Statuskode”]); checkUrls(AdsApp.ads().withCondition(“Status = ENABLED”).get(), “Annonce”, sheet); checkUrls(AdsApp.keywords().withCondition(“Status = ENABLED”).get(), “Søgeord”, sheet); checkUrls(AdsApp.extensions().sitelinks().get(), “Sitelink”, sheet); } function checkUrls(iterator, type, sheet) { while (iterator.hasNext()) { var entity = iterator.next(); var urls = entity.urls; if (urls.getFinalUrl()) { var url = urls.getFinalUrl(); var responseCode = getUrlStatus(url); if (responseCode >= 400) { var sourceName = “N/A”; if (typeof entity.getHeadline === ‘function’) { sourceName = entity.getHeadline(); } else if (typeof entity.getText === ‘function’) { sourceName = entity.getText(); } sheet.appendRow([sourceName, type, url, responseCode]); } } } } function getUrlStatus(url) { try { var response = UrlFetchApp.fetch(url, { muteHttpExceptions: true }); return response.getResponseCode(); } catch (e) { return -1; // Indikerer en fejl i selve fetch-kaldet } }
Case: Sådan sparede vi en webshop for 10 timer/md. med 2 scripts
For nylig arbejdede vi med en mellemstor webshop, der solgte specialudstyr til hjemmebrygning. De havde en dedikeret marketingmedarbejder, som brugte en betydelig del af sin tid på manuelt vedligehold af deres Google Ads-konto.
Før:
Hver fredag skulle marketingmedarbejderen manuelt eksportere en lagerliste og sammenligne den med aktive annoncegrupper i Google Ads. Denne proces tog typisk 2,5 timer hver uge. Alligevel skete det ofte, at en populær gærtype blev udsolgt tirsdag, og annoncerne kørte videre i tre dage og brugte over 800 kr. på klik, der ikke kunne føre til et salg. Det svarer til over 3.000 kr. i spildt budget om måneden.
Efter:
Vores senior-specialister hos Finally implementerede to simple scripts:
- Lagerstatus-script: Et script der hver time læser en live lagerliste fra et Google Sheet og automatisk pauser annoncegrupper for produkter med 0 på lager.
- Genaktiverings-script: Et lignende script der genaktiverer de samme annoncegrupper, når lagerstatus i arket igen er over 0.
Resultatet:
Den manuelle opgave, der før tog 10 timer om måneden, blev fuldt automatiseret. Det frigav mere end en hel arbejdsdag hver måned til strategiske opgaver. Endnu vigtigere: Det spildte annoncebudget på udsolgte varer blev reduceret med 95%, og webshoppens samlede ROAS (Return On Ad Spend) steg med 12% inden for de første to måneder.
Scripts til din branche: Eksempler til E-handel og B2B
Scripts er ikke en “one-size-fits-all” løsning. Deres sande styrke ligger i at tilpasse dem til de specifikke udfordringer, din forretningsmodel står overfor.
| Udfordring | Script-løsning til E-handel | Script-løsning til B2B Lead Gen |
|---|---|---|
| Budgetspild | Paus annoncer for udsolgte varer baseret på lagerfeed. | Paus kampagner automatisk uden for kontorets åbningstid (f.eks. kl. 17-08). |
| Prisændringer | Opdatér automatisk priser i annoncetekster fra et produktfeed. | Justér bud opad på dage, hvor der historisk set kommer flest kvalitetsleads. |
| Rapportering | Generér en daglig rapport med ROAS for hver enkelt produktkategori. | Send en Slack-notifikation, når dagens lead-mål (f.eks. 10 formularudfyldninger) er nået. |
| Konkurrence | Hæv bud med 15% på dine top 10 produkter, hvis de er på lager. | Sænk bud på søgeord, der primært genererer leads fra ikke-beslutningstagere (f.eks. “studerende”). |
Fra Script til Strategi: Sådan bruger vi automatisering til at skabe vækst
Automatisering med scripts er et kraftfuldt værktøj, men det er ikke en strategi i sig selv. Et script kan udføre en opgave, men det kan ikke fortælle dig, hvilken opgave der er den rigtige at udføre.
Hos Finally bruger vores senior-specialister scripts til at håndtere det manuelle arbejde, så vi kan fokusere på at skabe profitabel vækst for din forretning. Når vi ikke skal bruge timer på at tjekke lagerstatus eller Quality Scores, bruger vi tiden på det, der reelt flytter din forretning:
- Dybdegående konkurrentanalyse: Hvem er dine største konkurrenter, og hvordan kan vi positionere dig stærkere?
- Målgruppesegmentering: Finder vi nye, profitable målgrupper, du endnu ikke har ramt?
- Kreativ udvikling og A/B-test: Hvilke annoncetekster og billeder skaber flest konverteringer?
- Optimering af landingssider: Hvordan sikrer vi, at den dyrt indkøbte trafik rent faktisk konverterer?
Automatisering fjerner støj og giver plads til strategisk tænkning. Det er her, et specialiseret bureau kan gøre den største forskel. Ved at lade scripts klare driften, kan vi bruge vores ekspertise til at bygge en langsigtet, rentabel strategi. Det kan også frigøre tid til strategisk SEO-arbejde og andre discipliner, der skaber en sundere forretning.
Hvis du er klar til at tage din annoncering til næste niveau, kan du få hjælp til din Google Ads annoncering. Du kan også kontakte os for en uforpligtende snak om automatisering og finde ud af, hvordan vi kan hjælpe dig med at spare tid.
FAQ: Google Ads Scripts
Hvad er et Google Ads Script?
Et Google Ads Script er et stykke JavaScript-kode, du kan lægge direkte ind i din Google Ads-konto for at automatisere manuelle og tidskrævende opgaver. I stedet for at du selv skal logge ind og rette til, fortæller scriptet din konto, hvornår og hvordan en specifik opgave skal løses – helt automatisk.
Hvorfor bør jeg bruge scripts i min annoncering?
Den primære årsag er, at du frigør tid fra manuelt tastearbejde til strategisk vækst. Derudover hjælper scripts dig med at:
-
Reducere spildbudget: F.eks. ved at pause annoncer, der peger på udsolgte varer eller brudte links (404-fejl).
-
Forbedre din Quality Score: Automatisér pausering af søgeord, der trækker din kontos samlede kvalitet ned.
-
Få øjeblikkelige alarmer: Få besked på mail eller Slack med det samme, hvis der sker uventede fald i klik eller stigninger i forbrug.
Skal jeg være udvikler for at bruge dem?
Nej, slet ikke. Selvom scripts er skrevet i kode, behøver du ikke at kunne programmere. Du kan bruge færdiglavede scripts (ved blot at kopiere og indsætte dem) og kun rette simple ting som f.eks. din e-mailadresse eller en bestemt beløbsgrænse direkte i koden.
Hvordan sætter jeg et script op trin-for-trin?
Opsætningen er ligetil og foregår direkte i Google Ads:
-
Gå til Værktøjer og indstillinger > Masshandlinger > Scripts.
-
Klik på det blå plus-ikon for at oprette et nyt script.
-
Indsæt din kopierede JavaScript-kode i editoren og giv scriptet et navn.
-
Klik på Godkend for at give scriptet de nødvendige tilladelser.
-
Brug altid knappen Forhåndsvisning til at teste scriptet, inden det aktiveres.
-
Vælg, hvor ofte scriptet skal køre (f.eks. hver time, dagligt eller ugentligt).
Er scripts lige så relevante for B2B som for e-handel?
Ja, scripts er meget fleksible og kan tilpasses din branchespecifikke udfordringer. Hvor en webshop ofte bruger scripts til at tjekke lagerstatus og produktpriser, vil en B2B-virksomhed oftere bruge dem til at pause kampagner uden for kontortid eller til automatisk at justere bud baseret på de dage, hvor de bedste leads historisk set lander.
