تتبُّع الإحالات الناجحة

التنفيذ

ملخّص

هناك ثلاثة أجزاء لتنفيذ تتبع الإحالات الناجحة:

  • جمع rwg_token وmerchant_id من الصفحة المقصودة أو نقطة الدخول إلى التطبيق
  • والاستمرار في عرض rwg_token وmerchant_id ضمن فترة الإحالة المناسبة.
  • عليك المقارنة بين merchant_id وmerchant_id الدائمة في وقت الإحالة الناجحة (اكتمل الحجز).
  • إرسال حدث إحالة ناجحة في وقت الإحالة الناجحة (اكتمل الحجز).

لا يتطلّب تنفيذ تتبُّع الإحالات الناجحة هذا استخدام "إحصاءات Google" أو أي رمز JavaScript آخر تابع لجهة خارجية.

قبل بدء العمل على تنفيذ ميزة تتبُّع الإحالات الناجحة، عليك تحديد ما إذا كنت تنوي تتبُّع الإحالات الناجحة على مستوى الجهاز أو مستوى المستخدم:

  • ويشمل مستوى الجهاز استخدام ملفات تعريف ارتباط المتصفّح أو مساحة التخزين المحلية أو مساحة التخزين المحلية للتطبيق أو أي طريقة أخرى يمكنها الاحتفاظ بالرمز المميّز لفترة تحديد المصدر التي تبلغ 30 يومًا. بما أنّه سيتم تخزين الرمز المميّز محليًا على جهاز المستخدم، قد لا يتم تحديد مصدر حدث الإحالة الناجحة بشكل صحيح إذا غيّر الجهاز الذي يستخدمه، أو محا مساحة التخزين المحلية أو ملفات تعريف الارتباط، أو كان يستخدِم وضع التصفّح بخصوصية تامّة أو وضع التصفّح المتخفي. عند استخدام ميزة تتبُّع الإحالات الناجحة على مستوى الجهاز، يجب إعادة تنفيذ هذه الميزة على كل واجهة متوافقة (بما في ذلك الأجهزة الجوّالة).
  • ويتضمن مستوى المستخدم الاحتفاظ به في قاعدة بيانات التطبيق أو من خلال نظام تحليلات من جانب الخادم أو أنظمة أخرى من جانب الخادم. بما أنّه سيتم تخزين الرمز المميّز من جهة الخادم، إذا غيّر المستخدم الجهاز الذي يستخدمه، أو محو مساحة التخزين المحلية أو ملفات تعريف الارتباط، أو كان يستخدم وضع تصفُّح خاصًا أو وضع التصفّح المتخفي، ستتم إحالة حدث الإحالة الناجحة بعد تسجيل دخول المستخدم مرة أخرى. عند استخدام ميزة تتبُّع الإحالات الناجحة على مستوى المستخدم واعتمادًا على بنية نظامك، قد تتمكّن من تنفيذ هذه الميزة مرة واحدة من جهة الخادم وإعادة استخدامها على جميع مساحات العرض المتوافقة.

جارٍ جمع rwg_token

في كل مرة يعرض فيها Google مَعلمة action_link قدّمتها من خلال "الخلاصات"، يتم تعديل عنوان URL هذا ليتضمن معلَمة طلب بحث فريدة: rwg_token. إنّ القيمة rwg_token هي سلسلة مشفّرة تحتوي على بعض البيانات الوصفية حول الرابط الذي نقر عليه المستخدم، ولكن ما مِن بيانات خاصة به. عليك تخزين هذا الرمز المميّز وإعادته كجزء من حدث الإحالة الناجحة.

على كل صفحة مقصودة أو نقطة إدخال للتطبيق، عليك تحليل القيمة المحدّدة لمعلَمة طلب البحث "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

في حال تنفيذ منطق تتبُّع الإحالات الناجحة في الواجهة الأمامية على الصفحة المقصودة، يجب تنفيذ نص برمجي مخصّص من شأنه العثور على علامة merchant_id والتقاطها. وعادةً ما تكون السمة merchant_id متوفّرة على الصفحة المقصودة أو في عنوان URL لتتمكّن من الوصول إليها من هناك. إذا لم يكن الأمر كذلك، يجب أن تجد طريقة لعرضه في مكان ما بحيث يكون قابلاً للتمكين مما قد يتضمن تغييرات في الخلفية.

إذا نفذت منطق تتبُّع الإحالات الناجحة في الخلفية، قد يظهر merchant_id إلى جانب البيانات التي تطلب من نظامك الداخلي إنشاء صفحة الواجهة الأمامية.

يجب أن تكون قيمة 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" ، يجب إرسال طلب 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 يجب استخدام هذه القيمة عندما يكمل العميل معاملة من خلال الكيان الأصلي (التاجر).

في كلّ من بيئتَي وضع الحماية والإنتاج، عليك تقديم rwg_token صالح عند إرسال حدث إحالة ناجحة. لأغراض الاختبار، استخدم الرمز المميز التجريبي التالي في كلتا البيئتين حتى يتم التشغيل:

AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ==

إليك مثالاً كاملاً على تتبُّع الإحالات الناجحة على مستوى الجهاز (باستخدام ملف تعريف ارتباط على جهاز المستخدِم) في JavaScript لكيفية إجراء طلب النشر هذا:

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 أن يتم إرسال أحداث الإحالات الناجحة من جميع مساحات العرض التي يمكن أن يصل إليها المستخدم من رابط إجراء مستند إلى المكان. بما في ذلك:

  • تطبيقات أجهزة الكمبيوتر المكتبي أو الأجهزة الجوّالة
  • تطبيقات الأجهزة الجوّالة، إما من خلال رابط لصفحة في التطبيق أو نية مسجّلة لنطاقك في التطبيق

إذا تم تخزين الرمز المميّز على مستوى المستخدم (راجع الاحتفاظ بالرمز المميّز)، من المتوقّع أنّك تقدّم نموذج تحديد المصدر من عدة أجهزة. أي أنّ المستخدم الذي يتتبّع رابط إجراء من جهاز كمبيوتر مكتبي ثم يُكمل المعاملة على الجهاز الجوّال (باستخدام حساب المستخدم نفسه)، عليه بدء حدث إحالة ناجحة.

إذا تم تخزين الرمز المميّز حصريًا على مستوى الجهاز، مثل ملفات تعريف ارتباط المتصفّح، لا يُتوقع منك تحديد المصدر على جميع الأجهزة. في هذه الحالة، سيكون لكل جهاز رمز مميّز منفصل سيظلّ محفوظة إذا اتّبع المستخدم رابط إجراء على ذلك الجهاز، ويتّبع كل جهاز قواعد تحديد المصدر بشكل منفصل.