متغیرهای سفارشی - ردیابی وب (ga.js)

متغیرهای سفارشی تگ‌های جفت نام-مقدار هستند که می‌توانید در کد رهگیری خود وارد کنید تا ردیابی Google Analytics را اصلاح کنید. با متغیرهای سفارشی، می‌توانید بخش‌های دیگری را برای اعمال به بازدیدکنندگان خود غیر از مواردی که قبلاً توسط Analytics ارائه شده است، تعریف کنید. این سند متغیرهای سفارشی و نحوه تنظیم آنها را توضیح می دهد.

بررسی اجمالی

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

نمودار این مدل را برای یک بازدیدکننده از سایت شما نشان می دهد، که در آن هر بلوک تعداد جلسات کاربر و تعاملات آن کاربر خاص را نشان می دهد.

هر سطح در این مدل به صورت زیر تعریف می شود:

  • بازدید کننده - مشتری که از سایت بازدید می کند، مانند مرورگر یا تلفن همراه که توسط یک شخص اداره می شود.
  • جلسه - دوره زمانی که بازدید کننده در سایت فعال است.
  • صفحه — فعالیتی از طرف کاربر که درخواست GIF را به سرورهای Analytics ارسال می کند. این معمولاً با نمایش صفحه مشخص می شود، اما می تواند شامل موارد زیر باشد:
    • یک صفحه نمایش
    • یک رویداد (مثلاً روی دکمه فیلم کلیک کنید)

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

بازگشت به بالا

استفاده از متغیرهای سفارشی

از آنجایی که می توانید متغیرهای سفارشی مختلفی را برای ردیابی فعالیت کاربر برای سایت خود تنظیم کنید، معمولاً ابزارهای جاوا اسکریپت خود را برای مدیریت آنها ایجاد می کنید. اسکریپت شما از روش اصلی برای ایجاد یک متغیر سفارشی به صورت زیر استفاده می کند:

_setCustomVar(index, name, value, opt_scope)

این روش چهار پارامتر را می پذیرد:

  • index - شکاف برای متغیر سفارشی. ضروری. این عددی است که مقدار آن می تواند بین 1 تا 5 باشد. یک متغیر سفارشی باید فقط در یک اسلات قرار گیرد و مجدداً در اسلات های مختلف استفاده نشود.
  • name - نام متغیر سفارشی. ضروری. این رشته ای است که متغیر سفارشی را شناسایی می کند و در گزارش متغیرهای سفارشی سطح بالای گزارش های Analytics ظاهر می شود.
  • مقدار - مقدار برای متغیر سفارشی. ضروری. این رشته ای است که با یک نام جفت شده است. می توانید تعدادی از مقادیر را با نام متغیر سفارشی جفت کنید. مقدار در لیست جدول UI برای نام متغیر انتخاب شده ظاهر می شود. به طور معمول، شما دو یا چند مقدار برای یک نام خاص خواهید داشت. به عنوان مثال، ممکن است یک نام متغیر سفارشی gender را تعریف کنید و male و female را به عنوان دو مقدار ممکن ارائه کنید.
  • opt_scope - محدوده برای متغیر سفارشی. اختیاری. همانطور که در بالا توضیح داده شد، محدوده سطح تعامل کاربر با سایت شما را مشخص می کند. این عددی است که مقادیر احتمالی آن 1 (سطح بازدیدکننده)، 2 (سطح جلسه)، یا 3 (سطح صفحه) است. هنگامی که تعریف نشده باقی بماند، دامنه متغیر سفارشی به طور پیش‌فرض به تعامل سطح صفحه می‌رسد.

قطعه کد زیر نشان می دهد که چگونه می توانید یک متغیر سفارشی برای ردیابی بازدیدهایی که کاربران اقلام را از سبد خرید خود حذف کرده اند تنظیم کنید. در اینجا، متد _setCustomVar() درست قبل از متد _trackEvent() فراخوانی می شود، به طوری که در درخواست GIF ارسال شده توسط متد _trackEvent() تحویل داده می شود. از نام Items Removed با مقدار Yes برای تعریف آن فعالیت از کاربران وب سایت استفاده می کند. علاوه بر این، منطقی است که یک متغیر سفارشی پیش‌فرض برای Items Removed و No نیز تنظیم کنید. به این ترتیب، تعداد بازدیدهایی که اقلام از سبد خرید حذف شده‌اند و تعداد بازدیدهایی که شامل حذف کالا نمی‌شود، خواهید داشت.

Async Snippet (توصیه می شود)

 _gaq.push(['_setCustomVar',
      1,                   // This custom var is set to slot #1.  Required parameter.
      'Items Removed',     // The name acts as a kind of category for the user activity.  Required parameter.
      'Yes',               // This value of the custom variable.  Required parameter.
      2                    // Sets the scope to session-level.  Optional parameter.
   ]);
 _gaq.push(['_trackEvent',
      'Shopping', // category of activity
      'Item Removal', // Action
   ]);

هنگامی که متغیرهای سفارشی را تنظیم کردید، می توانید از روش _deleteCustomVar(index) برای حذف متغیرهای سفارشی خود استفاده کنید.

بازگشت به بالا

موارد استفاده مثال

متغیرهای سفارشی بسته به مدل وب سایت و نیازهای کسب و کار شما می توانند به روش های مختلفی پیاده سازی شوند. مثال‌ها موارد استفاده مختلف را بررسی می‌کنند، که در آن هر یک سطح متفاوتی از دامنه را نشان می‌دهد:

متغیرهای سفارشی سطح صفحه

از متغیرهای سفارشی سطح صفحه برای تعریف مجموعه ای از فعالیت های سطح صفحه توسط کاربران خود استفاده کنید.

به عنوان مثال، فرض کنید که شما وب سایت را برای یک روزنامه آنلاین مدیریت می کنید، جایی که بازدیدکنندگان مقالات مختلفی را مشاهده می کنند. در حالی که تعیین اینکه کدام مقاله خاص محبوب ترین است آسان است، اکنون می توانید از متغیرهای سفارشی نیز برای تعیین اینکه کدام بخش از روزنامه محبوب هستند استفاده کنید. این کار با تنظیم یک متغیر سفارشی در سطح صفحه برای هر مقاله انجام می شود، جایی که بخش مربوط به آن مقاله به عنوان یک متغیر سفارشی تنظیم می شود. برای مثال، ممکن است بخش‌هایی مانند Life & Style ، Opinion و Business داشته باشید. شما می توانید یک متغیر سفارشی برای ردیابی تمام مقالات خود بر اساس بخش تنظیم کنید.

Async Snippet (توصیه می شود)

_gaq.push(['_setCustomVar',
      1,                   // This custom var is set to slot #1.  Required parameter.
      'Section',           // The top-level name for your online content categories.  Required parameter.
      'Life & Style',  // Sets the value of "Section" to "Life & Style" for this particular aricle.  Required parameter.
      3                    // Sets the scope to page-level.  Optional parameter.
   ]);

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

Async Snippet (توصیه می شود)

_gaq.push(['_setCustomVar',
          2,                   // This custom var is set to slot #2.  Required parameter.
          'Sub-Section',       // The 2nd-level name for your online content categories.  Required parameter.
          'Fashion',           // Sets the value of "Sub-section" to "Fashion" for this particular article.  Required parameter.
          3                    // Sets the scope to page-level.  Optional parameter.
         ]);

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

بازگشت به بالا

متغیرهای سفارشی سطح جلسه

از متغیرهای سفارشی سطح جلسه برای تشخیص تجربیات مختلف بازدیدکنندگان در جلسات استفاده کنید.

به عنوان مثال، اگر وب سایت شما به کاربران امکان ورود به سیستم را ارائه می دهد، می توانید از یک متغیر سفارشی با محدوده سطح جلسه برای وضعیت ورود کاربر استفاده کنید. به این ترتیب، می‌توانید بازدیدهایی را که توسط اعضای وارد شده در مقابل بازدیدکنندگان ناشناس انجام می‌شود تقسیم کنید.

Async Snippet (توصیه می شود)

_gaq.push(['_setCustomVar',
      1,             // This custom var is set to slot #1.  Required parameter.
      'User Type',   // The name of the custom variable.  Required parameter.
      'Member',      // Sets the value of "User Type" to "Member" or "Visitor" depending on status.  Required parameter.
       2             // Sets the scope to session-level.  Optional parameter.
   ]);

فرض کنید می‌خواهید هم نوع کاربر و هم اینکه آیا تلاشی برای خرید برای یک جلسه مشخص انجام شده است را ردیابی کنید. اگر فرض کنیم که هر صفحه به کاربر امکان ورود به سیستم را می دهد، می خواهیم شکاف شماره 1 را برای متغیر سفارشی User Type رزرو کنیم و از اسلات دیگری برای خرید استفاده کنیم:

Async Snippet (توصیه می شود)

_gaq.push(['_setCustomVar',
      2,                   // This custom var is set to slot #2.  Required parameter.
      'Shopping Attempts', // The name of the custom variable.  Required parameter.
      'Yes',               // The value of the custom variable.  Required parameter.
                           //  (you might set this value by default to No)
      2                    // Sets the scope to session-level.  Optional parameter.
   ]);

بازگشت به بالا

متغیرهای سفارشی در سطح بازدیدکننده

از متغیرهای سفارشی سطح بازدیدکننده برای تشخیص دسته‌بندی بازدیدکنندگان در چندین جلسه استفاده کنید.

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

Async Snippet (توصیه می شود)

_gaq.push(['_setCustomVar',
      1,                // This custom var is set to slot #1.  Required parameter.
      'Member Type',    // The name of the custom variable.  Required parameter.
      'Premium',        // The value of the custom variable.  Required parameter.
                        //  (possible values might be Free, Bronze, Gold, and Platinum)
      1                 // Sets the scope to visitor-level.  Optional parameter.
 ]); 

دستورالعمل های استفاده

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

انواع متغیرهای سفارشی

جدول زیر ویژگی های کلیدی انواع مختلف متغیر را تعریف می کند. به خاطر داشته باشید که زمانی که یک اسلات توسط متغیرهای مختلف استفاده می شود محدودیت های خاصی وجود دارد.

مجموع طول ترکیبی نام و مقدار متغیر سفارشی نباید از 128 کاراکتر تجاوز کند.

بازگشت به بالا

مدت زمان هنگام اشتراک گذاری یک اسلات با سایر متغیرها تعداد مجاز
سطح صفحه

یک بازدید از صفحه، رویداد، یا تماس تراکنش.

آخرین متغیر سطح صفحه که در یک صفحه فراخوانی می شود، متغیری است که در آن صفحه اعمال می شود.

برای هر ویژگی وب (مجموعه ای از صفحات)، می توان بسیاری از متغیرهای منحصر به فرد سطح صفحه را تنظیم کرد و اسلات ها را می توان دوباره استفاده کرد. فقط با تعداد بازدیدها در یک جلسه معین محدود شده است.

برای هر صفحه، می‌توانید تا پنج متغیر سفارشی همزمان تنظیم کنید.

در سطح جلسه

جلسه فعلی بازدید کننده.

آخرین متغیر سطح جلسه که در یک جلسه فراخوانی می شود، متغیری است که برای آن جلسه استفاده می شود.
مثال : اگر login=false برای اسلات شماره 1 در ابتدای جلسه و login=true برای شکاف شماره 1 بعداً، جلسه برای login روی true تنظیم می شود.

هر متغیر سطح صفحه را که قبلاً تنظیم شده بود ، فراخوانی می کند.
مثال : اگر از اسلات شماره 1 ابتدا برای category=sports و سپس برای login=true برای یک جلسه استفاده شود، category=sports برای آن جلسه ثبت نخواهد شد.

برای هر ویژگی وب، می‌توانید به تعداد متغیرهای سفارشی سطح جلسه مجزا که با محدودیت جفت کلید-مقدار 128 کاراکتری قابل تعریف است، ایجاد کنید.

برای هر جلسه کاربر معین، می توانید حداکثر پنج متغیر در سطح جلسه تنظیم کنید.

در سطح بازدید کننده

جلسه فعلی و تمام جلسات آینده برای زندگی کوکی بازدیدکننده.

آخرین مقدار تعیین شده برای یک بازدیدکننده، مقداری است که برای جلسات فعلی و آینده اعمال می شود.

برای هر ویژگی وب، می توانید حداکثر پنج متغیر مجزا در سطح بازدیدکننده ایجاد کنید.

بازگشت به بالا

هنگام مخلوط کردن انواع متغیرهای مختلف احتیاط کنید

به طور کلی توصیه نمی شود که یک اسلات متغیر سفارشی را با انواع مختلف مخلوط کنید زیرا می تواند منجر به محاسبات متریک عجیب و غریب شود.

هنگامی که از چندین متغیر سفارشی در سطح صفحه، جلسه و بازدیدکننده برای ویژگی وب خود استفاده می کنید، باید به دقت استفاده مجدد از اسلات ها را تعیین کنید. اگر موقعیتی در وب سایت شما ایجاد شود که در آن یک متغیر سفارشی در سطح صفحه یا جلسه از همان اسلات استفاده می کند و در همان زمان متغیر سطح صفحه تنظیم می شود، فقط متغیر سطح جلسه (یا سطح صفحه) ثبت می شود.

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

مورد 1 - متغیر سطح جلسه نهایی اولویت دارد

در اینجا صفحه نهایی مجدداً از یک متغیر سفارشی سطح جلسه در شکاف 1 استفاده می کند تا اولویت دریافت کند.

بازدید 1 صفحه 1
(1) S:سطح صفحه
section=opinion
صفحه 2
(1) S: در سطح جلسه
login=true
صفحه 3
(1) S: در سطح جلسه
converted=true

گزارش بازدیدها به شرح زیر خواهد بود:

  • # بازدید برای بخش=نظر: 0
  • # بازدید برای login=true: 0
  • # بازدید برای converted=true: 1

مورد 2 - متغیر سطح بازدید کننده اولیه اولویت دارد

در اینجا شکاف 1 ابتدا توسط یک متغیر سفارشی سطح بازدیدکننده در بازدید 1 استفاده می شود و سپس یک متغیر سفارشی سطح صفحه در بازدید 3 استفاده می شود. به این ترتیب، متغیر سطح بازدیدکننده متغیر سطح صفحه را اضافه نمی کند.

بازدید 1 صفحه 1
(1) S:سطح بازدیدکننده
gender=male
بازدید 2 صفحه 1
(2) S:سطح جلسه
converted=false
بازدید 3 صفحه 1
(1) S:سطح صفحه
section=opinion

گزارش بازدیدها به شرح زیر خواهد بود:

  • # بازدید برای جنسیت=مرد: 2
  • # بازدید برای تبدیل = نادرست: 1
  • # بازدید برای بخش=نظر: 1
  • از اسامی کلیدهای تکراری در اسلات ها استفاده نکنید.
  • تابع _setCustomVar() را زمانی فراخوانی کنید که بتوان آن را قبل از نمایش صفحه یا درخواست GIF رویداد تنظیم کرد.
    در برخی موارد ممکن است این امکان وجود نداشته باشد، و شما باید بعد از تنظیم یک متغیر سفارشی، درخواست _trackPageview() دیگری را تنظیم کنید. این معمولاً فقط در شرایطی ضروری است که کاربر یک var سفارشی در سطح جلسه یا بازدید را راه‌اندازی می‌کند، جایی که نمی‌توان آن روش را با یک تماس ردیابی صفحه، رویداد یا تجارت الکترونیکی همراه کرد.
  • از ماتریس اسلات برای ردیابی تعداد زیادی متغیر سفارشی استفاده کنید.
    اگر نیازمندی‌های ردیابی پیچیده‌ای دارید، که در آن ترکیبی از متغیرهای سطح صفحه و جلسه دارید که ممکن است با هم برخورد کنند، باید یک ماتریس شکاف بسازید تا اطمینان حاصل کنید که متغیرهای سطح جلسه به طور ناخواسته بر متغیرهای سطح صفحه غلبه نمی‌کنند.
  • به جای متغیرهای سفارشی، از ردیابی رویداد برای برنامه های خاص استفاده کنید.
    به عنوان مثال، فرض کنید یک فروشگاه آنلاین موسیقی دارید و می‌خواهید جلسات ورود، جلسات تلاش برای خرید و جلساتی که در آن نمونه‌های موسیقی پخش می‌شد را پیگیری کنید. منطقی است که از ردیابی رویداد برای ردیابی تعداد تلاش‌ها برای پخش موسیقی به جای استفاده از متغیرهای سطح جلسه برای رسیدن به این هدف استفاده کنید. در اینجا، می‌توانید از پارامتر مقدار چهارم تماس ردیابی رویداد برای ارسال داده‌های جلسه از کوکی‌های خود استفاده کنید.
  • از متغیرهای سطح جلسه برای ردیابی رفتاری که می توانید با متغیرهای سطح صفحه ردیابی کنید، استفاده نکنید.
    برای مثال، فرض کنید وضعیت ورود به سیستم و وضعیت تلاش برای خرید را بر اساس جلسات پیگیری می‌کنید، و سایت شما یک صفحه «ویژه اعضا» را ارائه می‌دهد که می‌خواهید آن را نیز پیگیری کنید. از آنجایی که یک متغیر سفارشی در سطح صفحه تعداد بازدید از آن متغیر خاص را نشان می دهد، شما از قبل تعداد بازدیدهایی که آن صفحه را حداقل یک بار شامل شده است در دسترس خواهید داشت.

بازگشت به بالا