באחד הפרוייקטים האחרונים שלי הלקוח ביקש כי אעביר את ה UTM Parameters איתם מגיע המשתמש מהקמפיינים השונים לעמודים אחרים באתר. אם נדייק, הבקשה הייתה כי אותם פרמטרים יועבר כשהלקוח לוחץ ספציפית על אחד הקישורים או ההנעות לפעולה המובילות לאפליקציה אינטרנטית הנמצאית תחת דומיין אחר.
אז מכיוון וזו בקשה מאד הגיונית ואולי אפילו די שכיחה (במיוחד בכדי להעביר פרמטרים אלו מדפי נחיתה), אשתף אתכם בפוסט זה בסקריפט בו השתמשתי ואתאר בקצרה כיצד הוא עובד. יש לציין הסקריפט נלקח מהאתר של Marek Lecián (עם שינוי קל).
מה הסקריפט עושה?
הסקריפט סורק את כל הקישורים באתר, וכשהוא מוצא קישור המוביל לאותה אפליקציה חיצונית הוא דבר ראשון בודק אם הקישור מכיל utm parameters כלשהם. אם אלו אינם קיימים בקישור אז הוא מוסיף לקישורים המדוברים את אותם utm parameters איתם הגיע המשתמש, כלומר את אותם פרמטרים הקיימים בכתובת ה url.
דוגמה תסביר זאת טוב יותר. נניח והגעתי לדף נחיתה כלשהו עם הפרמטרים הבאים:
https://lp.co.il/?utm_source=google&utm_medium=cpc&utm_campaign=name-campaign&utm_term=keyword&utm_content=fb-banner
ונניח שקיים בדף הנחיתה קישור כלשהו לאפליקציה שלנו, לצורך הדוגמה בכפתור מסויים קיים הקישור הבא:
https://app.co.il/
שימוש בסקריפט זה ישנה קישור זה לקישור הבא:
https://app.co.il/?utm_source=google&utm_medium=cpc&utm_campaign=name-campaign&utm_term=keyword&utm_content=fb-banner
הסקריפט נראה כך:
<script>
(function () {
const targetDomain = "app.co.il"; // Set target domain
const urlParams = new URLSearchParams(window.location.search);
const utmParams = [...urlParams.entries()]
.filter(([key]) => key.startsWith('utm_'))
.map(([key, value]) => `${key}=${value}`)
.join('&');
if (utmParams) {
document.querySelectorAll('a[href]').forEach(link => {
if (link.href.includes(targetDomain) && !link.href.includes("utm_")) {
link.href += (link.href.includes('?') ? '&' : '?') + utmParams;
}
});
}
})();
</script>
מספר נקודות שיש לציין
- שימו לב כי בשורה מספר 3 נמצא הדומיין המדובר (הקישור לאפליקציה) אשר רק קישורים לדומיין ספציפי זה הנמצאים בעמוד יהיו מושפעים מהסקריפט. כלומר במקרה זה כל קישור המכיל את הדומיין app.co.il יושפע מהשינוי.
- על מיקום הסקריפט להיות ממוקם בסופו של כל עמוד. אם אתם משתמשים בגוגל תג מנג׳ר על הסקריפט לרוץ ב DOM Ready action.
- הסקריפט אינו רלוונטי ל Organic Referrers.
- בסקריפט שהצגנו אנו מגדירים דומיין מסויים, אך ניתן לההשתמש בכל כתובת url שתרצו.
עד כאן. כל שיפור או רעיון לשדרג סקריפט זה יתקבלו בברכה… 🙂
לא משתמשים ב-var כמעט אף פעם. במקרה הזה const יתאים.
קיבלת const 🙂
יופי, אגב גם utm_params יכול להיות const. אם שמרת מערך בתוך קבוע אז אפשר לעדכן אותו.