Hoe u de best presterende Google Ads-zoektermen naar Google Spreadsheets exporteert
Hoe u de best presterende Google Ads-zoektermen naar Google Spreadsheets exporteert
Hoe u de best presterende Google Ads-zoektermen naar Google Spreadsheets exporteert

Hoe u de best presterende Google Ads-zoektermen naar Google Spreadsheets exporteert met Apps Script

Vond u dit artikel leuk?
Deel het op sociale media!
Inhoud

U bent al bekend met de pijn als u Performance Max- of brede zoekwoordcampagnes uitvoert. Google verbergt de echte zoekopdrachten. Dit script brengt ze terug. Het maakt rechtstreeks verbinding met uw Mijn Klantencentrum, pakt de geconverteerde zoekopdrachten op en plaatst ze in een Google Spreadsheet met berekende CPA en conversieratio.

Ons script, "Hoe u de best presterende Google Ads-zoektermen kunt exporteren naar Google Spreadsheets met behulp van Apps Script", is perfect voor bureaus die meerdere klanten beheren of voor marketeers die niet langer willen gokken.

Laten we het eens nader bekijken.

Wat doet het script voor het exporteren van de best presterende Google Ads-zoektermen?

  • Haalt 6 maanden aan querygegevens op over alle campagnes
  • Filtert rommel: merktermen en ruis met een lage conversie
  • Bereken de kosten per conversie en het conversiepercentage
  • Zet alles in een overzichtelijk Google Sheet, één tabblad per account

Een Google Ads-script toevoegen

In het gedeelte Scripts worden alle bulkautomatiseringsinstellingen binnen Google Ads MCC ingesteld.

1. Meld u aan bij uw MCC (Manager Account) en ga naar Extra > Bulkacties > Scripts

2. Klik op de blauwe plusknop (+) om een nieuw script te maken

Hiermee open je de scripteditor. Maak je geen zorgen, je hoeft niet helemaal opnieuw te coderen. Je plakt een script dat al geschreven is. Door op deze knop te klikken, wordt een lege scriptcontainer voor je automatisering aangemaakt.

Geef je script een naam

Het geven van een naam aan uw script is essentieel voor het beheer en de planning op de lange termijn.

3. Geef het script een naam zodat het later gemakkelijk te herkennen is

Bovenaan het scripteditorvenster ziet u een veld waarin u een naam kunt invoeren. Gebruik iets duidelijks, zoals 'Rapport best presterende zoektermen'. Zo herkent u het script later gemakkelijker wanneer u meerdere scripts of accounts beheert.

Je kunt het een naam geven Best presterende actuele zoektermen en voeg het script toe (onderaan dit bericht).

Geef je script een naam

Geef het script een naam

4. Plak het volledige script in de editor

functie main() {
// Stel de bestemmings-URL van de Google Sheet in
var spreadsheetUrl = 'Plak hier uw Google Sheet-URL';

// Haal de accountnaam op om de sheet dynamisch een naam te geven
var accountName = AdsApp.currentAccount().getName();

// Gebruik de accountnaam om het tabblad in de spreadsheet te labelen
var sheetName = accountName + ' - Top Presterende Termen PC 90 Dagen';

// Open de spreadsheet via URL
var spreadsheet = SpreadsheetApp.openByUrl(spreadsheetUrl);

// Haal de sheet op via naam, of maak hem aan als hij niet bestaat
var sheet = spreadsheet.getSheetByName(sheetName) || spreadsheet.insertSheet(sheetName);

// Wis alle bestaande gegevens uit de sheet
sheet.clear();

// Schrijf de koptekstrij naar de spreadsheet
sheet.getRange('A1').setValue('Campagnenaam');
sheet.getRange('B1').setValue('Naam advertentiegroep');
sheet.getRange('C1').setValue('Zoekterm');
sheet.getRange('D1').setValue('Conversies');
sheet.getRange('E1').setValue('Conversiewaarde');
sheet.getRange('F1').setValue('Kosten per conversie (CPA)');
sheet.getRange('G1').setValue('Conversiepercentage (%)');

// Stel het aangepaste datumbereik voor rapportage in (notatie: JJJJMMDD)
var startDate = '20230315';
var endDate = '20240915';

// Bouw de query op vanuit het rapport 'Zoekopdrachtprestaties'
var report = AdsApp.report(
"SELECT CampaignName, AdGroupName, Query, Conversions, ConversionValue, Cost, Clicks " +
"FROM SEARCH_QUERY_PERFORMANCE_REPORT " +
"WHERE Conversions > 0 " +
"DURING " + startDate + "," + endDate
);

// Haal rapportrijen op en stel de beginrij voor gegevensinvoeging in
var rows = report.rows();
var rowNumber = 2;

// Loop door elke rij van het rapport
while (rows.hasNext()) {
var row = rows.next();

// Zet de zoekterm in kleine letters voor consistente merkfiltering
var searchTerm = row['Query'].toLowerCase();
var conversions = parseFloat(row['Conversions']);

// Sla rijen met minder dan 1 conversie over
if (conversions < 1) continue;

// Sluit merktermen uit om vervuiling van het rapport te voorkomen
if (searchTerm.includes('parker chase') || searchTerm.includes('parker-chase') || searchTerm.includes('endeavor schools')) {
continue;
}

// Optioneel generiek filter - voeg hier termen toe of verwijder ze
if (
searchTerm.includes('creative') ||
searchTerm.includes('learning') ||
searchTerm.includes('content')
) {
continue;
}

// Extraheer kosten- en klikwaarden om de prestaties te berekenen
var cost = parseFloat(row['Cost']);
var clicks = parseFloat(row['Clicks']);

// Bereken de kosten per conversie (CPA)
var cpa = conversies > 0 ? kosten / conversies : 0;

// Bereken het conversiepercentage
var conversionRate = klikken > 0 ? (conversies / klikken) * 100 : 0;

// Waarden opmaken
cpa = cpa.toFixed(2);
conversionRate = conversionRate.toFixed(2);

// Schrijf de rij naar de spreadsheet
sheet.getRange(rowNumber, 1).setValue(row['CampaignName']);
sheet.getRange(rowNumber, 2).setValue(row['AdGroupName']);
sheet.getRange(rowNumber, 3).setValue(row['Query']);
sheet.getRange(rowNumber, 4).setValue(conversies);
sheet.getRange(rowNumber, 5).setValue(row['ConversionValue']);
sheet.getRange(rowNumber, 6).setValue('$' + cpa); // Voeg een dollarteken toe voor CPA
sheet.getRange(rowNumber, 7).setValue(conversionRate + '%'); // Voeg een percentagesymbool toe

// Ga naar de volgende rij in het werkblad
rowNumber++;
}

// Registreer hoeveel rijen er zijn verwerkt
Logger.log('Export voltooid. Totaal aantal verwerkte rijen: ' + (rowNumber - 2));
} 

Wat u in het script kunt aanpassen

Het script bevat verschillende gemarkeerde instellingen die u kunt aanpassen voordat u het uitvoert. Deze bevinden zich allemaal in de opmerkingenblokken van het script en zijn bedoeld om te worden gewijzigd op basis van uw specifieke doelen, rapportagebereik of opmaakvoorkeuren.

Hieronder vindt u een overzicht van wat u kunt wijzigen en waarom:

1. Spreadsheet-URL

var spreadsheetUrl = 'https://docs.google.com/spreadsheets/d/xxxxx/edit'; 

Wat het doet:
Dit is waar het script je gegevens naartoe stuurt. Vervang de tijdelijke URL door de link naar je Google Sheet. Als je meerdere e-mailadressen gebruikt, zorg er dan voor dat de Sheet wordt gedeeld met het Google-account dat aan je Mijn Klantencentrum is gekoppeld.

2. Datumbereikinstellingen

var startdatum = '20230315';
var einddatum = '20240915'; 

Wat het doet:
Hiermee bepaalt u het rapportagevenster. Datums moeten worden genoteerd als JJJJMMDD. U kunt deze aanpassen aan het tijdsbestek dat u analyseert: de afgelopen 30 dagen, de afgelopen 90 dagen, aangepaste kwartaalbereiken, enzovoort.

3. Bladnaamgedrag

var sheetName = accountName + ' - Top presterende termen PC 90 dagen'; 

Wat het doet:
Deze regel geeft het tabblad Sheet een dynamische naam op basis van het account waarop het script wordt uitgevoerd. U kunt het tekstgedeelte ('—Top Performing Terms PC 90 Days') wijzigen als u rapporten een ander label wilt geven. Dit is handig wanneer u rapporten met meerdere merken of subaccounts uitvoert.

4. Filteren van merktermen

als (zoekterm.includes('parker chase') || zoekterm.includes('parker-chase') || zoekterm.includes('endeavor schools')) {
verdergaan;
} 

Wat het doet:
In deze sectie worden alle merkgerelateerde termen uit uw rapport uitgesloten. U kunt deze lijst bijwerken door .includes()-voorwaarden toe te voegen of te verwijderen. Als u bijvoorbeeld "MijnMerk" wilt uitsluiten, voegt u het volgende toe:

|| zoekterm.includes('mijnmerk') 

Gebruik consequent kleine letters, aangezien het script alle zoekopdrachten naar kleine letters omzet.

5. Filteren van generieke termen

als (
zoekterm.includes('creatief') ||
zoekterm.includes('leren') ||
zoekterm.includes('inhoud')
) {
verdergaan;
} 

Wat het doet:
Dit optionele filter filtert termen die niet merkspecifiek zijn, maar de data toch vertroebelen, zoals 'leren' of 'creatief'. Je kunt hier filters toevoegen of verwijderen op basis van wat je als ruis beschouwt.

6. Prestatiedrempel

als (conversies < 1) doorgaan; 

Wat het doet:
Deze regel verwijdert zoekopdrachten zonder conversies. U kunt deze drempelwaarde desgewenst verhogen, alleen voor beter presterende termen. Wijzig bijvoorbeeld in:

als (conversies < 3) doorgaan;
...om alleen zoektermen met 3+ conversies in het datumbereik op te nemen.

7. Opmaak van werkbladuitvoer

sheet.getRange(rijnummer, 6).setValue('$' + cpa);
sheet.getRange(rijnummer, 7).setValue(conversiepercentage + '%'); 

Wat het doet:
Hiermee bepaalt u hoe de CPA en het conversiepercentage op het werkblad worden weergegeven. U kunt de tekenreekstoevoegingen bewerken of verwijderen om symbolen (bijvoorbeeld $ of %) te verwijderen.

Uitvoervelden

Zodra het script succesvol is uitgevoerd, wordt je Google Sheet gevuld met een gestructureerde tabel. Elke rij vertegenwoordigt een zoekterm die binnen het opgegeven datumbereik ten minste één conversie heeft opgeleverd.

Close-up van Google Sheet met een overzichtelijke opmaak van de prestatiegegevens van de best presterende zoekwoorden

Het Google Sheet-voorbeeld

Uitvoervelden

Het script genereert een set prestatiekolommen in je Google Sheet, die een duidelijk beeld geven van hoe elke zoekterm bijdraagt. Deze kolommen omvatten de namen van de campagnes en advertentiegroepen om bij te houden waar de term is geactiveerd, de zoekterm die de gebruiker daadwerkelijk heeft ingetypt, het aantal conversies dat het heeft opgeleverd, de totale conversiewaarde, de gemiddelde kosten per conversie en het algehele conversiepercentage. Elk veld is cruciaal om te begrijpen wat werkt en welke verspillingen er plaatsvinden.

  • Campagnenaam
    Naam van de campagne waarin de advertentie werd geactiveerd

  • Naam van advertentiegroep
    Een advertentiegroep die overeenkwam met de zoekterm

  • Zoekterm
    De exacte zin die de gebruiker in Google heeft getypt

  • Conversies
    Aantal bijgehouden conversies van die term

  • Conversiewaarde
    De totale waarde van deze conversies, gebaseerd op uw accountinstellingen

  • Kosten per conversie (CPA)
    De gemiddelde kosten om één conversie te genereren via die zoekterm

  • Conversiepercentage (%)
    Percentage klikken dat resulteerde in een conversie

Hoe dit script verbeterd kan worden

Dit script vormt een solide basis, maar kan verder gaan, afhankelijk van hoe diep u uw rapportage wilt laten gaan. Als u meerdere merken of accounts onder één MCC beheert, kunt u campagnelabels of filters toevoegen om gegevens te isoleren per merk of bedrijfseenheid. Door het script automatisch wekelijks of maandelijks te laten uitvoeren, bespaart u tijd en zorgt u voor consistente rapporten. U kunt logica ontwikkelen om meldingen te versturen wanneer belangrijke statistieken, zoals CPA of conversieratio, bepaalde drempelwaarden overschrijden. Voor een meer gedetailleerde analyse kunt u dit combineren met andere rapporten. TREFWOORDEN_PRESTATIERAPPORT om uitsplitsingen per matchtype te krijgen. Binnen het werkblad kun je met draaitabellen of voorwaardelijke opmaak sneller inzicht krijgen. En als je het visueel wilt maken, kun je de gegevens in Looker Studio importeren voor dashboards die je klanten kunnen begrijpen.

  • Voeg campagnelabels of filters op accountniveau toe om gegevens te segmenteren over grote MCC's

  • Gebruik de ingebouwde planning om wekelijks of maandelijks rapporten te automatiseren

  • Activeer e-mailwaarschuwingen wanneer de CPA een bepaalde waarde overschrijdt of het conversiepercentage onder een drempelwaarde daalt

  • Voeg gegevens uit andere rapporten samen, zoals KEYWORDS_PERFORMANCE_REPORT, om de matchtypen te splitsen

  • Voeg basis draaitabelsamenvattingen of voorwaardelijke opmaak rechtstreeks in Sheets toe

  • Verbind de uitvoer met Looker Studio voor visuele prestatiedashboards

Slotgedachten: Aangedreven door Bright Vessel

Bij Bright Vessel bouwen we automatiseringstools op maat zoals deze voor klanten die duidelijke prestatie-inzichten nodig hebben in overvolle advertentieomgevingen. Bent u het zat om door onvolledige dashboards te spitten of vijf handmatige exports uit te voeren om de benodigde gegevens te verkrijgen? Dit script is slechts een van de vele manieren waarop we het proces stroomlijnen.

Bekijk onze gerelateerde walkthrough over "Google Ads-doelstatus controleren in MCC-accounts met behulp van Google Sheets en Apps Script" voor een andere methode om tracking op grote schaal te automatiseren.

Heb je een versie nodig die integreert met Slack, Looker-dashboards bouwt of meerdere advertentieaccounts verbindt tot één hoofdblad? Wij kunnen het maken. Laten we praten .

    Ontvang uw gratis SEO-audit

    Gratis SEO-auditformulier

    "*" geeft verplichte velden aan

    Dit veld is bedoeld voor validatiedoeleinden en moet ongewijzigd blijven.
    Inhoud
    Vond u dit artikel leuk?
    Deel het op sociale media!
    Ontvang uw gratis SEO-audit

    Gratis SEO-auditformulier

    "*" geeft verplichte velden aan

    Dit veld is bedoeld voor validatiedoeleinden en moet ongewijzigd blijven.
    Ontvang uw gratis SEO-audit

    Gratis SEO-auditformulier

    "*" geeft verplichte velden aan

    Dit veld is bedoeld voor validatiedoeleinden en moet ongewijzigd blijven.
    Vond u dit artikel leuk?
    Deel het op sociale media!

    Bekijk een andere blogpost!

    Terug naar alle blogberichten

    Laten we samenwerken!

    © 2024 Bright Vessel. Alle rechten voorbehouden.
    xml versie="1.0"? xml versie="1.0"? chevron-down pijl-links