ترکینگ پلیر اسپاتیفای با گوگل آنالیتیکس 4 و گوگل تگ منیجر  
حتی اگه ترکینگ خودکار GA4 از نسخه قبلی (آنالیتیکس یونیورسال) قوی‌تر باشه، هنوزم یه سری محدودیتهای اعصاب خورد کن داره. مخصوصاً اگه تو موقعیت خاصی مثل ترکینگ پخش با استفاده از پلیر اسپاتیفای باشی! خوشبختانه با یه ایونت لیسنر میشه اینکار رو کرد.

 اضافه کردن ایونت لیسنر به کانتینر GTM  
این ایونت لیسنری که توی ادامه بلاگ پست اومده دنبال تعامل کاربر با پلیر اسپاتیفای می‌گرده. اگه یکی پیدا کنه، داده‌ها رو توی Data Layer پوش میکنه و تو حالت Preview تگ منیجر و Debug View آنالیتیکس می‌تونی این دیتالیرپوش ها رو ببینی.  

اسکریپت ایونت لیسنر رو این پایین آوردم:  
Spotify Event Listener.txt
روش اضافه کردن ایونت لیسنر به GTM: برای شروع ترکینگ اسکریپت بالا رو کپی کن، برو به بخش Tags تو GTM و یه تگ جدید بساز. از بین تگها، گزینه "Custom HTML" رو انتخاب کن و اسکریپت لیسنر رو طیق تصویر پیست کن.  

ایونت لیسنر رو تنظیم کن که با تریگر "All Pages" فعال بشه، اسم تگ رو بذار "cHTML – spotify listener" و سیو کن. 

 الان باید تگ و تریگر رو تست کنیم، روی دکمه Preview بزن و URL سایتت رو وارد کن. وقتی یه تب/پنجره جدید با سایتت باز شد، یه آهنگ یا پادکست از اسپاتیفای پخش کن. حالا تو Tag Assistant (پنجره پریویو GTM) نگاه کن، احتمالاً چند تا ایونت spotifyEvent تو تب سمت چپ می‌بینی. 

رو یکی از این ایونت‌ها کلیک کن.  
API Call رو باز کن تا اطلاعاتی که تو Data Layer اومده رو ببینی.  
پارامتر audioStatus جزئیات بیشتری درباره اکنشن خاصی که کاربر انجام داده بهت می‌ده. سه تا ولیوی این پارامتر که برامون مهمن اینا هستن:  
playback_started: وقتی کاربر دکمه پخش رو می‌زنه.  
progress: بعد از هر ۱۰٪ پخش فایل  تریگر می‌شه.  
complete: وقتی کاربر به آخر آهنگ یا پادکست می‌رسه.  

حالا وقت فرستادن داده‌های پخش اسپاتیفای به GA4 رسیده:
حالا که ایونت لیسنر اطلاعات مفیدی رو به Data Layer پوش میکنه، باید یه تگ بسازیم تا این اطلاعات رو جمع‌آوری کنه و به گوگل آنالیتیکس 4 بفرسته.  

ساختن تریگر برای وقتی که کاربر با پلیر اسپاتیفای تعامل می‌کنه  
تو این آموزش، فقط وقتی ایونت رو فایر می‌کنیم که audioStatus برابر با playback_started یا progress و یا complete باشه. پس باید یه Data Layer Variable برای audioStatus بسازیم، که نشون میده کاربر چه کاری انجام داده.  
تو GTM برو به تب Variables و گزینه "New" رو زیر User-Defined Variables انتخاب کن.  
از لیست گزینه ها،  "Data Layer Variable" رو انتخاب کن،

 "audioStatus" رو توی کادر (طبق تصویر پایین) وارد کن، اسم متغیر رو بذار "dlv – audioStatus" و سیو کن.  

حالا برو به تب Triggers و یه تریگر جدید بساز. برای تنظیم تریگر، گزینه "Custom Event" رو انتخاب کن و اسم ایونت رو "spotifyEvent" بذار.  

چون می‌خوایم این فقط برای مقادیر خاص audioStatus فعال بشه، رو "Some custom events" کلیک کن.  

تو شرط، اینو وارد کن:

 "dlv – audioStatus matches RegEx playback_started|progress|complete" (طبق تصویر بالا).  فقط کافیه این تیکه playback_started|progress|complete رو کپی کنی. بقیه موارد به صورت لیستی قابل انتخابه.
اسم تریگر رو بذار "custom – spotifyEvent" و سیو کن.  

درست کردن  Data Layer Variable های بیشتر برای فرستادن جزییات بیشتر  
هرچند همینجا می‌تونی مستقیم بری سراغ ساخت تگ، ولی گاهی بهتره همراه  ایونت‌ها یه سری دیتای اضافی هم بفرستی که بفهمی کاربر دقیقاً با چی تعامل کرده. تو این مورد خاص می‌تونیم این دیتاها رو بفرستیم:  

پارام audioPercent: همیشه وقتی audioStatus برابر با started_payback باشه مقدار پارام audioPercent معادل صفره و و وقتی پخش اسپاتیفای کامل شد مقدار پارام audioPercent معادل صد میشه.

پارام audioUrl که لینک آهنگ یا پادکست رو تو اسپاتیفای نشون میده و
audioContentType: که مقدارش برای آهنگ معادل "track" و برای پادکست معادل "episode" هست.  

حالا بیاید برای هر کدوم از این پارام ها یه  "Data Layer Variable" بسازیم. برای پارام درصد پخش بیا و "audioPercent" رو به‌عنوان اسم وارد کن. اسم وریبل رو هم بذار "dlv – audioPercent" و سیو کن.  
این کار رو برای پارام audioURL  و audioContentType تکرار کن. 

حالا نوبت ساختن تگ برای ترکینگ پلیر اسپاتیفای رسیده. یه تگ جدید بساز و تو تنظیم تگ، گزینه Google Analytics > Google Analytics: GA4 Event رو انتخاب کن.  

Measurement ID رو توی باکس Tag ID وارد کن.  
برای اسم ایونت، بسته به مقدار audioStatus اسم‌های متفاوتی می‌فرستیم. لازم نیست این کارو بکنی، ولی گزارش ایونت‌ها رو واضح‌تر می‌کنه. 

برای این کار، اسم ایونت رو بذار: audio_{{dlv – audioStatus}}.  

پارامترهای زیر رو همراه این ایونت بفرستین (طبق تصویر پایین):  
- audio_percent: {{dlv – audioPercent}}  
- audio_url: {{dlv – audioUrl}}  
- audio_type: {{dlv – audioContentType}}  
 اگه می‌خوای پارامترهای دیگه ای که توی دیتالیرپوش میشن رو هم ترکینگ کنی، باید  Data Layer Variable هم برای اون پارامترها بسازی و تو تگ بگنجونیشون، مثلاً audioCurrentTime یا audioContentType.  
برای تریگر این تگ هم، باید تریگر custom event که بالا ساختیم رو اضافه کنی. اسم ایونت رو بذار "GA4 event – spotify player" و سیو کن.  

برای مطمئن شدن از درست کار کردن تگ و تریگرتون، روی دکمه Preview بزن. پلیر اسپاتیفای رو تو سایتت پیدا کن و یه آهنگ یا پادکست رو از اول تا آخر گوش کن تا مطمئن بشی هر ایونت درست فایر میشه.  
وقتی آهنگ رو استارت می‌کنی، ایونت audio_playback_started فایر باید بشه. یه کم آهنگ رو پخش کن و چک کن که ایونت audio_progress رو می‌بینی یا نه، و وقتی به آخر آهنگ می‌رسی، ایونت audio_playback_complete باید فایر بشه.  
رو هر تگ کلیک کن تا مطمئن شی ولیوی پارامترها همون چیزی که انتظار داری هستن یا نه. 

 

تا اینجا سمت ارسال تگ رو چک کردیم. برای چک اینکه GA4 این داده‌ها رو چطور دریافت می‌کنه، برو به Admin > Data display > DebugView. و دیباگ ویو رو چک کن. 

دیباگ ویو بهت اجازه می‌ده داده‌های ایونتی که به‌صورت لایو از سایت ارسال می‌شن رو ببینی. این ابزار برای تست و رفع اشکال تنظیمات ترکینگت عالیه.  
چک کن که هر سه تای این ایونت ها رو داشته باشی: audio_playback_started و  audio_progress و audio_playback_complete.

 با کلیک روی هرکدوم از ایونت‌ها، می‌تونی پارامترهایی که با هر ایونت ارسال شدن رو زیر تب Parameters ببینی.  

اگه همه‌چیز اوکی بود، کانتینر GTM رو پابلیش کن.
حالا میخوایم همین داده ها رو تو GA4 ببینیم:
اگه می‌خوای ریپورت خاصی با استفاده از پارامترهای audio_percent، audio_type و audio_url درست کنی باید اون پارام ها رو بعنوان کاستوم دایمنشن ثبت کنی. این کار خیلی ساده‌ست. تو GA4 برو به Admin > Data Display > Custom Dimensions. و روی "Create Custom Dimension" کلیک کن.  

سه تا مورد هست که باید در نظر بگیری (برای هر کدوم از پارامترها باید این کارو بکنی):  
- اسم دایمنشن همون اسمیه که تو گزارش‌های GA4 نمایش داده می‌شه، مثلاً Audio Percent، Audio Type و Audio URL  
- ایونت پارامتر باید دقیقا همون چیزی باشه که تو گوگل تگ منیجر باشه، مثلاً audio_percent، audio_type و audio_url  

- اسکوپ رو روی "Event" ست کن. به این صورت

یادت باشه داده های این پارام ها از این لحظه به بعد جمع آوری میشن، پس مطمئن شو درست بعد از انتشار کانتینرت میای و این کارو می‌کنی تا وقتی داده‌ها ارسال میشن، تو GA4 درست پردازش و نمایش داده باشن.  برای دیدن داده‌های این ایونت ها هم، یه Exploration تو GA4 بساز. برو به Explore تو نوار کناری سمت چپ و "Blank" رو برای ایجاد یه ریپورت جدید انتخاب کن.  
برای ساختن ریپورت، این دیمنشن‌ها، متریک‌ها و فیلترها رو انتخاب کن (رو علامت بعلاوه کنار هر المان کلیک کن):  
دیمنشن‌ها: Event name، Audio Percent، Audio URL و Audio Type  

متریک‌ها: Event count و Total users

 فیلتر: Event name begins with “audio

ما دو تا تب برای این ریپورت می‌سازیم. تب اول فقط یه نمای کلی از تعدادسه تا ایونت بهمون میده، و تب دوم همه پارامترها رو هم شامل می‌شه.  

برای تب اول، دوبار روی Event Name و هر دو متریک Event Count و Total Users کلیک کن تا به گزارش اضافه بشن. بعدش این فیلتر رو اعمال کن


حالا از همین تب یه "Duplicate" کن تا لازم نباشه دوباره دیمنشن‌ها، متریک‌ها و فیلتر رو اضافه کنی.  
تو تب دوم، رو هر کدوم از پارامترهای ایونت دوبار کلیک کن(یعنی ، Audio Percent، Audio URL و Audio Type) تا به گزارش اضافه بشن.  
یادت باشه می‌تونی هر ریپورتی که به کارت میاد رو بسازی و هر پارامتر ایونتی که به‌عنوان دیمنشن کاستوم اضافه کردی رو هم اضافه کنی. تو مثال بعدی، می‌خوام بدونم کدوم URL‌ها بیشترین شروع و کامل رو داشتن. بعبارت ساده تر میخوام بدونم کدوم فایلا از صفر تا صد شنیده شدن.
برای این کار، فیلترها رو تغییر میدم:

فیلتر اول  - Event name exactly matches “audio_progress” 

 این ایونت audio_progress رو انتخاب کردم چون میخواستم ببینم کاربرا تا چه حدی به هر آهنگ و پادکست گوش میدن.

فیلتر دوم:- Audio Percent matches regex “100|0”

 تا فقط ایونت‌هایی که کاربر آهنگ رو از صفر تا صد گوش داده رو ببینیم.  
برای دیمنشن‌های row، فقط Audio URL رو می‌خوایم و برای دیمنشن‌های ستون، Audio Percent رو اضافه کن. و از متریک‌ها، فقط Event count رو نگه دار.  
این گزارش سه تا ستون داره: یکی برای وقتی درصد گوش دادن صفره، یکی برای وقتی ۱۰۰ هست، و جمع کل برای هر ردیف که جمع ایونت‌ها از هر دو ستون رو نشون می‌ده.  

حالا می‌تونی ببینی پخش یه آهنگ یا پادکست چندبار شروع می‌شه و چندبار تا آخر پخش شده، و آهنگ ها و اپیزودهایی که بیشترین نرخ پخش کامل رو داشتن رو ببینی.  
 یه نکته مهم  
ایونت‌های اسپاتیفای که ما ترکینگشون رو انجام دادیم، اسم نویسنده، هنرمند، اپیزود یا آهنگ رو شامل نمیشن، پس گزارش‌ها اسم‌های کاربرپسند ندارن. ولی اگه کاربر GA4 لینک Audio URL رو کپی و باز کنه، آهنگ یا اپیزود باز می‌شه. پس از نظر فنی، هنوز می‌تونی بدونی کاربرا چه آهنگا یا اپیزودهایی رو گوش می‌دن.  

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

Spotify20recipe.txt
فایل رو دانلود کن. از تب admin روی import container بزن. و تنظیمات رو دقیقا مثل تصویر بچین. 

روی دکمه choose container file بزن و فایلی که دانلود کردی رو انتخاب کن. 

از بین دکمه های زیر choose workspace گزینه existing رو انتخاب کنین و توی پنجره ای که باز میشه روی default workspace ست کنین.

حالا import option رو در حالت merge بزارین که تگ و تریگرهای قبلیتون پاک نشن. 

در نهایت روی دکمه add to workspace بزنین. 

 حالا تنها کاری که باید انجام بدین اضافه کردن Measurement ID به تگ ایونت و پابلیش کردن تگ ها هست.

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