Come configurare lo Script di Tracciamento Precauzionale per Google Ads
Step 1: Accedi al tuo account Google Ads
Step 2: Clicca su Strumenti e Impostazioni > Azioni in blocco > Script (vedi immagine sotto)
Step 3: Rimuovi il codice predefinito e aggiungi questo script:
Come configurare lo Script di Tracciamento Precauzionale per Google Ads
Lo script è un esempio semplice di come configurare il codice di tracciamento precauzionale per Google Ads.
Lo script funge da sistema di sicurezza nel caso in cui il template UTM non riesca a catturare i dati di attribuzione.
Terrà traccia di tutti i clic su un determinato link e li invierà a Google Analytics. L'unica cosa da modificare in questo script è l'URL della pagina di tracciamento, che deve corrispondere a quello utilizzato dal tuo sito web.
Step 1: Accedi al tuo account Google Ads
Step 2: Clicca su Strumenti e Impostazioni (Tools and Settings) > Azioni in blocco (Bulk Actions) > Script (vedi immagine sotto)

Nota bene:
Se non riesci a trovarlo, assicurati di passare alla visualizzazione avanzata per vedere l'opzione Strumenti e Impostazioni.
Step 3: Rimuovi il codice predefinito e aggiungi questo script:
function main() {
var TrackingTemplate = "{lpurl}?utm_source=adwords&utm_medium={AdName}&utm_campaign={CampaignName}&utm_content={AdGroupName}&utm_keyword={keyword}&utm_matchtype={matchtype}&campaign_id={campaignid}&ad_group_id={adgroupid}&ad_id={creative}";
var _CAMPAIGN_CONTAINS = "";
var _ADGROUP_CONTAINS = "";
var STATUS = "ENABLED";
if (TrackingTemplate.search(/{AdGroupName}|{CampaignName}|{AdName}/g) == -1) {
Logger.log("Enter at least one of the {CampaignName} or {AdGroupName} or {AdName} parameter in the tracking template");
return
}
if (TrackingTemplate.search("{AdGroupName}") > 0) {
var adgroupIterator = {
hasNext: function() {
return false
}
}
if (_ADGROUP_CONTAINS == "" && _CAMPAIGN_CONTAINS == "") {
adgroupIterator = AdsApp.adGroups().withCondition("Status = " + STATUS).get();
} else if (_ADGROUP_CONTAINS == "" && _CAMPAIGN_CONTAINS !== "") {
adgroupIterator = AdsApp.adGroups().withCondition("CampaignName contains '" + _CAMPAIGN_CONTAINS + "'").withCondition("Status = " + STATUS).get();
} else if (_ADGROUP_CONTAINS !== "" && _CAMPAIGN_CONTAINS !== "") {
adgroupIterator = AdsApp.adGroups().withCondition("CampaignName contains '" + _CAMPAIGN_CONTAINS + "'").withCondition("Name contains '" + _ADGROUP_CONTAINS + "'").withCondition("Status = " + STATUS).get();
} else if (_ADGROUP_CONTAINS !== "" && _CAMPAIGN_CONTAINS == "") {
adgroupIterator = AdsApp.adGroups().withCondition("Name contains '" + _ADGROUP_CONTAINS + "'").withCondition("Status = " + STATUS).get();
}
if (!adgroupIterator.hasNext()) {
Logger.log("No Campaigns/Adgroups matched with this condition");
return
}
while (adgroupIterator.hasNext()) {
var adgroup = adgroupIterator.next();
var adgrouptemplate = TrackingTemplate.replace(/{AdGroupName}/g, adgroup.getName().replace(/\s/g, '%20'))
if (TrackingTemplate.search("{CampaignName}") > 0) {
adgrouptemplate = adgrouptemplate.replace(/{CampaignName}/g, adgroup.getCampaign().getName().replace(/\s/g, '%20'))
}
if (TrackingTemplate.search("{AdName}") > 0) {
var adsIterator = adgroup.ads().get();
while (adsIterator.hasNext()) {
var ad = adsIterator.next();
var adType = ad.getType();
var headline = "";
if (ad.getHeadline()) {
headline = ad.getHeadline();
} else if(ad.isType().expandedTextAd()) {
headline = ad.asType().expandedTextAd().getHeadlinePart1();
} else if(ad.isType().gmailImageAd()) {
headline = ad.asType().gmailImageAd().getName();
} else if(ad.isType().gmailMultiProductAd()) {
headline = ad.asType().gmailMultiProductAd().getHeadline();
} else if(ad.isType().gmailSinglePromotionAd()) {
headline = ad.asType().gmailSinglePromotionAd().getHeadline();
} else if(ad.isType().html5Ad()) {
headline = ad.asType().html5Ad().getName();
} else if(ad.isType().imageAd()) {
headline = ad.asType().imageAd().getName();
} else if(ad.isType().responsiveDisplayAd()) {
headline = ad.asType().responsiveDisplayAd().getShortHeadline();
} else if(ad.isType().responsiveSearchAd()) {
var headlines = ad.asType().responsiveSearchAd().getHeadlines();
if (headlines && headlines[0].text) {
headline = headlines[0].text;
}
}
Logger.log("Headline text : " + headline);
if (headline) {
adgrouptemplate = adgrouptemplate.replace(/{AdName}/g, headline.replace(/\s/g, '%20'))
} else {
adgrouptemplate = adgrouptemplate.replace(/{AdName}/g, ad.getId())
}
}
}
adgroup.urls().setTrackingTemplate(adgrouptemplate);
Logger.log(adgroup.getCampaign().getName() + " => " + adgroup.getName() + " => " + adgrouptemplate)
}
}
}Step 4: Dopo aver chiuso, modifica il nome dello script e cambia la frequenza dall'elenco alla visualizzazione Oraria (Hourly).

Domande Frequenti
Se ho un altro script, lo influenzerà?
Sì, gli script possono sovrascriversi a vicenda poiché agiscono sui parametri UTM.
Perché devo autorizzarlo?
L'autorizzazione è necessaria poiché lo script viene implementato sull'account Google Ads. È indispensabile verificare l'anteprima prima di eseguirlo: dovrebbe mostrare la maggior parte delle campagne come riuscite con la landing page trovata correttamente.