پیاده سازی
خلاصه
سه بخش برای اجرای ردیابی تبدیل وجود دارد:
- جمع آوری
rwg_token
وmerchant_id
از صفحه فرود / نقطه ورود برنامه. - باقی ماندن
rwg_token
وmerchant_id
برای پنجره انتساب مناسب. -
merchant_id
وmerchant_id
موجود را در زمان تبدیل مقایسه کنید (رزرو تکمیل شد). - ارسال یک رویداد تبدیل در زمان تبدیل (رزرو تکمیل شد).
این اجرای ردیابی تبدیل نیازی به استفاده از Google Analytics یا جاوا اسکریپت شخص ثالث دیگر ندارد.
قبل از شروع کار بر روی اجرای ردیابی تبدیل خود، باید تصمیم بگیرید که آیا می خواهید تبدیل ها را در سطح دستگاه یا کاربر ردیابی کنید:
- سطح دستگاه شامل استفاده از کوکیهای مرورگر، فضای ذخیرهسازی محلی، فضای ذخیرهسازی محلی برنامه یا هر روش دیگری است که میتواند رمز را برای پنجره اسناد 30 روزه حفظ کند. از آنجایی که رمز به صورت محلی در دستگاه کاربر ذخیره میشود، اگر کاربر دستگاهی را که استفاده میکند تغییر دهد، فضای ذخیرهسازی محلی یا کوکیهای خود را پاک کند یا از یک مرور خصوصی یا حالت ناشناس استفاده کند، رویداد تبدیل ممکن است به درستی نسبت داده نشود. هنگام استفاده از ردیابی تبدیل سطح دستگاه، باید آن را مجدداً در هر سطح پشتیبانی شده (از جمله تلفن همراه) اجرا کنید.
- سطح کاربر شامل تداوم آن در پایگاه داده برنامه شما، از طریق یک سیستم تجزیه و تحلیل سمت سرور یا سایر سیستم های سمت سرور است. از آنجایی که رمز در سمت سرور ذخیره میشود، اگر کاربر دستگاهی را که استفاده میکند تغییر دهد، فضای ذخیرهسازی محلی یا کوکیهای خود را پاک کند، یا از یک مرور خصوصی یا حالت ناشناس استفاده میکند، پس از ورود مجدد کاربر به سیستم، رویداد تبدیل همچنان نسبت داده میشود. هنگام استفاده از ردیابی تبدیل سطح کاربر، بسته به معماری سیستم خود، ممکن است بتوانید آن را یک بار در سمت سرور خود پیاده سازی کنید و از آن در تمام سطوح پشتیبانی شده استفاده مجدد کنید.
جمع آوری rwg_token
هر بار که Google یک action_link را که از طریق فیدها ارائه کردهاید نشان میدهد، آن URL به گونهای اصلاح میشود که یک پارامتر جستجوی منحصربهفرد را شامل شود: rwg_token
. مقدار rwg_token
یک رشته رمزگذاری شده است که حاوی برخی فراداده در مورد پیوندی است که کاربر روی آن کلیک کرده است اما داده های کاربر وجود ندارد . شما باید این نشانه را ذخیره کنید و آن را به عنوان بخشی از رویداد تبدیل پس دهید.
در هر صفحه فرود / نقطه ورود برنامه باید مقدار تنظیم شده برای پارامتر query rwg_token
را تجزیه و ذخیره کنید. الزامات ذخیره سازی این پارامتر در مرحله تداوم rwg_token
توضیح داده شده است.
مثالی برای تجزیه این نشانه برای ردیابی سطح دستگاه از طریق مرورگر در زیر آمده است. از طرف دیگر، می توانید هنگام پاسخ دادن به درخواست، این نشانه را در سمت سرور جمع آوری کنید:
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;
}
}
جمع آوری merchant_id
اگر منطق ردیابی تبدیل را در frontend، در صفحه فرود پیاده سازی کنید، باید یک اسکریپت سفارشی را پیاده سازی کنید که merchant_id
پیدا و ضبط کند. معمولاً، merchant_id
ممکن است قبلاً در صفحه فرود یا در URL وجود داشته باشد، بنابراین می توانید آن را از آنجا ضبط کنید. اگر اینطور نیست، باید راهی برای افشای آن در جایی پیدا کنید تا قابل ضبط باشد که احتمالاً به معنای تغییرات باطنی است.
اگر منطق ردیابی تبدیل را در باطن پیادهسازی کنید، ممکن است merchant_id
در کنار دادههایی بیابید که سیستم داخلی شما را برای ایجاد صفحه frontend جستجو میکند.
این merchant_id
باید همان چیزی باشد که در فید خود با Google به اشتراک گذاشتهاید.
ادامه rwg_token
و merchant_id
از شما خواسته می شود که پارامتر URL rwg_token
را که به تمام پیوندهای اقدام ارائه شده توسط شما الحاق می شود، در مجموع 30 روز ادامه دهید. مقدار rwg_token
باید بدون هیچ گونه ویرایشی ذخیره و برگردانده شود.
همراه با rwg_token
، باید merchant_id
مرتبط با پیوند اکشن را ذخیره کنید.
اگر یک رمز موجود از بازدید قبلی وجود داشته باشد، rwg_token
و merchant_id
قبلی باید جایگزین شوند و پنجره 30 روزه برای ذخیره سازی باید بازنشانی شود.
هنگام ادامه جفت بالا، می توانید مقادیر را در سطح دستگاه یا در سطح کاربر ذخیره کنید:
- سطح دستگاه شامل استفاده از کوکیهای مرورگر، فضای ذخیرهسازی محلی، فضای ذخیرهسازی محلی برنامه یا هر روش دیگری است که میتواند رمز را برای پنجره اسناد 30 روزه حفظ کند.
- سطح کاربر شامل تداوم آن در پایگاه داده برنامه شما، از طریق یک سیستم تجزیه و تحلیل سمت سرور یا سایر سیستم های سمت سرور است.
در زیر نمونهای از ردیابی تبدیل سطح دستگاه است که این مقادیر را با استفاده از یک کوکی شخص اول در یک مرورگر وب ذخیره میکند. این مثال فرض می کند که شما مقدار توکن را به متغیری مانند مثال بالا تجزیه کرده اید. برای استفاده از این مثال، باید rootdomain.com
به دامنه خود به روز کنید.
if (typeof rwg_token !== 'undefined') {
document.cookie =
"_rwg_token=" + rwg_token + ";_merchant_id=" + merchantid + ";max-age=2592000;domain=rootdomain.com;path=/";
}
هنگام استفاده از ردیابی تبدیل سطح کاربر، rwg_token
+ merchant_id
باید در سرور ذخیره شده و با کاربر مرتبط شود.
ارسال داده های تبدیل
وقتی کاربر تراکنشی را انجام میدهد که به پیوند اقدام Google Place نسبت داده میشود، باید یک درخواست 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>,
"merchant_changed": 1|2
}
مثال ( تاجر بدون تغییر با کد تست برای شریک 20123456 ):
{
"conversion_partner_id": 20123456,
"rwg_token": "AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ==",
"merchant_changed": 2
}
مقدار merchant_changed برای تعیین اینکه آیا تاجر از تاجر تغییر مسیر اولیه تغییر کرده است یا خیر استفاده می شود. دو مقدار وجود دارد که می توان آنها را ارسال کرد
تاجر تغییر ارزش | مورد نیاز |
---|---|
1 | این مقدار باید زمانی استفاده شود که کاربر وبسایت تاجر اصلی را ترک کرده و از طریق پلتفرم شما با یک تاجر دیگر خرید انجام داده است. |
2 | این مقدار باید زمانی استفاده شود که مشتری یک معامله را از طریق نهاد اصلی (بازرگان) انجام دهد. |
در هر دو محیط sandbox و تولید، هنگام ارسال یک رویداد تبدیل، باید یک rwg_token
معتبر ارائه دهید. برای اهداف آزمایشی، تا زمان راهاندازی، از کد تست زیر در هر دو محیط استفاده کنید:
AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ==
برای آزمایش در Sandbox، باید پارامتر URL زیر را به صورت دستی به پیوندهای Sandbox خود اضافه کنید:
rwg_token=AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ%3D%3D
یک مثال کامل از ردیابی تبدیل سطح دستگاه (با استفاده از یک کوکی در دستگاه کاربر) در جاوا اسکریپت از نحوه ایجاد این درخواست پست در زیر آمده است:
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,
merchant_changed: merchantChanged
})
});
}
هنگام استفاده از ردیابی تبدیل سطح کاربر، باید توکن مرتبط با کاربر (بدون توجه به سطحی که روی آن قرار دارد) را از مکانیسم ذخیره سازی سمت سرور خود بازیابی کنید و توکن را با استفاده از همان نقاط پایانی تولید یا جعبه ایمنی ارسال کنید.
الزامات اسناد تبدیل
استاندارد مورد نیاز Google برای ارجاع تبدیل، یک پنجره اسناد 30 روزه برای هرگونه تعامل با پیوند مکان، در هر فروشگاهی است.
این پنجره تخصیص به این معنی است که Google انتظار دارد یک رویداد تبدیل در هر یک از سناریوهای زیر ارسال شود:
- یک کاربر یک پیوند اقدام مکان را دنبال می کند و برای یک تاجر در همان جلسه سفارش می دهد. (مقدار تغییر تاجر = 2 )
- کاربر یک پیوند اقدام مکان را دنبال می کند و سپس از کانال دیگری در پنجره 30 روزه باز می گردد تا برای همان تاجر سفارش دهد. (مقدار تغییر تاجر = 2 )
- کاربر یک پیوند اقدام مکان را دنبال می کند و سپس در فروشگاه دیگری سفارش می دهد، چه در همان جلسه یا یک جلسه دیگر در یک پنجره 30 روزه. ( ارزش تغییر تاجر = 1 )
علاوه بر این، Google انتظار دارد رویدادهای تبدیل از تمام سطوحی که کاربر میتواند از پیوند اقدام مکان به آنها فرود بیاید ارسال شود. شامل:
- برنامه های وب دسکتاپ یا موبایل
- برنامههای تلفن همراه، یا از طریق پیوند عمیق برنامه یا یک برنامه ثبتشده برای دامنه شما
اگر نشانه در سطح کاربر ذخیره شده باشد (به ادامه نشانه مراجعه کنید)، انتظار می رود که شما نسبت بین دستگاهی را ارائه دهید. یعنی کاربری که یک لینک اقدام را از دسکتاپ دنبال میکند و سپس تراکنش را در موبایل (با استفاده از همان حساب کاربری) انجام میدهد، باید یک رویداد تبدیل را راهاندازی کند.
اگر نشانه منحصراً در سطح دستگاه ذخیره میشود، مانند کوکیهای مرورگر، انتظار نمیرود که شما نسبت بین دستگاهی را ارائه دهید. در این حالت، اگر کاربر یک پیوند عملی را در آن دستگاه دنبال کرده باشد، هر دستگاه یک نشانه جداگانه باقی میماند و هر دستگاه به طور جداگانه قوانین انتساب را دنبال میکند.