CARA MENYIAPKAN SCRIPT PELACAKAN CADANGAN UNTUK GOOGLE ADS 

CARA MENYIAPKAN SCRIPT PELACAKAN CADANGAN UNTUK GOOGLE ADS 

June 09, 20252 min read

Cara Menyiapkan Script Pelacakan Cadangan untuk Google Ads di SunnyDay

Script ini berfungsi sebagai backup jika template UTM gagal merekam data attribution. Script ini akan melacak setiap klik iklan dan mengirim data ke Google Analytics.

Langkah-langkah:

  1. Masuk ke akun Google Ads Anda

  2. Pergi ke Tools and SettingsBulk ActionsScripts (aktifkan tampilan lanjutan jika tidak terlihat)

  3. Hapus kode default yang mungkin sudah ada, lalu tempel script berikut:

    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)}}}

  4. Ganti URL tracking (${lpurl}…) di dalam script sesuai dengan URL landing page Anda

    1. Setelah menempel script,

      • Ganti nama script agar mudah dikenali

      • Ubah frekuensi menjadi Hourly agar script dijalankan setiap jam

    Catatan Penting

    • Script ini bisa menimpa template UTM jika dijalankan di level yang sama

    • Anda perlu mengotorisasi script agar bisa berjalan pada akun Google Ads Anda

    • Setelah di-authorize, Anda bisa melihat preview untuk memastikan semua campaign dapat dijalankan script dengan sukses

Back to Blog