Це мені потрібно?
UTM – це параметри котрі додаєте до посилання, що б система аналітики визначала звідки прийшов користувач
https://назва сайту/якась сторінка/
?utm_source=google&utm_medium= cpc&utm_campaign=21835179774
В даному випадку:
користувач з гугл utm_source=google
канал реклами cpc: utm_medium=cpc
Кампанія: utm_campaign=21835179774 (деякі спеціалісти передають id кампанії – як на мене, це ще ті мазахісти але цей параметр можна відправити динамічно)
Чому мазахісти?
так як шукати за id, потім звіряти з даними у google ads; (або у looker studio прописувати правила щоб підставляло назву кампанії) – це ще той квест.
Тому ми тут, і тому ця стаття з’явилася.
Від себе додам, що фактично це потрібно для CRM-систем та у разі підключення BigQuery.
Для CRM – тому що інколи автоматично зібраний трекінг не передається коректно.
Для BigQuery – тому що буває, що проєкт розвивається настільки, що потрібен окремий аналітик, даних стає багато, і добре, щоб вони правильно збиралися та аналізувалися.
Якщо ні першого, ні другого немає і не планується, то більшість бізнесів можуть навіть не знати, що в Google є якийсь додатковий сенс від прописаних UTM-міток за наявності автотегінгу.
ps: якщо вам кажуть що в них якийсь не такий сайт і потрібно тільки ютм мітки – то це знак що потрібно зафіксувати:
Чи взагалі gclid передається у параметрах?!
бо якщо не передається… то до одного міста та ютм мітка, якщо гугл не зможе передавати розширені данні та обучатися.
Але так як є тренд – не ставиш UTM то ти не професіонал
то покажу як налаштувати швидко та безболісно
- Заходимо на рівень акаунту та вставляємо tracking template:
Лайтова версія трекінгу
{lpurl}?utm_source=google&utm_medium=cpc&utm_campaign={_campaign}
Заморочений варіант:
{lpurl}?utm_source=google&utm_medium=cpc&utm_campaign={_campaign}&utm_content=cid|{campaignid}|gid|{adgroupid}|kwid|{targetid}
2. Додаємо скрипт:
“Скрипт для налаштування користувацьких параметрів для кампаній”
Потрібно додати скрипт та авторизуватися
// This script sets the custom parameter campaign (_campaign) for all campaigns in the account. This parameter contains the campaign name transformed into a URL-compatible format and can be used in the tracking template or final URL suffix.
// Before applying: Ensure that this parameter is not used for another purpose to avoid overwriting important information. Also, check that there isn’t a campaign parameter with an empty value, as this can cause errors.
// [Schedule] The script should be scheduled to run regularly, e.g., every hour, to add parameters to new campaigns.
// It is also good to manually run it after adding new campaigns.
// [Warning] As of October 27, 2024: The script does not work for all campaign types, including Demand Gen and Video. These need to be updated manually using Google Ads Editor.
// Remember: Changing a campaign name will leave the old names in historical data in Analytics. Therefore, avoid changing campaign names.
// © ADEQUATE www.adequate.digital 2024
// More info: https://adequate.digital/en/utms-for-google-ads-campaigns/
function main() {
processAccount();
}
function processAccount() {
// Process standard campaigns (Search and Display)
var campaignIterator = AdsApp.campaigns().get();
while (campaignIterator.hasNext()) {
var campaign = campaignIterator.next();
processCampaign(campaign);
}
// Process Shopping campaigns
var shoppingCampaignIterator = AdsApp.shoppingCampaigns().get();
while (shoppingCampaignIterator.hasNext()) {
var campaign = shoppingCampaignIterator.next();
processCampaign(campaign);
}
// Process Performance Max campaigns
var pmaxCampaignIterator = AdsApp.performanceMaxCampaigns().get();
while (pmaxCampaignIterator.hasNext()) {
var campaign = pmaxCampaignIterator.next();
processCampaign(campaign);
}
// Optional: Attempt to process Demand Gen campaigns with error handling
try {
var demandGenCampaignIterator = AdsApp.demandGenCampaigns().get();
while (demandGenCampaignIterator.hasNext()) {
var campaign = demandGenCampaignIterator.next();
processCampaign(campaign);
}
} catch (e) {
Logger.log('Demand Gen campaigns may not be supported in this account: ' + e.message);
}
}
function processCampaign(campaign) {
var campaignName = campaign.getName();
// Percent-encode the campaign name
var modifiedCampaignName = encodeURIComponent(campaignName);
// Truncate to 250 characters
if (modifiedCampaignName.length > 250) {
Logger.log('Warning: The encoded campaign name for "' + campaignName + '" exceeds 250 characters and will be truncated.');
modifiedCampaignName = modifiedCampaignName.substring(0, 250);
}
// Get existing custom parameters at the campaign level
var customParameters = campaign.urls().getCustomParameters() || {};
// Update or add the 'campaign' parameter
customParameters['campaign'] = modifiedCampaignName;
// Set the updated custom parameters back to the campaign
campaign.urls().setCustomParameters(customParameters);
Logger.log('Updated campaign "' + campaignName + '" with campaign=' + modifiedCampaignName);
}
Що робить скрипт?
Назви котрі ви дали для кампаній – запусує у custom parameter на рівні кампаній (переводячи самостійно пробіли у символи що читаються аналітикою).
Приклади як це відпрацьовує:
В цій статті додав опис тільки “як виставляти utm для Custom parameters” і на це є причини:
- це для мене працює найкраще і без помилок
- можливо швидко редагувати та переглядати при вигрузці через едітор
- можливо додати Final url suffix в додаток до UTM параметрів що встановлені для акаунту, кампаній. Це корисно при роботі з афілеткою.
Чи підійде це вам? Скоріш за всього так, у 90% випадках.
10% коли не підійде – це через кастомну розробку сайту, де є перенаправлення з умовами котрі збивають параметри.
Для таких випадків можете пошукати рішення в оригінальній статті з скриптами: https://adequate.digital/en/utms-for-google-ads-campaigns/ Там автор надав декілька способів як додавати. Можна як суфікс, параметр, трекінг темплейт.
Корисні поради
- Не варто цей скрипт ставити на автоматичний запуск. Тим більше якщо є звичка змінювати назву кампанії
- Не змінювати назву кампанії в процессі оптимізації. Ви змінюєте назву – в аналітику полетять данні з новою назвою кампанії, де буде не зручно аналізувати “колишню кампанію та ту ж саму кампанію але зі зміненою назвою”
- Якщо є звичка писати в назві кампанії 450%tROAS чи cpc 1,3uah і т.д; то варто перестати це робити, чи робити на рівні груп оголошень. Так як конкуренти можуть з легкістю зрозуміти які стратегії використовуєте.
Корисні статті у справці
– тутонькі можна знайти інфу щодо динамічних параметрів котрі можна додати до tracking template. Наприклад, якщо запускаєте шоппінг то може доречніше для вас підставити {product_id} у якесь зі значень.
Хочеш стежити за новими статтями? Підписуйся на канал 🙂
