تخطَّ إلى المحتوى

تكامل تحليلات GTM

يمكنك ربط أي حاوية Google Tag Manager (GTM) بـ Wink عن طريق إدخال معرف حاوية GTM الخاص بها في بوابة Wink. بمجرد الربط، يتم تحميل الحاوية تلقائيًا لممتلكاتك وتقرأ أحداث الحجز الخاصة بـ Wink مباشرة — مما يغطي رحلة الضيف الكاملة من البحث حتى إتمام الحجز. حالة استخدام شائعة هي حاوية Sojern لإعادة الاستهداف والإعلانات، لكن أي حاوية GTM تعمل بنفس الطريقة.


  1. احصل على معرف حاوية GTM الخاص بك

    احصل على معرف حاوية GTM (بصيغة GTM-XXXXXXX). إذا كانت من شريك مثل Sojern، اطلب معرف حاوية GTM تحديدًا — فهو يختلف عن معرف البكسل أو الوسم.

  2. أدخله في بوابة Wink

    سجّل الدخول إلى app.wink.travel، اختر حسابك، وافتح إعدادات التخصيص. في قسم التحليلات والتكاملات، الصق معرف حاوية GTM في حقل معرف حاوية GTM واحفظ. أصبح التكامل الآن نشطًا.

  3. أكد مع مزود الخدمة الخاص بك

    إذا كانت الحاوية من شريك مثل Sojern، أخبر مدير حسابك أن التكامل نشط. يمكنهم التحقق من جانبهم أن الوسوم تعمل بشكل صحيح على wink.travel لممتلكاتك وأن البيانات تتدفق إلى حسابك.


ما الذي يفعله Wink من جانبنا

Section titled “ما الذي يفعله Wink من جانبنا”

لأجل الشفافية، إليك ما يقوم Wink بتكوينه لجعل هذا التكامل يعمل:

  • يوجد حقل معرف حاوية GTM في قسم التحليلات والتكاملات ضمن إعدادات التخصيص الخاصة بك. عند إدخال معرف الحاوية، يتحقق Wink من الصيغة (GTM-XXXXXXX) ويخزنه بأمان مقابل ممتلكاتك.
  • في كل صفحة تكون ممتلكاتك نشطة فيها على Wink، يتم حقن الحاوية مباشرة في الصفحة — مشاركة window.dataLayer الخاص بـ Wink — بحيث يتم تحميلها جنبًا إلى جنب مع حاوية Wink الخاصة دون الاعتماد على أي إعداد إضافي. يحدث هذا تلقائيًا، دون عمل خاص لكل ممتلك من فريق Wink.
  • يتم تحميل الحاوية بشكل غير متزامن، لذا لا تؤثر على أداء تحميل الصفحة لضيوفك.
  • يعمل تتبع Wink الخاص وحاويتك بالتوازي، يقرآن من نفس dataLayer المشترك. كل حدث حجز يتتبعه Wink متاح لحاويتك في نفس الوقت.
  • عندما لا يتم عرض ممتلكاتك — على سبيل المثال، عندما يتصفح الضيف فندقًا مختلفًا على Wink — لا يتم تحميل الحاوية، لذا تستقبل فقط البيانات المتعلقة بممتلكاتك.
  • يتم إطلاق حدث الحجز المكتمل (purchase) في المتصفح على صفحة الشكر. معرف حاوية GTM هو صندوق أسود — لا يمكن لـ Wink افتراض ما هي الوسوم داخله — لذا لا يتصل Wink بجوجل نيابة عنك من خوادمه. بدلاً من ذلك، أي وسم GA4 أو تحويل موجود في حاويتك يستقبل حدث purchase من جهة العميل، تمامًا مثل كل حدث حجز آخر. وبما أن مزود الدفع يعيد توجيه متصفح الضيف بعيدًا ثم يعود، يعيد Wink ربط جلسة التحليلات التي انقطعت بسبب إعادة التوجيه قبل إطلاق purchase، لذلك يُنسب البيع إلى زيارة الضيف الأصلية بدلاً من احتسابه كجلسة جديدة.

يدفع Wink أحداثًا متوافقة مع GA4 إلى dataLayer طوال رحلة الضيف. تقرأ حاوية GTM الخاصة بك من نفس dataLayer المشترك، لذا أي مشغل أو متغير تقوم بتكوينه يمكنه الوصول إلى كل الخصائص الموضحة أدناه.

كل حدث يتبع هيكل التجارة الإلكترونية المحسنة القياسي لـ GA4: سلسلة event على المستوى الأعلى وكائن ecommerce. قبل كل دفع، يمسح Wink حمولة التجارة الإلكترونية السابقة لمنع تسرب بيانات قديمة إلى المشغلات الجديدة.


تُطلق هذه الأحداث تلقائيًا أثناء تنقل الضيف عبر مسار الحجز. قم بتكوين مشغلات GTM الخاصة بك كمشغلات حدث مخصص تطابق أسماء الأحداث أدناه.

الخطوةالحدثمتى يُطلق
1view_item_listتحميل شبكة أو قائمة مخزون الفنادق
2view_itemعرض الضيف لصفحة ممتلك محددة
3add_to_cartإضافة الضيف لغرفة إلى عربة التسوق
4begin_checkoutتحميل صفحة الدفع / الخروج
5add_payment_infoاختيار الضيف لطريقة الدفع
6loginتوثيق الضيف عبر تسجيل الدخول الموحد
7purchaseتأكيد الحجز
8refundإلغاء الحجز

يُطلق عند عرض شبكة أو قائمة مخزون الفنادق.

{
"event": "view_item_list",
"ecommerce": {
"item_list_id": "featured_hotels",
"item_list_name": "Featured Hotels",
"items": [ ]
}
}

يُطلق عند عرض الضيف لممتلك محدد.

{
"event": "view_item",
"ecommerce": {
"currency": "USD",
"value": 299.00,
"items": [ ]
}
}

يُطلق عند إضافة الضيف لغرفة إلى العربة.

{
"event": "add_to_cart",
"ecommerce": {
"currency": "USD",
"value": 299.00,
"items": [ ]
}
}

يُطلق عند تحميل صفحة الدفع / الخروج.

{
"event": "begin_checkout",
"ecommerce": {
"currency": "USD",
"value": 299.00,
"coupon": "SUMMER10",
"items": [ ]
}
}

coupon موجود فقط عند تطبيق رمز خصم.


يُطلق عند اختيار أو تأكيد الضيف لطريقة الدفع.

{
"event": "add_payment_info",
"ecommerce": {
"currency": "USD",
"value": 299.00,
"coupon": "SUMMER10",
"payment_type": "STRIPE",
"items": [ ]
}
}

payment_type يتم تعبئته من نوع مستحوذ الدفع. coupon موجود فقط عند تطبيق رمز خصم.


يُطلق عند توثيق الضيف عبر تسجيل الدخول الموحد.

{
"event": "login",
"ecommerce": {
"method": "IAM"
}
}

يُطلق عند تأكيد الحجز.

{
"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 موجودة فقط عند الاقتضاء.


يُطلق عند إلغاء الحجز.

{
"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 موجودة فقط عند الاقتضاء.


جميع الأحداث التي تتضمن مصفوفة items تشترك في نفس مخطط العنصر. كل خاصية اختيارية ما لم تُذكر كـ “مطلوبة”.

هذه الحقول مفهومة أصلاً من 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 معلمات العنصر المخصصة في التقارير حتى تقوم بتسجيلها صراحة كبُعد مخصص على مستوى العنصر. تحتاج فقط إلى تسجيل المعلمات التي تنوي استخدامها في التقارير — لا تحتاج إلى تسجيل جميع العشرين.

  1. افتح التعريفات المخصصة

    في GA4، اذهب إلى الإدارة (أيقونة الترس أسفل اليسار) → اختر الممتلك الخاص بك → عرض البياناتالتعريفات المخصصة.

  2. إنشاء بُعد مخصص جديد

    انقر على إنشاء أبعاد مخصصة.

  3. املأ تفاصيل البُعد

    • اسم البُعد — التسمية المقروءة التي تظهر في تقارير GA4 (انظر الجدول أدناه)
    • النطاق — اختر عنصر
    • معامل الحدث — اسم المعامل بالضبط كما يظهر في dataLayer (انظر الجدول أدناه)
    • الوصف — اختياري لكن يُنصح به
  4. احفظ وكرر

    انقر على حفظ، ثم كرر لكل معامل تريد تتبعه.

استخدم الجدول التالي كمرجع عند إنشاء الأبعاد المخصصة. يجب أن يتطابق قيمة معامل الحدث بالضبط — 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نص

الأحداث التالية متاحة في dataLayer الخاص بـ Wink لكنها ليست جزءًا من مسار الحجز القياسي. قد تُطلق بواسطة تفاعلات أخرى على المنصة.

{
"event": "add_to_wishlist",
"ecommerce": {
"currency": "USD",
"value": 299.00,
"items": [ ]
}
}
{
"event": "remove_from_cart",
"ecommerce": {
"currency": "USD",
"value": 299.00,
"items": [ ]
}
}
{
"event": "select_item",
"ecommerce": {
"item_list_id": "featured_hotels",
"item_list_name": "Featured Hotels",
"items": [ ]
}
}
{
"event": "view_cart"
}

لا تتضمن حمولة ecommerce مع هذا الحدث.

{
"event": "view_promotion",
"ecommerce": {
"creative_name": "Summer Banner",
"creative_slot": "hero",
"promotion_id": "promo_001",
"promotion_name": "Summer Sale",
"items": [ ]
}
}
{
"event": "select_promotion",
"ecommerce": {
"creative_name": "Summer Banner",
"creative_slot": "hero",
"promotion_id": "promo_001",
"promotion_name": "Summer Sale",
"items": [ ]
}
}
{
"event": "search",
"ecommerce": {
"search_term": "beachfront resort"
}
}
{
"event": "select_content",
"ecommerce": {
"content_type": "hotel",
"content_id": "prop_12345"
}
}
{
"event": "share",
"ecommerce": {
"method": "copy_link",
"content_type": "hotel",
"item_id": "prop_12345"
}
}
{
"event": "sign_up",
"ecommerce": {
"method": "email"
}
}
{
"event": "generate_lead",
"ecommerce": {
"currency": "USD",
"value": 0.00
}
}
{
"event": "join_group",
"ecommerce": {
"group_id": "group_abc"
}
}
{
"event": "earn_virtual_currency",
"ecommerce": {
"virtual_currency_name": "WinkPoints",
"value": 100
}
}
{
"event": "spend_virtual_currency",
"ecommerce": {
"virtual_currency_name": "WinkPoints",
"value": 50,
"item_name": "Room Upgrade"
}
}
{
"event": "level_start",
"ecommerce": {
"level_name": "Gold"
}
}
{
"event": "level_end",
"ecommerce": {
"level_name": "Gold",
"success": true
}
}
{
"event": "level_up",
"ecommerce": {
"level": 2,
"character": "traveler"
}
}
{
"event": "post_score",
"ecommerce": {
"score": 980,
"level": 2,
"character": "traveler"
}
}
{
"event": "unlock_achievement",
"ecommerce": {
"achievement_id": "first_booking"
}
}
{
"event": "tutorial_begin",
"ecommerce": {}
}
{
"event": "tutorial_complete",
"ecommerce": {}
}

هذا حدث مخصص من 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عدد الغرف من جلسة البحث الحالية