پیادهسازی
خلاصه
سه بخش برای پیادهسازی ردیابی تبدیل وجود دارد:
- جمعآوری
rwg_tokenاز صفحه فرود/نقطه ورود برنامه. - حفظ
rwg_tokenبرای پنجره انتساب مناسب - ارسال رویداد تبدیل در هنگام پرداخت
این پیادهسازی ردیابی تبدیل نیازی به استفاده از گوگل آنالیتیکس یا هیچ جاوا اسکریپت شخص ثالث دیگری ندارد.
قبل از شروع کار بر روی پیادهسازی ردیابی تبدیل، باید تصمیم بگیرید که آیا میخواهید تبدیلها را در سطح دستگاه یا سطح کاربر پیگیری کنید:
- سطح دستگاه شامل استفاده از کوکیهای مرورگر، فضای ذخیرهسازی محلی، فضای ذخیرهسازی محلی برنامه یا هر روش دیگری است که میتواند توکن را برای مدت ۳۰ روز در پنجره تخصیص حفظ کند. از آنجا که توکن به صورت محلی در دستگاه کاربر ذخیره میشود، اگر کاربر دستگاه مورد استفاده خود را تغییر دهد، فضای ذخیرهسازی/کوکیهای محلی خود را پاک کند یا از حالت مرور خصوصی یا ناشناس استفاده کند، ممکن است رویداد تبدیل به درستی تخصیص داده نشود. هنگام استفاده از ردیابی تبدیل در سطح دستگاه، باید این مورد را در تمام سطوح پشتیبانی شده (از جمله موبایل) دوباره پیادهسازی کنید.
- سطح کاربر شامل ذخیره آن در پایگاه داده برنامه شما، از طریق یک سیستم تحلیلی سمت سرور یا سایر سیستمهای سمت سرور است. از آنجا که توکن در سمت سرور ذخیره میشود، اگر کاربر دستگاه مورد استفاده خود را تغییر دهد، فضای ذخیرهسازی/کوکیهای محلی خود را پاک کند، یا از حالت مرور خصوصی یا ناشناس استفاده کند، رویداد تبدیل همچنان پس از ورود مجدد کاربر به سیستم، به آن نسبت داده میشود. هنگام استفاده از ردیابی تبدیل در سطح کاربر، بسته به معماری سیستم شما، ممکن است بتوانید این را یک بار در سمت سرور خود پیادهسازی کنید و آن را در تمام سطوح پشتیبانی شده دوباره استفاده کنید.
جمعآوری rwg_token
هر بار که گوگل یک action_link که شما از طریق Feeds ارائه کردهاید را مشاهده میکند، آن URL اصلاح میشود تا یک پارامتر پرسوجوی منحصر به فرد را شامل شود: rwg_token . مقدار rwg_token یک رشته کدگذاری شده است که شامل برخی از فرادادهها در مورد لینکی است که کاربر روی آن کلیک کرده است. شما این توکن را ذخیره میکنید و آن را به عنوان بخشی از رویداد تبدیل، ارسال میکنید.
در هر نقطه ورود به صفحه فرود/اپلیکیشن، باید مقدار تعیینشده برای پارامتر کوئری rwg_token را تجزیه و تحلیل کرده و آن را ذخیره کنید. الزامات ذخیرهسازی این پارامتر در مرحله « پایدارسازی rwg_token شرح داده شده است.
مثالی برای نحوه تجزیه این توکن برای ردیابی در سطح دستگاه از طریق مرورگر در زیر آمده است. به عنوان یک روش جایگزین، میتوانید این توکن را هنگام پاسخ به درخواست، در سمت سرور جمعآوری کنید:
<script> var query = location.search.substring(1); var params = query.split('&'); var rwgToken = undefined; for (var i = 0; i < params.length; ++i) { var pair = params[i].split('='); if (pair[0] == 'rwg_token') { rwgToken = decodeURIComponent(pair[1]); break; } } </script>
پایدارسازی rwg_token
شما ملزم به حفظ پارامتر URL rwg_token خواهید بود که به تمام لینکهای عملیاتی ارائه شده توسط شما اضافه میشود و این کار به مدت 30 روز انجام خواهد شد. مقدار rwg_token باید ذخیره شده و بدون هیچ گونه ویرایشی بازگردانده شود. اگر توکنی از بازدید قبلی وجود داشته باشد، توکن قدیمی باید جایگزین شود و بازه زمانی 30 روزه برای ذخیرهسازی باید مجدداً تنظیم شود.
هنگام ذخیره توکن، میتوانید آن را در سطح دستگاه یا در سطح کاربر ذخیره کنید:
- سطح دستگاه شامل استفاده از کوکیهای مرورگر، حافظه محلی، حافظه محلی برنامه یا هر روش دیگری است که میتواند توکن را برای مدت 30 روز در پنجره تخصیص حفظ کند.
- سطح کاربر شامل ذخیره آن در پایگاه داده برنامه شما، از طریق یک سیستم تحلیلی سمت سرور یا سایر سیستمهای سمت سرور است.
در زیر مثالی از ردیابی تبدیل در سطح دستگاه آورده شده است که این توکن را از طریق یک کوکی شخص ثالث در یک مرورگر وب ذخیره میکند. این مثال فرض میکند که شما مقدار توکن را مانند مثال بالا به یک متغیر تبدیل کردهاید. برای استفاده از این مثال، باید "rootdomain" را به دامنه خود بهروزرسانی کنید.
<script> if (typeof rwg_token !== 'undefined') { document.cookie = "_rwg_token=" + rwg_token + ";max-age=2592000;domain=rootdomain.com;path=/"; } </script>
هنگام استفاده از ردیابی تبدیل در سطح کاربر، rwg_token باید روی سرور ذخیره شده و با کاربر مرتبط باشد.
ارسال دادههای تبدیل
وقتی کاربری تراکنشی را که به لینک Google Place Action مربوط میشود، تکمیل میکند، شما باید یک درخواست HTTP POST به نقطه پایانی تبدیل ارسال کنید. دو نقطه پایانی وجود دارد، یکی برای محیط عملیاتی و دیگری برای محیط سندباکس.
- تولید:
https://www.google.com/maps/conversion/collect - سندباکس:
https://www.google.com/maps/conversion/debug/collect
بدنه پست باید یک شیء کدگذاری شده با json و با فرمت زیر باشد:
{
'conversion_partner_id': partnerId,
'rwg_token': <rwg_token_val>
} در هر دو محیط sandbox و production، هنگام ارسال رویداد تبدیل، از شما خواسته میشود که یک rwg_token معتبر ارائه دهید. برای اهداف آزمایشی در محیط sandbox، میتوانید از توکن آزمایشی زیر استفاده کنید.
AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ==
یک مثال کامل از ردیابی تبدیل در سطح دستگاه (با استفاده از کوکی روی دستگاه کاربر) در جاوا اسکریپت که نحوهی ایجاد این درخواست پست را نشان میدهد، در زیر آمده است:
const partnerId = XXXXXXXXXX; const endpoint = `https://www.google.com/maps/conversion/collect`; const rwgTokenCookie = document.cookie .split('; ') .find(row => row.startsWith('_rwg_token=')); if (typeof rwgTokenCookie !== 'undefined') { const rwgTokenVal = rwgTokenCookie.split('=')[1]; fetch(endpoint, { method: "POST", body: JSON.stringify({ conversion_partner_id: partnerId, rwg_token: rwgTokenVal }) }); }
هنگام استفاده از ردیابی تبدیل در سطح کاربر، باید توکنی را که با کاربر مرتبط است (صرف نظر از سطحی که روی آن قرار دارد) از مکانیزم ذخیرهسازی سمت سرور خود بازیابی کنید و توکن را با استفاده از همان نقاط پایانی تولید یا سندباکس ارسال کنید.
الزامات انتساب تبدیل
استاندارد مورد نیاز گوگل برای انتساب تبدیل، یک بازه زمانی ۳۰ روزه برای هرگونه تعامل با لینک مکان، در هر فروشگاهی است.
این پنجرهی انتساب به این معنی است که ما انتظار داریم یک رویداد تبدیل در هر یک از سناریوهای زیر ارسال شود:
- کاربر لینک مربوط به اقدام به ثبت سفارش را دنبال میکند و در همان جلسه، سفارشی ثبت میکند.
- کاربر لینک مربوط به ثبت سفارش را دنبال میکند و سپس در بازه زمانی ۳۰ روزه، از کانال دیگری برای ثبت سفارش برمیگردد.
- کاربر یک لینک مربوط به اقدام به ثبت سفارش را دنبال میکند و سپس سفارشی را در فروشگاه دیگری ثبت میکند، چه در همان جلسه یا در جلسهای متفاوت در یک بازه زمانی 30 روزه.
علاوه بر این، ما انتظار داریم رویدادهای تبدیل از تمام سطوحی که کاربر میتواند از طریق یک لینک اقدام مکانی به آنها وارد شود، ارسال شوند. از جمله:
- برنامههای وب دسکتاپ یا موبایل
- برنامههای تلفن همراه، چه از طریق یک لینک عمیق برنامه یا یک هدف برنامه ثبت شده برای دامنه شما
اگر توکن در سطح کاربر ذخیره شده باشد (به بخش نگهداری توکن مراجعه کنید)، انتظار میرود که شما قابلیت انتساب بین دستگاهی را فراهم کنید. یعنی، کاربری که یک لینک اکشن را از دسکتاپ دنبال میکند و سپس تراکنش را در موبایل (با استفاده از همان حساب کاربری) تکمیل میکند، باید یک رویداد تبدیل را فعال کند.
اگر توکن منحصراً در سطح دستگاه ذخیره شده باشد، مانند کوکیهای مرورگر، انتظار نمیرود که شما انتساب بین دستگاهی را ارائه دهید. در این حالت، اگر کاربر یک لینک عملیاتی را در آن دستگاه دنبال کرده باشد، هر دستگاه یک توکن جداگانه خواهد داشت و هر دستگاه به طور جداگانه از قوانین انتساب پیروی میکند.