Utilizzo di Google Ads con Google Apps Script
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.