🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Utilizzo di Google Ads con Google Apps Script

Codegrind Team•Aug 23 2024

L’integrazione di Google Ads con Google Apps Script ti permette di automatizzare la gestione delle campagne pubblicitarie, monitorare le performance e ottimizzare i risultati. In questa guida, esploreremo come utilizzare Google Apps Script per interagire con l’API di Google Ads, automatizzare processi di gestione e creare report personalizzati.

Connessione a Google Ads

1. Configurazione dell’Autenticazione

Prima di poter interagire con l’API di Google Ads, è necessario configurare l’autenticazione e ottenere le credenziali necessarie.

function authenticateGoogleAds() {
  var service = OAuth2.createService("GoogleAds")
    .setAuthorizationBaseUrl("https://accounts.google.com/o/oauth2/auth")
    .setTokenUrl("https://accounts.google.com/o/oauth2/token")
    .setClientId("YOUR_CLIENT_ID")
    .setClientSecret("YOUR_CLIENT_SECRET")
    .setCallbackFunction("authCallback")
    .setPropertyStore(PropertiesService.getUserProperties())
    .setScope("https://www.googleapis.com/auth/adwords");

  if (!service.hasAccess()) {
    Logger.log("Autorizzazione richiesta.");
    return service.getAuthorizationUrl();
  }
}

Gestione delle Campagne Pubblicitarie

1. Creazione di Campagne Pubblicitarie

Puoi automatizzare la creazione di nuove campagne pubblicitarie in Google Ads.

function createGoogleAdsCampaign() {
  var url =
    "https://googleads.googleapis.com/v8/customers/YOUR_CUSTOMER_ID/campaigns";
  var campaign = {
    name: "Campagna Promozione Autunnale",
    status: "ENABLED",
    advertisingChannelType: "SEARCH",
    biddingStrategyType: "MANUAL_CPC",
    budget: {
      amountMicros: 1000000, // 1 USD
    },
    targeting: {
      location: "United States",
    },
  };

  var response = UrlFetchApp.fetch(url, {
    method: "post",
    contentType: "application/json",
    payload: JSON.stringify(campaign),
    headers: {
      Authorization: "Bearer " + ScriptApp.getOAuthToken(),
    },
  });

  Logger.log("Campagna creata: " + response.getContentText());
}

2. Monitoraggio delle Performance delle Campagne

Puoi monitorare le performance delle campagne pubblicitarie, raccogliendo dati importanti come clic, impressioni e CTR.

function monitorCampaignPerformance() {
  var url =
    "https://googleads.googleapis.com/v8/customers/YOUR_CUSTOMER_ID/googleAds:searchStream";
  var query =
    "SELECT campaign.name, metrics.clicks, metrics.impressions, metrics.ctr FROM campaign WHERE segments.date DURING LAST_7_DAYS";

  var response = UrlFetchApp.fetch(url, {
    method: "post",
    contentType: "application/json",
    payload: JSON.stringify({ query: query }),
    headers: {
      Authorization: "Bearer " + ScriptApp.getOAuthToken(),
    },
  });

  var data = JSON.parse(response.getContentText()).results;
  data.forEach(function (row) {
    Logger.log("Campagna: " + row.campaign.name);
    Logger.log(
      "Clic: " +
        row.metrics.clicks +
        ", Impressioni: " +
        row.metrics.impressions +
        ", CTR: " +
        row.metrics.ctr
    );
  });
}

Creazione di Report Personalizzati

1. Esportazione dei Dati delle Campagne in Google Sheets

Puoi automatizzare l’esportazione dei dati delle campagne pubblicitarie in Google Sheets per una facile analisi e reporting.

function exportCampaignDataToSheets() {
  var url =
    "https://googleads.googleapis.com/v8/customers/YOUR_CUSTOMER_ID/googleAds:searchStream";
  var query =
    "SELECT campaign.name, metrics.costMicros, metrics.conversions, metrics.clicks FROM campaign WHERE segments.date DURING LAST_30_DAYS";
  var sheet = SpreadsheetApp.openById("YOUR_SHEET_ID").getActiveSheet();

  var response = UrlFetchApp.fetch(url, {
    method: "post",
    contentType: "application/json",
    payload: JSON.stringify({ query: query }),
    headers: {
      Authorization: "Bearer " + ScriptApp.getOAuthToken(),
    },
  });

  var data = JSON.parse(response.getContentText()).results;
  sheet.clear();
  sheet.appendRow(["Campagna", "Costo (USD)", "Conversioni", "Clic"]);

  data.forEach(function (row) {
    sheet.appendRow([
      row.campaign.name,
      row.metrics.costMicros / 1000000, // Converti da micros a USD
      row.metrics.conversions,
      row.metrics.clicks,
    ]);
  });

  Logger.log("Dati delle campagne esportati in Google Sheets.");
}

2. Creazione di Report Automatizzati via Email

Puoi creare report automatizzati e inviarli via email ai membri del tuo team per mantenere tutti aggiornati sulle performance delle campagne.

function sendCampaignPerformanceReport() {
  var url =
    "https://googleads.googleapis.com/v8/customers/YOUR_CUSTOMER_ID/googleAds:searchStream";
  var query =
    "SELECT campaign.name, metrics.clicks, metrics.impressions, metrics.costMicros FROM campaign WHERE segments.date DURING LAST_7_DAYS";

  var response = UrlFetchApp.fetch(url, {
    method: "post",
    contentType: "application/json",
    payload: JSON.stringify({ query: query }),
    headers: {
      Authorization: "Bearer " + ScriptApp.getOAuthToken(),
    },
  });

  var data = JSON.parse(response.getContentText()).results;
  var report = "Report delle Performance delle Campagne (Ultimi 7 giorni):\n\n";

  data.forEach(function (row) {
    report += "Campagna: " + row.campaign.name + "\n";
    report += "Clic: " + row.metrics.clicks + "\n";
    report += "Impressioni: " + row.metrics.impressions + "\n";
    report +=
      "Costo: $" + (row.metrics.costMicros / 1000000).toFixed(2) + "\n\n";
  });

  MailApp.sendEmail(
    "team@example.com",
    "Report delle Performance delle Campagne",
    report
  );
  Logger.log("Report inviato via email.");
}

Automazione Avanzata delle Campagne

1. Ottimizzazione Automatica delle Offerte

Puoi automatizzare l’ottimizzazione delle offerte per le tue campagne in base a criteri personalizzati.

function optimizeCampaignBids() {
  var url =
    "https://googleads.googleapis.com/v8/customers/YOUR_CUSTOMER_ID/googleAds:searchStream";
  var query =
    "SELECT campaign.id, campaign.name, metrics.conversions, metrics.costMicros FROM campaign WHERE segments.date DURING LAST_30_DAYS";

  var response = UrlFetchApp.fetch(url, {
    method: "post",
    contentType: "application/json",
    payload: JSON.stringify({ query: query }),
    headers: {
      Authorization: "Bearer " + ScriptApp.getOAuthToken(),
    },
  });

  var campaigns = JSON.parse(response.getContentText()).results;
  campaigns.forEach(function (campaign) {
    if (
      campaign.metrics.conversions > 10 &&
      campaign.metrics.costMicros / 1000000 < 50
    ) {
      var updateUrl =
        "https://googleads.googleapis.com/v8/customers/YOUR_CUSTOMER_ID/campaigns/" +
        campaign.campaign.id;
      var updateData = {
        resourceName: campaign.campaign.id,
        biddingStrategyType: "TARGET_CPA",
      };
      UrlFetchApp.fetch(updateUrl, {
        method: "patch",
        contentType: "application/json",
        payload: JSON.stringify(updateData),
        headers: {
          Authorization: "Bearer " + ScriptApp.getOAuthToken(),
        },
      });
      Logger.log(
        "Offerta ottimizzata per la campagna: " + campaign.campaign.name
      );
    }
  });
}

2. Integrazione con Google Analytics

Puoi integrare Google Ads con Google Analytics per una visione completa delle performance delle campagne pubblicitarie.

function integrateAdsWithAnalytics() {
  var url =
    "https://googleads.googleapis.com/v8/customers/YOUR_CUSTOMER_ID/googleAds:searchStream";
  var query =
    "SELECT campaign.name, metrics.clicks, metrics.conversions, metrics.costMicros FROM campaign WHERE segments.date DURING LAST_30_DAYS";

  var response = UrlFetchApp.fetch(url, {
    method: "post",
    contentType: "application/json",
    payload: JSON.stringify({ query: query }),
    headers: {
      Authorization: "Bearer " + ScriptApp.getOAuthToken(),
    },
  });

  var data = JSON.parse(response.getContentText()).results;
  data.forEach(function (row) {
    Logger.log(
      "Campagna: " +
        row.campaign.name +
        " - Clic: " +
        row.metrics.clicks +
        " - Conversioni: " +
        row.metrics.conversions +
        " - Costo: $" +
        (row.metrics.costMicros / 1000000).toFixed(2)
    );
  });
}

Conclusione

L’integrazione di Google Ads con Google Apps Script ti offre un potente strumento per automatizzare la gestione delle campagne pubblicitarie, monitorare le performance e ottimizzare i risultati. Con queste tecniche, puoi semplificare la gestione delle campagne, esportare dati per analisi dettagliate e automatizzare report e ottimizzazioni, migliorando l’efficacia delle tue strategie di marketing.