إعداد التقارير

فيديو: يمكنك الاطّلاع على محاضرة إعداد تقارير إعلانات الفنادق من ورشة العمل لعام 2019

باستخدام Google Ads API، يمكنك تصميم طلبات بحث للحصول على تقارير إعلانات الفنادق التي تحتاج إليها. ويمكنك بعد ذلك دمج طلبات البحث هذه في طلبات العملاء.

المتطلبات الأساسية

طلبات البحث الأساسية لإعلانات الفنادق

اطّلِع على أمثلة طلبات البحث هذه للتعرّف على استخدام واجهة برمجة التطبيقات مع "إعلانات Google" لإعداد تقارير "إعلانات الفنادق".

الحصول على مقاييس النقرات

يعرض مثال طلب البحث التالي عدد النقرات من عرض أداء الفندق.

SELECT metrics.clicks
FROM hotel_performance_view

ستظهر نتائج الاستعلام على النحو التالي:

{
  "results": [
    {
      "metrics": {
        "clicks": "78090"
      },
      "hotelPerformanceView": {
        "resourceName": "customers/1234567890/hotelPerformanceView"
      }
    }
  ],
  "totalResultsCount": "1",
  "fieldMask": "metrics.clicks"
}

الحصول على مقاييس النقرات المقسّمة

يحصل مثال طلب البحث التالي عن مشاهدات أداء الفنادق على النقرات ويقسّم النتائج حسب رقم تعريف الفندق.

SELECT
  segments.partner_hotel_id,
  metrics.clicks
FROM hotel_performance_view

ستظهر نتائج الاستعلام على النحو التالي تقريبًا في سلسلة JSON. يتم تقسيم النقرات حسب partnerHotelID، وبالتالي يمكن عرض كائنَين أو أكثر لعرض hotelPerformanceView نفسه.

{
  "results": [
    {
      "metrics": {
        "clicks": "7055"
      },
      "hotelPerformanceView": {
        "resourceName": "customers/1234567890/hotelPerformanceView"
      },
      "segments": {
        "partnerHotelId": "1111"
      }
    },
    {
      "metrics": {
        "clicks": "3047"
      },
      "hotelPerformanceView": {
        "resourceName": "customers/1234567890/hotelPerformanceView"
      },
      "segments": {
        "partnerHotelId": "1112"
      }
    },
    ...
  ]
}

الحصول على مقاييس المجموعة الإعلانية

يحصل مثال طلب البحث التالي للمجموعات الإعلانية على مرّات الظهور والنقرات على مدار الأيام الـ 30 الأخيرة، مقسّمة حسب التاريخ.

SELECT
  campaign.name,
  campaign.status,
  ad_group.name,
  segments.date,
  metrics.impressions,
  metrics.clicks
FROM ad_group
WHERE ad_group.type = HOTEL_ADS
  AND segments.date DURING LAST_30_DAYS

ستظهر نتائج الاستعلام على النحو التالي تقريبًا في سلسلة JSON. يتمّ فلترة الاستجابة للمقاييس التي تستوفي شروط عبارة WHERE فقط. تتم تعبئة حقل التاريخ بآخر تاريخ مُدرَج في فترة الـ 30 يومًا.

{
  "results": [
    {
      "campaign": {
        "resourceName": "customers/123456789/campaigns/23456789",
        "name": "test campaign",
        "status": "ENABLED"
      },
      "adGroup": {
        "resourceName": "customers/123456789/adGroups/11111111",
        "name": "test adgroup"
      },
      "metrics": {
        "clicks": "91",
        "impressions": "5145"
      },
      "segments": {
        "date": "2020-05-10"
      }
    }
  ]
}

الحصول على إعلانات المجموعات الإعلانية المفعّلة

يحصل مثال طلب البحث التالي عن إعلانات المجموعة الإعلانية على المجموعات الإعلانية التي سيتم عرضها. لكي يتم عرض أيّ مجموعة إعلانية، يجب أن يكون إعلان المجموعة الإعلانية والمجموعة الإعلانية والحملة كلها مفعّلة.

SELECT
  ad_group.id,
  ad_group.name,
  ad_group.status,
  campaign.name,
  campaign.status,
  ad_group_ad.status
FROM ad_group_ad
WHERE ad_group_ad.status = ENABLED
  AND campaign.status = ENABLED
  AND ad_group.status = ENABLED

ستظهر نتائج الاستعلام على النحو التالي تقريبًا في سلسلة JSON.

{
  "results": [
    {
      "campaign": {
        "resourceName": "customers/123456789/campaigns/23456789",
        "name": "test campaign",
        "status": "ENABLED"
      },
      "adGroup": {
        "resourceName": "customers/123456789/adGroups/111111111111",
        "id": "106121857411",
        "name": "test adgroup",
        "status": "ENABLED"
      },
      "adGroupAd": {
        "resourceName": "customers/123456789/adGroupAds/111111111111~33333333333",
        "status": "ENABLED",
        "ad": {
          "resourceName": "customers/123456789/ads/77777777777"
        }
      }
    }
  ]
}

طرق مفيدة لإعداد تقارير إعلانات الفنادق

في واجهات برمجة التطبيقات السابقة لإعداد تقارير "إعلانات الفنادق"، كان بإمكانك استرداد تقرير محدّد، مثل تقرير الأداء. في Google Ads API، يتم تمثيل هذا النوع من البيانات في موارد *_view منفصلة، مثل hotel_performance_view و hotel_group_view. يصف هذا القسم *_view الموارد التي تكون مفيدة لإعداد تقارير إعلانات الفنادق. يتم أيضًا توفير نماذج طلبات بحث.

يُرجى العِلم أنّ كلّ مورد *_view يحتوي على حقول موارد وشرائح ومقاييس محدّدة. راجِع مستندات مورد *_view المحدّد قبل إنشاء طلب البحث.

عرض مجموعة الفنادق

عرض مجموعة الفنادق هو عرض المعايير، لذا فهو مفيد لاسترداد المقاييس لنوع معايير محدّد لمجموعة فنادق.

يحصل مثال طلب البحث التالي عن مشاهدات مجموعة الفنادق على نقرات لكل فندق في مجموعة بيانات لبنية مجموعة بيانات الفنادق بأكملها، بما في ذلك العقدة الجذر ("كل الفنادق").

SELECT
  metrics.clicks,
  ad_group_criterion.listing_group.case_value.hotel_id.value
FROM hotel_group_view

ستظهر نتائج الاستعلام على النحو التالي تقريبًا في سلسلة JSON. بما أنّ القيمة case_value غير محدّدة للعقدة الجذر ("كل الفنادق")، من الواضح أنّ الصف الأول يمثّل المقاييس لمجموعة بيانات "كل الفنادق"، في حين يمثّل الصف الثاني المقاييس لمجموعة بيانات الطفل التي تمثل "غير ذلك".

{
  "results": [
    {
      "metrics": {
        "clicks": "5"
      },
      "adGroupCriterion": {
        "resourceName": "customers/1234567890/adGroupCriteria/22222222222~111111111111"
      },
      "hotelGroupView": {
        "resourceName": "customers/1234567890/hotelGroupViews/22222222222~111111111111"
      }
    },
    {
      "metrics": {
        "clicks": "0"
      },
      "adGroupCriterion": {
        "resourceName": "customers/1234567890/adGroupCriteria/22222222222~111111111112"
        "listingGroup": {
          "caseValue": {
            "hotelId": {
            }
          }
        }
      },
      "hotelGroupView": {
        "resourceName": "customers/1234567890/hotelGroupViews/22222222222~111111111112"
      }
    },
    {
      "metrics": {
        "clicks": "3"
      },
      "adGroupCriterion": {
        "resourceName": "customers/1234567890/adGroupCriteria/22222222222~111111111113"
        "listingGroup": {
          "caseValue": {
            "hotelId": {
              "value": "11111111111111111"
              }
            }
          }
        }
      },
      "hotelGroupView": {
        "resourceName": "customers/1234567890/hotelGroupViews/22222222222~111111111113"
      }
    },
    {
      "metrics": {
        "clicks": "2"
      },
      "adGroupCriterion": {
        "resourceName": "customers/1234567890/adGroupCriteria/22222222222~111111111114"
        "listingGroup": {
          "caseValue": {
            "hotelId": {
              "value": "11111111111111112"
              }
            }
          }
        }
      },
      "hotelGroupView": {
        "resourceName": "customers/1234567890/hotelGroupViews/22222222222~111111111114"
      }
    },
  ]
}

عرض أداء الفندق

يكون عرض أداء الفندق مفيدًا إذا أردت retrieving performance metrics for a hotel using data that does not come from a hotel grouping، حتى إذا كانت لديك مجموعة فرعية استنادًا إلى رقم تعريف الفندق.

يحصل مثال طلب البحث التالي عن مشاهدات أداء الفنادق على النقرات ويقسّم النتائج حسب رقم تعريف الفندق.

SELECT
  segments.partner_hotel_id,
  metrics.clicks
FROM hotel_performance_view

ستظهر نتائج الاستعلام على النحو التالي تقريبًا في سلسلة JSON. يتم تقسيم النقرات حسب partner_hotel_id، وبالتالي يمكن عرض كائنَين أو أكثر في عرض أداء الفندق نفسه.

{
  "results": [
    {
      "metrics": {
        "clicks": "7055"
      },
      "hotelPerformanceView": {
        "resourceName": "customers/1234567890/hotelPerformanceView"
      },
      "segments": {
        "partnerHotelId": "1111"
      }
    },
    {
      "metrics": {
        "clicks": "3047"
      },
      "hotelPerformanceView": {
        "resourceName": "customers/1234567890/hotelPerformanceView"
      },
      "segments": {
        "partnerHotelId": "1112"
      }
    },
    ...
  ]
}

عرض شريحة جمهور المجموعة الإعلانية

يكون عرض جمهور المجموعة الإعلانية مفيدًا إذا أردت retrieving performance metrics for audiences attached at the ad group level.

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

يعرض الاستعلام التالي صفًا واحدًا لكل ad_group_criterion.user_list.user_list.

SELECT
  ad_group.id,
  campaign.id,
  ad_group_criterion.user_list.user_list,
  segments.device,
  segments.hotel_date_selection_type,
  metrics.impressions,
  metrics.clicks,
  metrics.cost_micros,
  metrics.conversions,
  metrics.all_conversions_value
FROM ad_group_audience_view

ستظهر نتائج الاستعلام على النحو التالي تقريبًا في سلسلة JSON.

{
  "results": [
    {
      "campaign": {
        "resourceName": "customers/123456789/campaigns/23456789",
        "id": "23456789"
      },
      "metrics": {
        "clicks": "0",
        "conversions": "0",
        "costMicros": "0",
        "impressions": "3",
        "allConversionsValue": "0"
      },
      "adGroupCriterion": {
        "resourceName": "customers/123456789/adGroupCriteria/23456789~789456",
        "userList": {
          "userList": "customers/123456789/userLists/456789"
        }
      },
      "adGroupAudienceView": {
        "resourceName": "customers/8005193609/adGroupAudienceViews/23456789~789456"
      },
      "segments": {
        "device": "TABLET",
        "hotelDateSelectionType": "USER_SELECTED"
      }
    }
  ]
}

عرض جمهور الحملة

تكون طريقة عرض جمهور الحملة مفيدة إذا أردت retrieving performance metrics for audiences attached at the campaign level.

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

يعرض الاستعلام التالي صفًا واحدًا لكل campaign_criterion.user_list.user_list.

SELECT
  campaign.id,
  campaign_criterion.user_list.user_list,
  segments.device,
  segments.hotel_date_selection_type,
  metrics.impressions,
  metrics.clicks,
  metrics.cost_micros,
  metrics.conversions,
  metrics.all_conversions_value
FROM campaign_audience_view

ستظهر نتائج الاستعلام على النحو التالي تقريبًا في سلسلة JSON.

{
  "results": [
    {
      "campaign": {
        "resourceName": "customers/123456789/campaigns/23456789",
        "id": "23456789"
      },
      "metrics": {
        "clicks": "0",
        "conversions": "0",
        "costMicros": "0",
        "impressions": "3",
        "allConversionsValue": "0"
      },
      "campaignCriterion": {
        "resourceName": "customers/123456789/campaignCriteria/23456789~789456",
        "userList": {
          "userList": "customers/123456789/userLists/456789"
        }
      },
      "campaignAudienceView": {
        "resourceName": "customers/8005193609/campaignAudienceViews/23456789~789456"
      },
      "segments": {
        "device": "TABLET",
        "hotelDateSelectionType": "USER_SELECTED"
      }
    }
  ]
}

تقارير مفيدة لإعلانات الفنادق

يقدّم هذا القسم العديد من التقارير المفيدة المصمّمة خصيصًا لإعلانات الفنادق.

تقارير الأداء

تستخدِم طلبات البحث هذه "عرض أداء الفندق" للحصول على بيانات الأداء.

يتيح لك hotel_performance_view استخدام المرجع campaign لتقسيم المقاييس. على سبيل المثال، يمكنك استخدام الحقل campaign.id للحصول على مقاييس الأداء حسب الحملة.

الأداء

مثال على طلب بحث:

SELECT
  segments.hotel_center_id,
  segments.device,
  segments.partner_hotel_id,
  segments.hotel_check_in_day_of_week,
  segments.hotel_date_selection_type,
  segments.hotel_length_of_stay,
  segments.hotel_booking_window_days,
  metrics.search_top_impression_share,
  metrics.search_absolute_top_impression_share,
  metrics.impressions,
  metrics.clicks,
  metrics.cost_micros,
  metrics.conversions,
  metrics.all_conversions_value,
  metrics.search_impression_share
FROM hotel_performance_view

مثال على استجابة JSON:

{
  "results": [
    {
      "campaign": {
        "resourceName": "customers/123456789/campaigns/23456789"
      },
      "metrics": {
        "clicks": "0",
        "conversions": "0.0",
        "costMicros": "0",
        "impressions": "0",
        "searchImpressionShare": "0.0999",
        "searchAbsoluteTopImpressionShare": "0.0999",
        "searchTopImpressionShare": "0.0999",
        "allConversionsValue": "1"
      },
      "hotelPerformanceView": {
        "resourceName": "customers/123456789/hotelPerformanceView"
      },
      "segments": {
        "device": "DESKTOP",
        "hotelBookingWindowDays": "3",
        "hotelCenterId": "1234",
        "hotelCheckInDayOfWeek": "MONDAY",
        "hotelDateSelectionType": "USER_SELECTED",
        "hotelLengthOfStay": "4",
        "partnerHotelId": "123"
      }
    },
    {
      "campaign": {
        "resourceName": "customers/123456789/campaigns/23456789"
      },
      "metrics": {
        "clicks": "0",
        "conversions": "0.0",
        "costMicros": "0",
        "impressions": "1",
        "searchImpressionShare": "1.0",
        "searchAbsoluteTopImpressionShare": "0.0999",
        "searchTopImpressionShare": "1.0",
        "allConversionsValue": "1"
      },
      "hotelPerformanceView": {
        "resourceName": "customers/123456789/hotelPerformanceView"
      },
      "segments": {
        "device": "DESKTOP",
        "hotelBookingWindowDays": "3",
        "hotelCenterId": "1234",
        "hotelCheckInDayOfWeek": "MONDAY",
        "hotelDateSelectionType": "USER_SELECTED",
        "hotelLengthOfStay": "4",
        "partnerHotelId": "123"
      }
    }
  ]
}

الأداء حسب نوع النقرة

مثال على طلب بحث:

SELECT
  segments.click_type,
  segments.hotel_center_id,
  segments.device,
  segments.partner_hotel_id,
  segments.hotel_check_in_day_of_week,
  segments.hotel_date_selection_type,
  segments.hotel_length_of_stay,
  segments.hotel_booking_window_days,
  metrics.impressions,
  metrics.clicks,
  metrics.cost_micros,
  metrics.conversions,
  metrics.all_conversions_value
FROM hotel_performance_view

مثال على استجابة JSON:

{
  "results": [
    {
      "campaign": {
        "resourceName": "customers/123456789/campaigns/23456789"
    },
      "metrics": {
        "clicks": "0",
        "conversions": "0.0",
        "costMicros": "0",
        "impressions": "1",
        "allConversionsValue": "0.0"
      },
      "hotelPerformanceView": {
        "resourceName": "customers/123456789/hotelPerformanceView"
      },
      "segments": {
        "device": "DESKTOP",
        "hotelBookingWindowDays": "0",
        "hotelCenterId": "1234",
        "hotelCheckInDayOfWeek": "TUESDAY",
        "hotelDateSelectionType": "USER_SELECTED",
        "hotelLengthOfStay": "4",
        "partnerHotelId": "123",
        "clickType": "HOTEL_PRICE"
      }
    },
    {
      "campaign": {
        "resourceName": "customers/123456789/campaigns/23456789"
      },
      "metrics": {
        "clicks": "1",
        "conversions": "0.0",
        "costMicros": "0",
        "impressions": "1",
        "allConversionsValue": "0.0"
      },
      "hotelPerformanceView": {
        "resourceName": "customers/123456789/hotelPerformanceView"
      },
      "segments": {
        "device": "DESKTOP",
        "hotelBookingWindowDays": "0",
        "hotelCenterId": "1234",
        "hotelCheckInDayOfWeek": "TUESDAY",
        "hotelDateSelectionType": "USER_SELECTED",
        "hotelLengthOfStay": "4",
        "partnerHotelId": "12345",
        "clickType": "HOTEL_PRICE"
      }
    }
  ]
}

تقرير أداء الأسعار المشروطة

يحصل طلب البحث التالي على مقاييس الأداء مقسّمة حسب:

  • campaign
  • hotel_center_id
  • hotel_country
  • hotel_rate_rule_id
  • hotel_rate_type
  • device
  • partner_hotel_id

يمكنك الاطّلاع على HotelRateType للحصول على وصف للأنواع.

يمكن تضمين شرائح متعددة في طلب بحث، ولكن يمكن أن يزداد عدد الصفوف المعروضة بشكل كبير مع إضافة شرائح إضافية.

SELECT
  campaign.id,
  segments.hotel_center_id,
  segments.hotel_country,
  segments.hotel_rate_rule_id,
  segments.hotel_rate_type,
  segments.device,
  segments.partner_hotel_id,
  metrics.search_top_impression_share,
  metrics.search_absolute_top_impression_share,
  metrics.impressions,
  metrics.clicks,
  metrics.cost_micros,
  metrics.conversions
FROM hotel_performance_view

ستظهر نتائج الاستعلام على النحو التالي تقريبًا في سلسلة JSON.

{
  "results": [
    {
      "campaign": {
        "resourceName": "customers/123456789/campaigns/23456789",
        "id": "23456789"
      },
      "metrics": {
        "clicks": "1",
        "conversions": "0.0",
        "costMicros": "0",
        "impressions": "24",
        "searchAbsoluteTopImpressionShare": "0.0999",
        "searchTopImpressionShare": "0.17073170731707318"
      },
      "hotelPerformanceView": {
        "resourceName": "customers/123456789/hotelPerformanceView"
      },
      "segments": {
        "device": "TABLET",
        "hotelCenterId": "1234",
        "partnerHotelId": "123",
        "hotelRateRuleId": "desktop",
        "hotelRateType": "PUBLIC_RATE"
      }
    },
    {
      "campaign": {
        "resourceName": "customers/123456789/campaigns/23456789",
        "id": "23456789"
      },
      "metrics": {
        "clicks": "107",
        "conversions": "0.0",
        "costMicros": "0",
        "impressions": "1668",
        "searchAbsoluteTopImpressionShare": "0.0999",
        "searchTopImpressionShare": "0.3581201665675193"
      },
      "hotelPerformanceView": {
        "resourceName": "customers/123456789/hotelPerformanceView"
      },
      "segments": {
        "device": "TABLET",
        "hotelCenterId": "1234",
        "partnerHotelId": "1235",
        "hotelRateRuleId": "desktop",
        "hotelRateType": "PUBLIC_RATE"
      }
    }
  ]
}

تقرير "مكانة السعر في المنافسة"

يمكنك الحصول على إحصاءات عن مستوى أسعارك مقارنةً بأسعار المنافسين في خطط الرحلة الفندقية نفسها.

مثال على طلب بحث:

SELECT
  segments.hotel_center_id,
  segments.partner_hotel_id,
  segments.hotel_price_bucket,
  metrics.hotel_average_lead_value_micros,
  metrics.hotel_price_difference_percentage
FROM hotel_performance_view

مثال على استجابة JSON:

{
  "results": [
    {
      "metrics": {
        "hotelAverageLeadValueMicros": "96416341.829268292",
        "hotelPriceDifferencePercentage": "-0.014627310872986811"
      },
      "hotelPerformanceView": {
        "resourceName": "customers/123456789/hotelPerformanceView"
      },
      "segments": {
        "hotelCenterId": "1234",
        "partnerHotelId": "123",
        "hotelPriceBucket": "LOWEST_TIED"
      }
    }
  ]
}

تقرير "متوسط السعر المحجوز"

يمكنك الحصول على البيانات اللازمة لاحتساب متوسّط السعر المحجوز (all_conversions_value مقسومًا على conversions) للفنادق.

مثال على طلب بحث:

SELECT
  segments.hotel_center_id,
  segments.partner_hotel_id,
  segments.hotel_price_bucket,
  metrics.all_conversions_value,
  metrics.conversions
FROM hotel_performance_view

مثال على استجابة JSON:

{
  "results": [
    {
      "metrics": {
        "allConversionsValue": "123.5",
        "conversions": "1"
      },
      "hotelPerformanceView": {
        "resourceName": "customers/123456789/hotelPerformanceView"
      },
      "segments": {
        "hotelCenterId": "1234",
        "partnerHotelId": "123",
        "hotelPriceBucket": "LOWEST_TIED"
      }
    }
  ]
}

تقارير الجمهور

تعرض تقارير الجمهور أداء مضاعِفات عروض الأسعار في قوائم شرائح الجمهور في "إعلانات Google". للاطّلاع على أمثلة على تقارير الجمهور، اطّلِع على أمثلة طلبات البحث في عرض المجموعة الإعلانية الجمهور وعرض جمهور الحملة.

تقرير تسوية الفندق

يحتوي تقرير تسوية الفنادق على معلومات الإحالات الناجحة من حجوزات الفنادق لمطابقتها مع سجلّات العميل. يمكنك تحميل البيانات من خلال عمليات التحميل المجمّعة لإعلام Google بالحجوزات التي تم إلغاؤها أو الحجوزات المكتملة. في ما يلي الأعمدة الرئيسية في هذا التقرير:

عمود واجهة المستخدم عمود واجهة برمجة التطبيقات الشرح
قيمة الحجز metrics.value_per_conversions_by_conversion_date قيمة الإحالة الناجحة كما أبلغت عنها العلامة
تاريخ الإحالة الناجحة segments.date تاريخ الحجز
معدّل العمولة metrics.hotel_commission_rate_micros النسبة المئوية لقيمة الحجز التي تقدّم عرض سعر لها لمرة ظهور إعلان
تكلفة العمولة

إذا كانت status == RECONCILED أو CANCELED، يمكن احتساب قيمة هذه على أنّها metrics.hotel_commission_rate_micros * hotel_reconciliation.reconciled_value_micros. في جميع الحالات الأخرى، يمكن الحصول على هذه القيمة من عمود metrics.hotel_expected_commission_cost، أو يتم احتسابها على النحو التالي: metrics.hotel_commission_rate_micros * metrics.value_per_conversions_by_conversion_date

المبلغ الذي يُتوقّع أن تدفعه مقابل إقامة النزيل أو المبلغ الذي دفعته فعليًا مقابل تلك الإقامة