مرکز اطلاعات

استفاده از متغیرهای جاوااسکریپت سفارشی در GTM

استراتژی اندازه‌گیری خود را با متغیرهای جاوااسکریپت سفارشی GTM به استانداردهای 2026 ارتقا دهید. برای متوقف کردن از دست رفتن داده و افزایش نرخ ROAS تبلیغات خود، راهنمای ما را بررسی کنید.

تیم 212 Medyaآژانس بازاریابی دیجیتال
استفاده از متغیرهای جاوااسکریپت سفارشی در GTM

✨ Yapay Zeka ile Hızlıca Özetle

Bu makaleyi en sevdiğiniz yapay zeka asistanında analiz edip özetleyebilirsiniz.

ChatGPTPerplexityGrok
Prompt kopyalandı! Yapay zeka aracı açılıyor...

آیا در حالی که بودجه تبلیغاتی خود را مدیریت می‌کنید با این سوال بیدار می‌شوید: "چرا هزاران کلیک دریافت می‌کنم اما فروش‌های من ثابت است؟" یا آیا فاصله بین داده‌های تبدیل در پنل Google Ads شما و رکوردهای واقعی بانک شما هر روز بیشتر می‌شود؟ در اکوسیستم پیچیده دیجیتال سال 2026، کدهای پیگیری استاندارد دیگر کافی نیستند. اگر نمی‌توانید رفتارهای کاربر در وب‌سایت خود (مانند تعاملات فرم، قیمت‌گذاری‌های پویا یا جزئیات سبد خرید) را به طور کامل درک کنید، به این معنی است که در تاریکی برای هدف‌گیری تلاش می‌کنید.

در عمل معمولاً این را می‌بینیم: بسیاری از صاحبان کسب‌وکار به متغیرهای از پیش تعیین شده‌ای که Google Tag Manager (GTM) ارائه می‌دهد بسنده می‌کنند. اما اگر می‌خواهید یک استراتژی اندازه‌گیری پیشرفته ایجاد کنید و ببینید هر ریال هزینه تبلیغاتی شما کجا می‌رود، GTM متغیرهای جاوااسکریپت سفارشی (Custom JavaScript Variables) سلاح مخفی شماست. در این راهنما، به طور عمیق بررسی خواهیم کرد که چگونه می‌توانید داده‌های خود را دستکاری کرده و به بینش‌های معنی‌دار برای کسب‌وکار خود تبدیل کنید.

یک تحلیل‌گر داده در حال بررسی داده‌های Google Tag Manager و ساختارهای کد خاص است

متغیر جاوااسکریپت سفارشی در GTM چیست؟

متغیر جاوااسکریپت سفارشی در GTM نوعی داده دینامیک است که در مواقعی که متغیرهای از پیش تعریف شده (built-in) Google Tag Manager کافی نیستند، از طریق یک تابع جاوااسکریپت در سمت مرورگر داده‌ها را پردازش کرده و یک مقدار باز می‌گرداند. این متغیرها به شما امکان می‌دهند داده‌های پیچیده را با استفاده از ساختار تابع ناشناس استخراج کنید، محاسبات انجام دهید یا داده را به فرمتی مناسب برای برچسب‌های خود تبدیل کنید.

این نوع متغیر به ویژه در شرایطی که داده‌هایی که به طور مستقیم از لایه داده (Data Layer) وب‌سایت قابل دریافت نیستند یا به صورت خام می‌آیند، حیاتی است. به عنوان مثال، برای محاسبه مجموع محصولات در سبد خرید یک کاربر بدون احتساب مالیات بر ارزش افزوده یا خواندن یک حوزه مخفی در یک فرم، از این روش استفاده می‌شود. در سال 2026 با تشدید قوانین حریم خصوصی داده‌ها (GDPR و KVKK)، نیز غالباً برای پاک‌سازی و ناشناس‌سازی داده‌ها قبل از ارسال آن به سمت سرور (Server-Side) مورد استفاده قرار می‌گیرد.

چرا باید از متغیرهای جاوااسکریپت سفارشی استفاده کنید؟

در یک راه‌اندازی استاندارد، GTM اطلاعات پایه‌ای مانند URL صفحه، متن کلیک یا ID فرم را به شما ارائه می‌دهد. اما در دوره‌ای که رقابت به اوج خود رسیده، تعیین استراتژی با این داده‌های سطحی شما را عقب می‌اندازد. بر اساس تجربه‌ای که در همکاری با مشتریان خود به دست آورده‌ایم، شرکت‌هایی که از متغیرهای سفارشی استفاده می‌کنند، دقت بالاتری در هدف‌گذاری تبلیغاتی تا 30 درصد دارند. دلیل این امر این است که آن‌ها به جای استفاده از داده خام، از داده‌های پردازش شده و معنی‌دار استفاده می‌کنند.

جدول زیر تفاوت‌های بین متغیرهای از پیش تعریف شده و متغیرهای جاوااسکریپت سفارشی را خلاصه کرده و دلایل نیاز به دومی را توضیح می‌دهد:

Özellik Yerleşik Değişkenler Özel JavaScript Değişkenleri

Esneklik Sınırlı (Sadece ön tanımlı alanlar) Sınırsız (JS ile her türlü mantık yürütülebilir)

Veri İşleme Yok (Veriyi olduğu gibi alır) Var (Hesaplama, metin düzenleme vb.)

Karmaşık Tetikleyiciler Zor ve kısıtlı Çok kolay ve spesifik

Hata Ayıklama Kolay Teknik bilgi gerektirir

در یک مشتری تجارت الکترونیک، ما خواستیم تا بر اساس دسته‌بندی‌های محصولات اضافه شده به سبد، برچسب‌های تبدیل مختلف Google Ads را فعال کنیم. زیرساخت سایت این اطلاعات را به درستی به لایه داده منتقل نمی‌کرد. با نوشتن یک متغیر جاوااسکریپت سفارشی، ما اطلاعات دسته‌بندی را به صورت لحظه‌ای از عناصر DOM درون صفحه استخراج کرده و به برچسب اضافه کردیم. نتیجه؟ در پیگیری ROAS (بازگشت هزینه تبلیغات) بر اساس کمپین، دقت 100 درصدی به دست آوردیم. شما نیز می‌توانید این کار را خودتان انجام دهید، اما در مورد ساختارهای پیچیده DOM، دریافت یک ممیزی فنی حرفه‌ای می‌تواند از جمع‌آوری داده‌های نادرست جلوگیری کند.

چگونه متغیر جاوااسکریپت سفارشی در GTM ایجاد کنیم؟ (مرحله به مرحله)

هنگام ایجاد یک متغیر جاوااسکریپت سفارشی، یک پروتکل مشخص وجود دارد که باید دنبال شود. مهم‌ترین قاعده این است: کدی که می‌نویسید باید همیشه در داخل یک تابع ناشناس قرار داشته باشد و به طور حتم باید با یک بیان return خاتمه یابد. در غیر این صورت، متغیر شما همیشه مقدار undefined را باز خواهد گرداند.

1. تعریف متغیر جدید

به پنل GTM خود بروید و از منوی سمت چپ به بخش "Variables" (متغیرها) بروید و روی دکمه "New" در زبانه "User-Defined Variables" (متغیرهای تعریف شده توسط کاربر) کلیک کنید. نوع متغیر را "Custom JavaScript" انتخاب کنید. در این مرحله، یک ویرایشگر کد خالی برای شما نمایش داده خواهد شد.

2. ایجاد ساختار تابع

کد شما باید همیشه با الگوی زیر شروع شود:

function() { var result = // عملیات منطقی خود را اینجا وارد کنید return result; }

3. پردازش و استخراج داده

به عنوان مثال، اگر می‌خواهید صفحه یک کاربر متنی (مثلاً وضعیت موجودی) را بخواند، می‌توانید از متدهای جاوااسکریپت مانند document.querySelector برای دسترسی به عنصر مربوطه استفاده کنید. طبق استانداردهای مرورگرهای مدرن در سال 2026، باید به یاد داشته باشید که کد شما باید از نظر عملکرد بهینه باشد و بار زیادی بر روی رشته اصلی کار (main thread) وارد نکند.

نکته حرفه‌ای: هرگز در کد جاوااسکریپت خود از console.log استفاده نکنید. این در حالت پیش‌نمایش GTM مفید است، اما زمانی که به حالت زنده می‌رود، ممکن است کنسول مرورگر کاربر نهایی را به طور غیر ضروری پر کند و بر کارایی سایت تأثیر منفی بگذارد.

یک بلوک کد جاوااسکریپت تمیز در رابط Google Tag Manager

سناریوهای دنیای واقعی: با جاوااسکریپت سفارشی چه کارهایی می‌توان انجام داد؟

بیایید اطلاعات نظری را کنار بگذاریم و روی سناریوهایی که در میدان با آن‌ها مواجه شده‌ایم و به طور مستقیم سودآوری کسب‌وکارها را تحت تأثیر قرار می‌دهند، تمرکز کنیم. روش‌هایی که در یک شرکت پیشرو در صنعت به کار بردیم، فرآیندهای تصمیم‌گیری مبتنی بر داده را به کلی تغییر داد.

سناریو 1: محاسبه ارزش سبد دینامیک

زمانی که یک کوپن تخفیف در وب‌سایت شما اعمال می‌شود یا هزینه حمل و نقل اضافه می‌شود، برچسب‌های استاندارد گاهی اوقات مبلغ ناخالص و گاهی خالص را به اشتباه گزارش می‌دهند. در یک سایت تجارت الکترونیک، ما برای پیگیری نتایج خالص "تخفیف‌خورده و شامل VAT" از یک متغیر JS سفارشی استفاده کردیم. این متغیر، قیمت‌های مختلف موجود در صفحه را جمع‌آوری کرده، نرخ تخفیف را کم می‌کند و یک رقم کاملاً تمیز را به پنل Google Ads ارسال می‌کند.

سناریو 2: اندازه‌گیری تعامل کاربر

نگاه کردن تنها به تعداد نمایش صفحات ممکن است گمراه‌کننده باشد. برای درک اینکه آیا کاربر واقعاً در صفحه وقت می‌گذراند یا خیر، می‌توانید یک متغیر سفارشی طراحی کنید که نسبت ارتفاع صفحه‌ای که پیمایش شده و زمان صرف شده را اندازه‌گیری کند. این به ویژه برای شرکت‌هایی که بازاریابی محتوا انجام می‌دهند، داده‌ای طلایی است که نشان می‌دهد کدام مقالات واقعاً خوانده شده‌اند.

سناریو 3: ناشناس‌سازی داده‌های اول شخص

در سال 2026، حریم خصوصی داده‌ها از همه چیز مهم‌تر است. پیش از ارسال آدرس‌های ایمیل یا شماره‌های تلفن مشتریان ما به پلتفرم‌های تبلیغاتی، از متغیرهای جاوااسکریپت سفارشی برای هش کردن (رمزنگاری) آن‌ها با الگوریتم SHA-256 در مرورگر استفاده می‌کنیم. به این ترتیب، در حالی که یک زیرساخت ردیابی KVKK تطبیق‌پذیر ایجاد می‌کنیم، از ویژگی "Enhanced Conversions" (تبدیلات پیشرفته) پلتفرم‌های تبلیغاتی نیز محروم نمی‌مانیم.

اشتباهات بحرانی که باید به آن‌ها توجه داشت و اشکال‌زدایی

نوشتن کد جاوااسکریپت سفارشی در GTM قدرت بزرگی است، اما اگر به طور نادرست استفاده شود، می‌تواند کل سیستم ردیابی شما را خراب کند. یکی از اشتباهات رایج عدم استفاده از بلوک‌های خطایابی (try-catch) در داخل کد است. اگر کد JS که می‌نویسید خطایی ایجاد کند (به عنوان مثال، اگر مقداری که سعی دارید به آن دسترسی پیدا کنید، در آن صفحه وجود نداشته باشد)، GTM نمی‌تواند آن متغیر را پردازش کند و تمام برچسب‌های مربوطه ممکن است فعال نشوند.

همیشه این ساختار را عادت کنید که استفاده کنید:

function() { try { var element = document.querySelector('.price-tag'); return element ? element.innerText : '0'; } catch (e) { return 'error'; } }

هنگام ایجاد یک زیرساخت ردیابی پیشرفته، باید مطمئن شوید که کد شما در هر صفحه عملکرد یکسانی دارد. می‌توانید خودتان یک عملیات ساده تشخیص عنصر انجام دهید؛ اما برای داشتن ساختاری بدون خطا و سریع که تمام سناریوها را در یک سایت تجارت الکترونیک با هزاران صفحه پوشش دهد، دریافت کمک حرفه‌ای هزینه‌ای بسیار کمتر از خسارت مالی ناشی از از دست دادن داده خواهد داشت.

با 212 Medya، ردیابی داده‌ها را به یک سرمایه‌گذاری تبدیل کنید

داده‌ها نه نفت امروز بلکه فقط یک سر و صدا هستند، اگر پردازش نشوند. ما در 212 Medya به عمق GTM می‌رویم و داده‌هایی که برای شما معنی‌دار است را به دقت استخراج می‌کنیم. ما فقط برچسب‌گذاری نمی‌کنیم، بلکه با استفاده از متغیرهای جاوااسکریپت سفارشی و ردیابی Server-Side هزینه تبلیغاتی شما را حفظ می‌کنیم. ما همیشه در کنار شما هستیم تا زیرساختی ایجاد کنیم که از داده‌های شما کاسته و نرخ تبدیل شما را حداکثر کند.

نکات کلیدی

  • متغیرهای جاوااسکریپت سفارشی، جایی که ویژگی‌های از پیش تعبیه شده GTM به پایان می‌رسند، انعطاف‌پذیری بی‌پایانی را ارائه می‌دهند.
  • هر بلوک کد باید حتماً درون یک تابع ناشناس (anonymous function) قرار داشته و مقداری را بازگرداند.
  • در دنیای بازاریابی دیجیتال 2026، این متغیرها در فرآیندهای هش کردن داده‌های حریم خصوصی (GDPR/KVKK) اهمیت حیاتی دارند.
  • برای جلوگیری از افت عملکرد، باید از دستکاری‌های پیچیده DOM اجتناب کرد و کد بهینه‌سازی شود.
  • استفاده از بلوک‌های خطایابی (try-catch) برای تداوم سیستم ردیابی شما حیاتی است.
  • متغیرهای پیکربندی شده درست، مقادیر ROAS شما را به صورت مستقیم در پلتفرم‌هایی مانند Google Ads و Meta Ads بهبود می‌بخشند.

سؤالات متداول

آیا متغیر جاوااسکریپت سفارشی GTM سرعت سایت را کند می‌کند؟

اگر شامل حلقه‌های بسیار پیچیده یا کتابخانه‌های سنگین نباشد، نه. اما باید به یاد داشت که هر متغیر وقتی کاربر با صفحه تعامل دارد، فعال می‌شود. کدهای بهینه‌سازی نشده ممکن است باعث تأخیرهای میکرو شوند.

آیا برای استفاده از این متغیرها باید برنامه‌نویس حرفه‌ای باشید؟

یک دانش پایه‌ای از جاوااسکریپت ممکن است کافی باشد، اما برای ساختارهای داده پیچیده و انتقال ایمن داده، همکاری با یک آژانس بازاریابی دیجیتال باتجربه خطای احتمالی را به حداقل می‌رساند.

چرا متغیر من 'undefined' را باز می‌گرداند؟

رایج‌ترین دلیل فراموش کردن بیان 'return' یا وجود خطایی در کد است که باعث می‌شود تابع بدون تولید نتیجه پایان یابد. شما باید متغیر را مرحله‌به‌مرحله در حالت پیش‌نمایش GTM بررسی کنید.

آیا برای پیگیری تبدیل‌های پیشرفته (Enhanced Conversions) این شرط لازم است؟

نیست، اما اگر اطلاعاتی مانند ایمیل یا تلفن در لایه داده (Data Layer) شما به صورت خام وجود نداشته باشد، مطمئن‌ترین راه برای استخراج و رمزنگاری این داده‌ها استفاده از متغیرهای جاوااسکریپت سفارشی است.

آیا متغیرهای Custom JS در برنامه‌های موبایلی کار می‌کنند؟

این برای کانتینرهای وب GTM می‌باشد. برنامه‌های موبایلی (Firebase/GTM Mobile) از ساختار متفاوتی استفاده می‌کنند؛ هرچند در آنجا منطق مشابهی وجود دارد، اما جاوااسکریپت به این شکل استفاده نمی‌شود.

زیرساخت فنی صحیح، پایه‌گذار یک استراتژی موفق بازاریابی دیجیتال است. وقتی داده‌های خود را جمع‌آوری می‌کنید، باید نه تنها به امروز بلکه به تکنولوژی‌های آینده نیز توجه داشته باشید. اگر می‌خواهید به جای اتلاف وقت با چالش‌های فنی، بر رشد کسب‌وکار خود تمرکز کنید، ما در 212 Medya می‌توانیم فرآیندهای پیچیده ردیابی را برای شما مدیریت کنیم.

google tag managerJavaScriptVeri AnaliziDönüşüm TakibiGTM Değişkenleri

خواندن خوب است. اعمال کردن سود می‌آورد.

بیایید با هم برنامه‌ریزی کنیم که چگونه این استراتژی‌ها را به کسب و کارتان تطبیق دهید.

مشاوره رایگان