تكامل تحليلات GTM
يمكنك ربط أي حاوية Google Tag Manager (GTM) بـ Wink عن طريق إدخال معرف حاوية GTM الخاص بها في بوابة Wink. بمجرد الربط، يتم تحميل الحاوية تلقائيًا لممتلكاتك وتقرأ أحداث الحجز الخاصة بـ Wink مباشرة — مما يغطي رحلة الضيف الكاملة من البحث حتى إتمام الحجز. حالة استخدام شائعة هي حاوية Sojern لإعادة الاستهداف والإعلانات، لكن أي حاوية GTM تعمل بنفس الطريقة.
ما الذي تحتاج إلى فعله
Section titled “ما الذي تحتاج إلى فعله”-
احصل على معرف حاوية GTM الخاص بك
احصل على معرف حاوية GTM (بصيغة
GTM-XXXXXXX). إذا كانت من شريك مثل Sojern، اطلب معرف حاوية GTM تحديدًا — فهو يختلف عن معرف البكسل أو الوسم. -
أدخله في بوابة Wink
سجّل الدخول إلى app.wink.travel، اختر حسابك، واذهب إلى تبويب التخصيصات. الصق معرف حاوية GTM في حقل GTM واحفظ. أصبح التكامل الآن نشطًا.
-
(اختياري) أضف معرف قياس GA4 + سر API للشراء من جانب الخادم
تعمل حاويات GTM بالكامل في متصفح الضيف، لذا قد يُفقد تسجيل الحجز المكتمل إذا أغلق الضيف التبويب أثناء إعادة التوجيه للدفع. إذا كانت حاويتك تحمل خاصية GA4 وتريد تسجيل الحجوزات المكتملة بشكل موثوق، أدخل أيضًا معرف القياس وسر بروتوكول القياس API الخاص بـ GA4 في قسم GTM. سترسل Wink بعد ذلك حدث
purchaseلتلك الخاصية من جانب الخادم، تمامًا كما هو موضح في دليل تكامل تحليلات GA4. اترك هذه الحقول فارغة إذا كنت تحتاج فقط لتتبع داخل المتصفح. -
أكد مع مزود الخدمة الخاص بك
إذا كانت الحاوية من شريك مثل Sojern، أخبر مدير حسابك أن التكامل نشط. يمكنهم التحقق من جانبهم أن الوسوم تعمل بشكل صحيح على
wink.travelلممتلكاتك وأن البيانات تتدفق إلى حسابك.
ما الذي تفعله Wink من جانبنا
Section titled “ما الذي تفعله Wink من جانبنا”لأجل الشفافية، إليك ما تقوم Wink بتكوينه لجعل هذا التكامل يعمل:
- يوجد حقل معرف حاوية GTM في تبويب التخصيصات في بوابة Wink الخاصة بك. عند إدخال معرف الحاوية، تتحقق Wink من الصيغة (
GTM-XXXXXXX) وتخزنه بأمان مقابل ممتلكاتك. - في كل صفحة تكون ممتلكاتك نشطة فيها على Wink، تُحقن الحاوية مباشرة في الصفحة — مشاركةً
window.dataLayerالخاص بـ Wink — بحيث يتم تحميلها جنبًا إلى جنب مع حاوية Wink الخاصة بدون اعتماد على أي إعداد إضافي. يحدث هذا تلقائيًا، دون عمل خاص لكل ممتلك. - يتم تحميل الحاوية بشكل غير متزامن، فلا تؤثر على أداء تحميل الصفحة لضيوفك.
- تعمل تتبعات Wink وحاويتك بالتوازي، وتقرأ من نفس
dataLayerالمشترك. كل حدث حجز تتبعه Wink متاح لحاويتك في نفس الوقت. - عندما لا تُعرض ممتلكاتك — مثلًا عندما يتصفح الضيف فندقًا مختلفًا على Wink — لا تُحمّل حاويتك، لذا تستقبل فقط البيانات المتعلقة بممتلكاتك.
- إذا زودت معرف قياس GA4 + سر API (الخطوة 3 أعلاه)، يُرسل حدث
purchaseللحجوزات المكتملة أيضًا من جانب الخادم عبر بروتوكول قياس GA4، بحيث يُسجل البيع حتى لو لم يعد الضيف إلى صفحة التأكيد.
مرجع DataLayer
Section titled “مرجع DataLayer”تدفع Wink أحداثًا متوافقة مع GA4 إلى dataLayer طوال رحلة الضيف. تقرأ حاوية GTM الخاصة بك من نفس dataLayer المشترك، لذا أي مشغل أو متغير تقوم بتكوينه يمكنه الوصول إلى كل الخصائص الموضحة أدناه.
كل حدث يتبع هيكل التجارة الإلكترونية المحسنة القياسي لـ GA4: سلسلة event على المستوى الأعلى وكائن ecommerce. قبل كل دفع، تمسح Wink حمولة التجارة الإلكترونية السابقة لمنع تسرب بيانات قديمة إلى المشغلات الجديدة.
أحداث رحلة الحجز
Section titled “أحداث رحلة الحجز”تُطلق هذه الأحداث تلقائيًا أثناء تنقل الضيف عبر مسار الحجز. قم بتكوين مشغلات GTM الخاصة بك كمشغلات حدث مخصص تطابق أسماء الأحداث أدناه.
| الخطوة | الحدث | متى يُطلق |
|---|---|---|
| 1 | view_item_list | تحميل شبكة أو قائمة مخزون الفنادق |
| 2 | view_item | عرض الضيف لصفحة ممتلك محددة |
| 3 | add_to_cart | إضافة الضيف لغرفة إلى عربة التسوق |
| 4 | begin_checkout | تحميل صفحة الدفع / الخروج |
| 5 | add_payment_info | اختيار الضيف لطريقة الدفع |
| 6 | login | توثيق الضيف عبر تسجيل دخول موحد |
| 7 | purchase | تأكيد الحجز |
| 8 | refund | إلغاء الحجز |
view_item_list
Section titled “view_item_list”يُطلق عند عرض شبكة أو قائمة مخزون الفنادق.
{ "event": "view_item_list", "ecommerce": { "item_list_id": "featured_hotels", "item_list_name": "Featured Hotels", "items": [ ] }}view_item
Section titled “view_item”يُطلق عند عرض الضيف لممتلك محدد.
{ "event": "view_item", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}add_to_cart
Section titled “add_to_cart”يُطلق عند إضافة الضيف لغرفة إلى العربة.
{ "event": "add_to_cart", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}begin_checkout
Section titled “begin_checkout”يُطلق عند تحميل صفحة الدفع / الخروج.
{ "event": "begin_checkout", "ecommerce": { "currency": "USD", "value": 299.00, "coupon": "SUMMER10", "items": [ ] }}coupon موجود فقط عند تطبيق رمز خصم.
add_payment_info
Section titled “add_payment_info”يُطلق عند اختيار أو تأكيد الضيف لطريقة الدفع.
{ "event": "add_payment_info", "ecommerce": { "currency": "USD", "value": 299.00, "coupon": "SUMMER10", "payment_type": "STRIPE", "items": [ ] }}payment_type يتم تعبئته من نوع مستحوذ الدفع. coupon موجود فقط عند تطبيق رمز خصم.
يُطلق عند توثيق الضيف عبر تسجيل دخول موحد.
{ "event": "login", "ecommerce": { "method": "IAM" }}purchase
Section titled “purchase”يُطلق عند تأكيد الحجز.
{ "event": "purchase", "ecommerce": { "currency": "USD", "transaction_id": "bc-a1b2c3d4", "value": 299.00, "coupon": "SUMMER10", "shipping": 0.00, "tax": 0.00, "items": [ { "item_id": "rr-xyz789", "item_name": "Deluxe Ocean Suite", "item_brand": "Grand Resort", "item_category": "GUEST_ROOM", "price": 299.00, "quantity": 1, "property_id": "prop-abc123", "property_name": "Grand Resort Maldives", "property_brand": "Grand Collection", "property_chain": "Luxury Hotels International", "city_name": "Malé", "country_code": "MV", "start_date": "2026-06-01", "end_date": "2026-06-05", "num_adults": 2, "num_children": 0, "cancellation_policy": "Refundable", "rate_plan_id": "rp-summer2026", "room_rate_id": "rr-xyz789", "room_rate_name": "Summer Escape — Bed & Breakfast", "num_perks": 2, "room_location": "Overwater", "room_view": "Ocean", "room_classification": "Suite" } ] }}transaction_id هو معرف عقد الحجز الفريد. coupon وshipping وtax موجودة فقط عند الاقتضاء.
refund
Section titled “refund”يُطلق عند إلغاء الحجز.
{ "event": "refund", "ecommerce": { "currency": "USD", "transaction_id": "bc-a1b2c3d4", "value": 299.00, "coupon": "SUMMER10", "shipping": 0.00, "tax": 0.00, "items": [ ] }}transaction_id يطابق حدث purchase لنفس الحجز. coupon وshipping وtax موجودة فقط عند الاقتضاء.
خصائص العنصر
Section titled “خصائص العنصر”جميع الأحداث التي تتضمن مصفوفة items تشترك في نفس مخطط العنصر. كل خاصية اختيارية ما لم تُذكر كـ “مطلوبة”.
حقول GA4 القياسية
Section titled “حقول GA4 القياسية”هذه الحقول مفهومة أصلاً من GA4 وتظهر في تقارير التجارة الإلكترونية القياسية بدون أي إعداد إضافي.
| الخاصية | النوع | مطلوب | الوصف |
|---|---|---|---|
item_id | نص | نعم | معرف فريد للغرفة أو المنتج |
item_name | نص | — | اسم الغرفة أو المنتج |
affiliation | نص | — | اسم التابع أو البائع |
coupon | نص | — | رمز القسيمة المطبق على العنصر |
currency | نص | — | رمز العملة ISO 4217 (مثلاً USD) |
creative_name | نص | — | اسم الإبداع المستخدم في الترويج |
creative_slot | نص | — | موقع الإبداع الترويجي |
discount | رقم | — | مبلغ الخصم المطبق |
index | رقم | — | الموقع في القائمة (مبني على 1) |
item_brand | نص | — | اسم الفندق أو العلامة التجارية |
item_category | نص | — | نوع المنتج — مثل GUEST_ROOM، ACTIVITY، ATTRACTION، MEETING_ROOM، RESTAURANT، SPA |
item_list_id | نص | — | معرف القائمة التي ينتمي إليها العنصر |
item_list_name | نص | — | اسم العرض للقائمة |
location_id | نص | — | إحداثيات جغرافية للممتلك |
price | رقم | — | سعر الوحدة |
promotion_id | نص | — | معرف الترويج |
promotion_name | نص | — | اسم العرض الترويجي |
quantity | رقم | — | الكمية (الافتراضي 1) |
معلمات مخصصة على مستوى العنصر
Section titled “معلمات مخصصة على مستوى العنصر”تحمل هذه المعلمات سياق الحجز الخاص بـ Wink. لا تظهر تلقائيًا في تقارير GA4 — يجب تسجيل كل منها كبُعد مخصص على مستوى العنصر في خاصية GA4 الخاصة بك قبل أن تظهر في الاستكشافات أو التقارير القياسية. راجع الأبعاد المخصصة في GA4 أدناه لتعليمات الإعداد.
| الخاصية | النوع | الوصف |
|---|---|---|
property_id | نص | معرف ممتلك Wink |
property_name | نص | اسم العرض للممتلك |
property_brand | نص | العلامة التجارية التي ينتمي إليها الممتلك |
property_chain | نص | السلسلة التي ينتمي إليها الممتلك |
property_url_name | نص | اسم URL صديق للممتلك |
city_name | نص | المدينة التي يقع فيها الممتلك |
country_code | نص | رمز البلد ISO 3166-1 alpha-2 |
start_date | نص | تاريخ الوصول بصيغة YYYY-MM-DD |
end_date | نص | تاريخ المغادرة بصيغة YYYY-MM-DD |
num_adults | رقم | عدد البالغين في الحجز |
num_children | رقم | عدد الأطفال في الحجز |
cancellation_policy | نص | أحد: Refundable، Non-Refundable، Refundable-With-Restrictions، Non-Refundable-With-Restrictions |
rate_plan_id | نص | معرف خطة السعر |
room_rate_id | نص | معرف سعر الغرفة المحدد |
room_rate_name | نص | اسم عرض سعر الغرفة |
num_perks | رقم | عدد المزايا المشمولة مع السعر |
room_location | نص | وصف موقع الغرفة (مثلاً Overwater، Garden) |
room_view | نص | وصف منظر الغرفة (مثلاً Ocean، City) |
room_classification | نص | تصنيف الغرفة أو الدرجة (مثلاً Suite، Standard) |
bed_type | نص | تكوين السرير للغرفة (مثلاً King، Twin) |
الأبعاد المخصصة في GA4
Section titled “الأبعاد المخصصة في GA4”يتجاهل GA4 معلمات العنصر المخصصة في التقارير حتى تقوم بتسجيلها صراحة كبُعد مخصص على مستوى العنصر. تحتاج فقط لتسجيل المعلمات التي تنوي استخدامها في التقارير — لا تحتاج لتسجيل جميع العشرين.
-
افتح التعريفات المخصصة
في GA4، اذهب إلى الإدارة (أيقونة الترس أسفل اليسار) → اختر خاصيتك → عرض البيانات → التعريفات المخصصة.
-
إنشاء بُعد مخصص جديد
انقر على إنشاء أبعاد مخصصة.
-
املأ تفاصيل البُعد
- اسم البُعد — التسمية المقروءة التي تظهر في تقارير GA4 (انظر الجدول أدناه)
- النطاق — اختر عنصر
- معامل الحدث — اسم المعامل بالضبط كما يظهر في dataLayer (انظر الجدول أدناه)
- الوصف — اختياري لكن يُنصح به
-
احفظ وكرر
انقر حفظ، ثم كرر لكل معامل تريد تتبعه.
استخدم الجدول التالي كمرجع عند إنشاء الأبعاد المخصصة. يجب أن يطابق معامل الحدث الاسم تمامًا — GA4 حساس لحالة الأحرف.
| اسم البُعد | معامل الحدث | النوع |
|---|---|---|
| معرف الممتلك | property_id | نص |
| اسم الممتلك | property_name | نص |
| علامة الممتلك | property_brand | نص |
| سلسلة الممتلك | property_chain | نص |
| اسم URL للممتلك | property_url_name | نص |
| اسم المدينة | city_name | نص |
| رمز البلد | country_code | نص |
| تاريخ الوصول | start_date | نص |
| تاريخ المغادرة | end_date | نص |
| عدد البالغين | num_adults | رقم |
| عدد الأطفال | num_children | رقم |
| سياسة الإلغاء | cancellation_policy | نص |
| معرف خطة السعر | rate_plan_id | نص |
| معرف سعر الغرفة | room_rate_id | نص |
| اسم سعر الغرفة | room_rate_name | نص |
| عدد المزايا | num_perks | رقم |
| موقع الغرفة | room_location | نص |
| منظر الغرفة | room_view | نص |
| تصنيف الغرفة | room_classification | نص |
| نوع السرير | bed_type | نص |
أحداث إضافية متاحة
Section titled “أحداث إضافية متاحة”الأحداث التالية متاحة في dataLayer الخاص بـ Wink لكنها ليست جزءًا من مسار الحجز القياسي. قد تُطلق بواسطة تفاعلات أخرى على المنصة.
add_to_wishlist
Section titled “add_to_wishlist”{ "event": "add_to_wishlist", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}remove_from_cart
Section titled “remove_from_cart”{ "event": "remove_from_cart", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}select_item
Section titled “select_item”{ "event": "select_item", "ecommerce": { "item_list_id": "featured_hotels", "item_list_name": "Featured Hotels", "items": [ ] }}view_cart
Section titled “view_cart”{ "event": "view_cart"}لا تتضمن حمولة ecommerce مع هذا الحدث.
view_promotion
Section titled “view_promotion”{ "event": "view_promotion", "ecommerce": { "creative_name": "Summer Banner", "creative_slot": "hero", "promotion_id": "promo_001", "promotion_name": "Summer Sale", "items": [ ] }}select_promotion
Section titled “select_promotion”{ "event": "select_promotion", "ecommerce": { "creative_name": "Summer Banner", "creative_slot": "hero", "promotion_id": "promo_001", "promotion_name": "Summer Sale", "items": [ ] }}search
Section titled “search”{ "event": "search", "ecommerce": { "search_term": "beachfront resort" }}select_content
Section titled “select_content”{ "event": "select_content", "ecommerce": { "content_type": "hotel", "content_id": "prop_12345" }}{ "event": "share", "ecommerce": { "method": "copy_link", "content_type": "hotel", "item_id": "prop_12345" }}sign_up
Section titled “sign_up”{ "event": "sign_up", "ecommerce": { "method": "email" }}generate_lead
Section titled “generate_lead”{ "event": "generate_lead", "ecommerce": { "currency": "USD", "value": 0.00 }}join_group
Section titled “join_group”{ "event": "join_group", "ecommerce": { "group_id": "group_abc" }}earn_virtual_currency
Section titled “earn_virtual_currency”{ "event": "earn_virtual_currency", "ecommerce": { "virtual_currency_name": "WinkPoints", "value": 100 }}spend_virtual_currency
Section titled “spend_virtual_currency”{ "event": "spend_virtual_currency", "ecommerce": { "virtual_currency_name": "WinkPoints", "value": 50, "item_name": "Room Upgrade" }}level_start
Section titled “level_start”{ "event": "level_start", "ecommerce": { "level_name": "Gold" }}level_end
Section titled “level_end”{ "event": "level_end", "ecommerce": { "level_name": "Gold", "success": true }}level_up
Section titled “level_up”{ "event": "level_up", "ecommerce": { "level": 2, "character": "traveler" }}post_score
Section titled “post_score”{ "event": "post_score", "ecommerce": { "score": 980, "level": 2, "character": "traveler" }}unlock_achievement
Section titled “unlock_achievement”{ "event": "unlock_achievement", "ecommerce": { "achievement_id": "first_booking" }}tutorial_begin
Section titled “tutorial_begin”{ "event": "tutorial_begin", "ecommerce": {}}tutorial_complete
Section titled “tutorial_complete”{ "event": "tutorial_complete", "ecommerce": {}}virtualPageView
Section titled “virtualPageView”هذا حدث مخصص من Wink — ليس جزءًا من مجموعة أحداث GA4 القياسية. يُدفع عند كل تنقل صفحة ويحمل سياق الجهاز والجلسة. لا يتضمن كائن ecommerce.
{ "event": "virtualPageView", "device": "Desktop", "deviceAgent": "Mozilla/5.0 ...", "os": "MacOS", "path": "/hotels/grand-resort", "title": "Grand Resort — Wink", "userId": "user_abc123", "startDate": "2026-06-01", "endDate": "2026-06-05", "guests": "2", "rooms": "1"}| الخاصية | الوصف |
|---|---|
device | نوع الجهاز المكتشف — Desktop، Android، iPhone، iPad، أو ما شابه |
deviceAgent | سلسلة وكيل المستخدم الخام |
os | نظام التشغيل المكتشف — Windows، MacOS، Linux، UNIX |
path | مسار الصفحة الحالي |
title | عنوان الصفحة الحالي |
userId | معرف المستخدم المصادق عليه (يُحذف عند عدم تسجيل الدخول) |
startDate | تاريخ الوصول من جلسة البحث الحالية |
endDate | تاريخ المغادرة من جلسة البحث الحالية |
guests | عدد الضيوف من جلسة البحث الحالية |
rooms | عدد الغرف من جلسة البحث الحالية |
