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

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

قبل از ادامه: تگ + تریگر 
حتماً با مفهوم اصلی گوگل تگ منیجر آشنایی: هر تعاملی که می‌خوای ترکینگ کنی، به تگ و تریگر نیاز داره. اگه می‌خوای همه ارسال کامنت‌ها رو با گوگل آنالیتیکس ترکینگ کنی، باید یه تگ گوگل آنالیتیکس و یه تریگر (قانون) برای اجرا شدن تگ بسازی. ساخت تگ قسمت آسونشه.
- برو به Tags  
- دکمه New رو بزن  
- تو تنظیمات تگ، Google Analytics رو انتخاب کن:  
- نوع ترکینگ: GA4 Event  
اسم ایونت میتونه یه چیز کاستوم مثل comment_submit باشه.

 
- بخش Triggering رو خالی بذار (الان) و Save کن. بعداً برمی‌گردیم. 80% این پست درباره انواع تریگرهایی که می‌تونی بسازیه. نوع تریگر بستگی به روش ساخت جعبه کامنتت داره.  

کدوم روش ترکینگ کامنت رو انتخاب کنیم؟
قبل از  پرداختن به انواع تریگرها، باید جعبه کامنتت رو بررسی کنی و ببینی کدوم تکنیک به کارت میاد. یه  فلوچارت پایین هست که کمکت می‌کنه روش درست ترکینگ کامنت با گوگل تگ منیجر رو انتخاب کنی.
Flow Chart - How to track comments with google tag manager
مطمئنم بعضی قسمت‌های این فلوچارت گنگ و مبهم به نظر میاد. ادامه پست رو که بخونی، همه‌چیز روشن می‌شه.

#1. راه‌حل آماده برای جعبه‌های کامنت رایج 
شاید از یه افزونه معروف واسه باکس کامنت استفاده می‌کنی. چرا  این خبر خوبیه؟ احتمالاً راه‌حل آماده‌ای با آموزش قدم‌به‌قدم تو اینترنت براش پیدا می‌شه. دو تا از معروف‌ترین افزونه‌ها فیسبوک کامنت و دیسکاس کامنتن.
چطور بفهمی کدوم شرکت جعبه کامنتت رو ساخته؟ چندتا راه داری:
- شاید خودت نصبش کردی، مثلاً تو وردپرست (یا هر سیستم مدیریت محتوات)؟  
- از دولوپر بپرس، شاید بدونه.  
- یه گزینه دیگه، دنبال لوگو یا نشانه برند گشتنه. مثلاً جعبه کامنت دیسکاس تو گوشه پایین‌راست یه لوگو داره.  
Disqus logo in comments box
- آخرین راه یه کم فنیه. جعبه کامنت رو با به کمک دولوپر تولز مرورگرت چک کن. ممکنه نشونه‌ای از شرکت سازنده باشه. برای اینکار روی جعبه کامنت راست کلیک کن و گزینه inspect رو بزن. مثلاً بعد از کلیک راست روی جعبه دیسکاس و گشتن دنبال اسم یا لینک، اینو پیدا کردم.  
Inspect comment box 
اگه به نتیجه نرسیدی, احتمالاً از یه ابزار کاستوم استفاده می‌کنی. این عنوان رو رد کن و برو سراغ بعدی.  
اگه برند سازنده جعبه کامنتت رو پیدا کردی، تو گوگل دنبال راه‌حل آماده GTM بگرد، احتمالا چیزی پیدا می‌شه.
How to track facebook comments with Google Tag Manager

اگه سازنده جعبه کامنت پیدا نشد روش‌های دیگه تو این راهنما به کارت میاد.

#2. تریگر پیش‌فرض فرم سابمیت تو GTM
 جعبه کامنت هم چیزی جز فرم نیست، پس باید مثل فرم بشه اون رو ترکینگ کرذ. ایونت لیسنر فرم تو GTM رو امتحان کن.
لیست وریبل‌ها تو حساب GTMت رو باز کن. تو وریبل‌های داخلی، Configure رو بزن و همه وریبل‌های Form رو تو سایدبار راست فعال کن (تغییرات خودکار ذخیره می‌شه).
google tag manager form variables 
بعد لیست همه تریگرها رو با کلیک روی Triggers تو سایدبار چپ باز کن و تریگر جدید بساز:
- تایتل: "همه ارسال فرم‌ها"  
- نوع تریگر: ارسال فرم  
- گزینه Wait for tags رو فعلاً خاموش بذار (بعداً می‌تونی این تیک رو بزنی و مقدارش رو 2000 میلی‌ثانیه بذاری. این یعنی صفحه 2 ثانیه بعد ارسال فرم/پرکردن جعبه کامنت رفرش می‌شه. این زمان کافیه برای اجرای تگ ایونت گوگل آنالیتیکس)  
- تیک Check validation رو بزن. با این کار، اگه از عمل پیش‌فرض فرم (ارسال و ریدایرکت) جلوگیری بشه، تریگر اجرا نمی‌شه. اگه این تیک رو نزنی، تریگر هر وقت ایونت ارسال ثبت بشه فعال می‌شه (حتی با خطا، مثلاً فیلدهای ضروری خالی بمونن)  
- Fire on: تو این مثال، می‌خوام همه فرم‌ها رو ترکینگ کنم.  
Trigger - All form submissions

حالا با حالت پریویو و دیباگ GTM چک کن ببین لیسنر خودکار فرم کار می‌کنه یا نه. تو گوشه بالا سمت راست حساب گوگل تگ منیجرت، "Preview" رو بزن.
GTM Preview button
وقتی حالت پریویو فعال شد، برو به سایتی که جعبه کامنت توشه و تو پایین مرورگرت یه کنسول دیباگ می‌بینی که اطلاعات دقیق تگ‌ها، وضعیت اجرا و دیتای پردازش‌شده رو نشون می‌ده. این پنجره فقط رو کامپیوترت تو حالت پریویو دیده می‌شه و برای بقیه بازدیدکننده‌ها قابل مشاهده نیست. باید چیزی مثل این باشه:
preview and debug console

اگه صفحه حاوی جعبه کامنت رو باز کردی ولی کنسول دیباگ GTM رو نمی‌بینی، صفحه رو رفرش کن. اگه هنوز مشکل داری، یه پست کامل در این مورد دارم.
برگردیم به ترکینگ کامنت با گوگل تگ منیجر. جعبه کامنت رو پر کن (سعی کن فیلد‌ها خالی نمونه):
- دکمه ارسال رو بزن. ایونت gtm.formSubmit تو کنسول پیش‌نمایش و دیباگ ظاهر شد؟ اگه نه، لیسنر خودکار فرم GTM برای این جعبه کامنت کار نمی‌کنه، برو سراغ روش بعدی این پست.

formSubmit event
اگه ایونت gtm.formSubmit تو کنسول پریویو و دیباگ اومد، یه تست دیگه بکن—حداقل یه فیلد ضروری (مثل نام) رو خالی بذار و دوباره ارسال کن. این‌جوری یه خطا شبیه سازی می‌شه:  
اگه ایونت gtm.formSubmit در حالت وجود خطا باز هم اجرا شد، باید روش‌های دیگه ترکینگ کامنت تو این پست رو چک کنی. چرا؟ چون حتی در صورت وجود خطا تریگر همچنان فعال می‌شه، چه کامنت با موفقیت ارسال بشه چه نه. نمی‌خوای ارسال‌های اشتباه رو ترکینگ کنی، مگه نه؟  
اگه با وجود خطا ایونت gtm.formSubmit ثبت نشد—عالیه! یعنی GTM فقط ارسال‌های موفق کامنت رو ترکینگ می‌کنه (همون طور که می‌خواستی).  
عالی! فهمیدیم جعبه کامنتت با لیسنر فرم داخلی GTM قابل ترکینگـه. بیا یه تریگر مخصوص برای این نوع فرم (یعنی جعبه کامنت). توی تب پریویو روی ایونت gtm.formSubmit کلیک کن (تو حالت پریویو و دیباگ)، بعد Variables رو بزن.
Preview and debug form submit variables
بعد پایین برو و دنبال وریبلی تو Form بگرد که مخصوص جعبه کامنتت باشه. معمولاً جعبه‌های کامنت یه کلاس فرم (مثل comment_box) دارن. از این به‌عنوان شرط تریگر استفاده کن. مثل تصویر پایین، من یه کامنت فرستادم (که وریبل کلاس فرمش هم comment_box بود).
Form classes

حالا بیا تو تریگر ازش استفاده کنیم:
- برو به Triggers و New رو بزن  
- تو بخش Trigger configuration، نوع تریگر رو "Form submission" انتخاب کن  
- تیک Check validation رو بزن و این قاعده رو ست کن:  *.  Page URL matches RegEx

 این یعنی تریگر ارسال کامنت تو همه صفحه‌ها فعال میشه. اگه فقط تو صفحه‌های خاصی بخوای این تریگر عمل بکنه، قاعده دقیق‌تری مثل این بزار:   Page URL contains /post
- بعد تریگر رو طوری تنظیم کن که فقط واسه فرم‌های خاص اجرا بشه و این قاعده خاص رو وارد کن: Form Classes equals comment_box. به جای شرط equal میتونی از Contains هم استفاده کنی.  
- اگه وریبل Form Classes رو نمی‌بینی—تو لیست وریبل‌های داخلی گوگل تگ منیجر فعالش کن.  
- مقدار وریبل form class برای شما  ممکنه فرق داشته باشه.  
Comment submissions - trigger
---
بیا تست کنیم
این تریگر جدید رو به تگ گوگل آنالیتیکس که اول پست ساختی وضل کن.  
حالت پریویو و دیباگ رو باز (یا رفرش) کن، صفحه وب حاوی فرمی که می‌خوای ترکینگش کنی رو رفرش کن.  
بعد جعبه کامنت رو پر کن و ارسال کن—اگه تگ گوگل آنالیتیکس فایر شد، خبر خوبیه!  

#3. ترکینگ جعبه کامنت نوشته شده با AJAX
اگه به این بخش رسیدی، جعبه کامنت احتمالاً خودش رو رفرش می‌کنه و پیام "کامنتت با موفقیت ارسال شد" رو نشون می‌ده بدون اینکه رفرش واقعی صفحه رخ بده. به احتمال زیاد این جعبه از AJAX استفاده می‌کنه. پیشنهاد می‌کنم از موارد فنی اینجا بگذریم (چون خودم دولوپر نیستم و فکر نمی‌کنم بتونم واضح توضیح بدم). تنها چیزی که باید بدونی نیاز به یه لیسنر AJAXه.
اسکریپتی که این پایین اومده یه ایونت لیسنر هست. این کد به همه ایونت‌های AJAX تو سایت گوش میده و اونا رو به دیتالیر می‌فرسته. این یعنی فقط اون پاسخ‌های AJAX رو می‌گیری که دیتای ارسال موفق کامنت رو شامل میشن.
 کد رو از فایل متنی کپی کن و تو یه تگ HTML کاستوم تو گوگل تگ منیجر پیست کن:ajax.txt

بعد از نصب لیسنر AJAX لونامتریکس با تگ HTML کاستوم، چک کن جعبه کامنت از تکنولوژی AJAX استفاده می‌کنه یا نه:
- حالت پریویو و دیباگ رو فعال (یا رفرش) کن.  
- صفحه وب حاوی جعبه کامنت رو رفرش کن.  
- کامنت رو پر کن و ارسال کن (همه فیلد‌ها رو پر کن).  
- ایونت ajaxComplete تو کنسول پیش‌نمایش و دیباگ ظاهر شد؟  
- اگه آره، جعبه از AJAX استفاده می‌کنه.  
- اگه نه، برو سراغ عنوان بعدی.  
اگه ایونت ajaxComplete تو سایدبار بود بیا ببینیم با این جعبه AJAX چیکار می‌تونیم بکنیم. تو تب پریویو و دیباگ، روی ایونت ajaxComplete کلیک کن، بعد تب دیتالیر رو بزن:
ajax complete

اینجا دیتایی رو داریم که بعد از ارسال موفق کامنت به دیتالیر فرستاده شده، هر خط یه داده جدا تو دیتالیره که می‌تونی به‌عنوان دیتالیر وریبل تو GTM ازش استفاده کنی. دنبال چیزی بگرد که ارسال موفق کامنت رو نشون بده. پایین برو و "response" رو پیدا کن.
بذار دقیق‌تر نگاه کنیم. پیام "This message has been successfully sent" رو می‌بینی؟ بله! می‌تونیم ازش به‌عنوان تریگر استفاده کنیم.
نکته: بعضی فرم‌ها یا جعبه‌های کامنت چندتا درخواست AJAX می‌فرستن، پس باید همه ایونت های ajax تو تب دیتالیر رو چک کنی و ببینی کدوم شامل اطلاعات ارسال موفق هست.

اول، یه وریبل دیتالیر تو گوگل تگ منیجر بساز:
- برو به Variables  
- پایین برو و از بخش User-Defined variable و New بزن  
- تو تنظیمات وریبل، نوع وریبل رو "Data Layer Variable" انتخاب کن  
- نام وریبل دیتالیر: attributes.response باشه. بقیه تنظیمات رو دست نزن.  
- پیشنهادم برای عنوان این وریبل این هست: GTM: dlv – attributes.response ("dlv" مخفف Data Layer Variableهست).  
Data Layer variable - attributes.response

شاید تعجب کنی چرا attributes.response رو به‌عنوان مقدار  اسم دیتالیر وریبل زدم. بیا تو حالت پیش‌نمایش و دیباگ به دیتالیر نگاه کنیم. تو خط 2، اسم ایونت رو می‌بینی، ajaxComplete، که تو سمت چپ کنسول پیش‌نمایش و دیباگ هم هست. بعد attributes رو می‌بینی که یه آرایه از دیتاهاست (response یکی از اوناس). این مثل یه نمودار درختیه. از تنه به شاخه میرسیم.
ajaxComplete - full response
پس وقتی می‌خوایم به گوگل تگ منیجر بگیم به مقدار پارامتر response نیاز داریم، باید مسیر دقیقش رو بگیم. تو این مورد خاص مسیر attributes → response بود. هر سطح از این مسیر با نقطه جدا می‌شه  attributes.response. مثلاً اگه به دیتای سرور (از همون پاسخ AJAX) علاقه داشته باشی، نام وریبل دیتالیر باید attributes.headers.Server باشه.
بعد از ساخت دیتالیر وریبل  attributes.response تو گوگل تگ منیجر، باید دیباگ کنیم. حالت پریویو و دیباگ رو رفرش کن و صفحه‌ای که جعبه کامنت AJAX توشه رو رفرش کن. کامنت رو پر کن و ارسال کن. تو کنسول پیش‌نمایش و دیباگ، ایونت ajaxComplete آخری رو بزن، بعد برو تو تب Variables و وریبل جدیدت dlv – attributes.response رو پیدا کن. اگه درست مراحل رو انجام دادی، باید مقدارش این‌جوری باشه:
attributes.response dlv

این پیام ارسال موفق کامنته. اگه ارزش وریبل undefined باشه، دنبال اشتباهت بگرد. شایع‌ترین دلایلش تایپ غلط نام وریبل یا مسیر نادرست وریبل هستن. بعضی‌ها مستقیم response رو وارد می‌کنن به‌جای attributes.response. اگه هنوز مشکل داری،
حالا یه تریگر بساز که وقتی ایونت ajaxComplete بود و وریبل دیتالیر جدیدمون شامل متن The message has been successfully sent باشه فایر بشه.
- برو به Triggers و New بزن  
- نوع تریگر رو "Custom Event" انتخاب کن.  
- نام ایونت رو ajaxComplete بزار.
- این تریگر باید رو "بعضی ایونت‌های کاستوم" اجرا بشه پس:

شرط اجرا: dlv – attributes.response contains The message has been successfully sent باید باشه.

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

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

#4. ایونت‌های دیتالیر  
نکته: هرچند روش پایین برای ترکینگ کامنت با گوگل تگ منیجر بهتر از روش بالا (AJAX) هست، ولی به‌عنوان گزینه 4 گذاشتمش فقط به یه دلیل. وقتی بقیه مارکترها ازم برای  ترکینگ کامنت راهنمایی می‌خوان، دنبال راه‌حلی هستن که دخالت دولوپر رو نیاز نداشته باشه.
 "مدیریت تگ‌های بازاریابی بدون کمک دولوپر" یکی از دلایل اصلیه که GTM محبوب شده. این جمله تو زمان راه‌اندازی GTM یکی از نقاط قوتش بود، در کل حواست باشه که:
- اگه به دولوپر دسترسی داری و لیسنر فرم گوگل تگ منیجر برات کار نمی‌کنه، پیشنهاد می‌کنم از متد window.dataLayer.push که الان توضیح می‌دم استفاده کنی.  
- اگه دولوپر نداری یا خیلی سرشون شلوغه (که احتمالاً همینطوره)، با روش‌های دیگه تو این پست ترکینگ کن. فقط بدون که این راه‌حل‌ها اگه دولوپر بیاد و سایتت رو تغییر بده، بیشتر احتمال خراب شدن دارن. این مخصوصاً در مورد تکنیک‌های ذیل عناوین بعدی—اسکریپ DOM و تریگر Element Visibility—صادقه.  
امیدوارم نظرم رو واضح گفته باشم. با دولوپر تعامل کن مگه اینکه در دسترس نباشه. 

پس اگه فرم لیسنر استاندارد گوگل تگ منیجر در کنار جعبه کامنتت کار نکرد، بهترین گزینه بعدی اینه از دولوپر بخوای تو تابع کال‌بک که بعد ارسال موفق کامنت فراخونی می‌شه، یه window.dataLayer.push کاستوم پیاده کنه. کدش می‌تونه این‌جوری باشه:ajax datalayer.txt
باید یه تسک کوتاه، شفاف و واضح برای دولوپر آماده کنی:
- اول، یه اسم برای ایونت انتخاب کن. تو مثال بالا commentSubmission زدم.  
- بعد فکر کن چه دیتای اضافی می‌خوای. این دیتاها رو بنویس و دسته‌بندی‌شون کن.  مثالا  بد نیس بدونم عنوان صفحه‌ای که کامنت توش فرستاده شده چی بوده.  
- اگه دولوپر با ایونت‌های دیتالیر یا گوگل تگ منیجر خیلی آشنا نیس، چندتا لینک راهنمای دیتالیر رو بهش بده. بهش توضیح بده که یه ایونت (و اگه ممکنه یه وریبل اضافی) بعد ارسال موفق کامنت تو دیتالیر باید پوش بشه.

نکته: از توسعه‌دهنده نخواه دیتای شخصی رو بفرسته اگه با GA کار می‌کنی. گوگل سخت‌گیری می‌کنه که PII (اطلاعات قابل‌شناسایی شخصی) تو گوگل آنالیتیکس ذخیره نشه.  
تموم! بعد از اینکه دولوپر روش window.dataLayer.push رو تو همه جعبه‌های کامنت پیاده کرد، تست کن:
- حالت پریویو و دیباگ رو باز کن.  
- صفحه حاوی جعبه کامنت رو رفرش کن.  
- سعی کن یه کامنت بفرستی:  
- حداقل یه فیلد ضروری رو خالی بذار. تو این حالت، ایونت دیتالیر نباید فرستاده بشه.  
- همه فیلد‌ها رو پر کن و دوباره ارسال کن. ایونت تو کنسول پیش‌نمایش و دیباگ اومد؟ باید این‌جوری باشه:  
comment submission
- چک کن همه دیتاها درست به دیتالیر فرستاده شده باشن. روی ایونت commentSubmission کلیک کن و تب دیتالیر تو کنسول پریویو رو باز کن. دیتا باید این‌جوری باشه:  
Comment submission - datalayer
- وریبل‌ها و تریگرها رو تو GTM تنظیم کن. تو مورد خودم یه دیتا هست که می‌خوام به‌عنوان وریبل ازش ستفاده کنم—pageTitle—پس باید تو گوگل تگ منیجر با ساخت وریبل دیتالیر اون رو اضافه‌ش کنم.
- عنوان: dlv – pageTitle  
- نوع وریبل: Data Layer Variable  
- نام وریبل دیتالیر: pageTitle  
- بقیه تنظیمات رو دست نزن  

حالا بیا تریگر بساز. برو به Triggers و New بزن. این تنظیمات رو وارد کن:
- نوع تریگر: ایونت کاستوم  
- اسم ایونت: commentSubmission (ممکنه بسته به مورد شما فرق داشته باشه. فقط مطمئن شو تو و دولوپر از یه نام استفاده می‌کنین)  
- این تریگر برای همه ایونت‌های کاستوم اجرا بشه. یعنی همه ایونت‌های commentSubmission ترکینگ می‌شن.

 تست ستاپ
این تریگر جدید رو به تگ گوگل آنالیتیکس که اول پست ساختی وصل کن.  
حالت پریویو و دیباگ رو باز (یا رفرش) کن، صفحه وب حاوی جعبه کامنت که می‌خوای ترکینگ کنی رو رفرش کن.  
بعد جعبه کامنت رو پر کن و ارسال کن. بعد از ارسال موفق، تگ گوگل آنالیتیکس باید فایر بشه (تو تب پریویو و دیباگ GTM این رو چک کن. می‌تونی گزارش ایونت‌های لحظه‌ای گوگل آنالیتیکس رو هم چک کنی).  
نکته: تو این حالت، پیشنهاد می‌کنم چندتا تغییر تو تگ ایونت گوگل آنالیتیکس بدی. چون از دولوپر خواستیم یه وریبل اضافی به اسم dlv – pageTitle  رو از طریق window.dataLayer.push بفرسته، می‌تونیم از این دیتا استفاده کنیم و به GA بفرستیم. می‌تونیم اینا رو تغییر بدیم:
در بخش تنظیمات Event Parameters میتونیم یه پارامتر به اسم link_text رو استفاده کنیم و مقدار وریبل dlv – pageTitle زو بعنوان ولیوش بزاریم. اینطوری نیازی به رجیستر کردن پارامتر کاستوم نداریم چون link_text جزو پارامترهای توصیه شده س

---
#5. راه‌حل‌های دیگه
این دو روش پایین رو عمیق توضیح نمی‌دم چون خیلی قابل‌اعتماد نیستن. چرا؟ چون خیلی به ساختار کدهای صفحه وب وابسته‌ان. اگه توسعه‌دهنده‌ها دائم طراحی صفحه رو آپدیت کنن، عناصر جدیدی اضافه یا قدیمی رو حذف کنه، ممکنه یه روز تریگرت خراب بشه.
بدترین بخش این ماجرا اینه که همون روز متوجه نمی‌شی. گاهی یه هفته بعد (یا بیشتر) متوجه گپ توی دیتای این ایونت می‌شیم، و یه هفته دیتای گمشده برای یه مارکتر و تحلیلگر وب فقدان بزرگیه. پس باید ریسک استفاده از این دو روش ترکینگ کامنت رو بسنجی:
- تریگر Element Visibility: وقتی یه المان خاص تو صفحه ظاهر بشه (مثل پیام "کامنت با موفقیت ارسال شد") یه ایونت واسه GA4 بره.
- DOM اسکریپ: تکنیکی که مقدار یه المان وب خاص رو چک می‌کنه. اگه صفحه رفرش بشه و پیام "مرسی" ظاهر بشه، می‌تونی DOM رو اسکریپ کنی و ترکینگ رو انجام بدی.

در مورد این دو روش پست جداگونه میزارم.

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