Berichterstellung

Video: Vortrag zu Berichten zu Hotelanzeigen aus dem Workshop 2019

Mit der Google Ads API können Sie Abfragen erstellen, um die benötigten Berichte zu Hotelanzeigen zu erhalten. Sie können diese Abfragen dann in Ihre Clientanwendungen einbinden.

Vorbereitung

Grundlegende Abfragen für Hotelanzeigen

Anhand dieser Beispielabfragen können Sie sich mit der Verwendung der Google Ads API für Berichte zu Hotelanzeigen vertraut machen.

Klickmesswerte abrufen

Die folgende Beispielabfrage gibt die Anzahl der Klicks aus der Hotelleistungsansicht zurück.

SELECT metrics.clicks
FROM hotel_performance_view

Die Ergebnisse der Abfrage sehen in etwa so aus:

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

Messwerte für segmentierte Klicks abrufen

In der folgenden Beispielabfrage für Hotelleistungsdaten werden Klicks erfasst und die Ergebnisse nach Hotel-ID segmentiert.

SELECT
  segments.partner_hotel_id,
  metrics.clicks
FROM hotel_performance_view

Die Ergebnisse der Abfrage sehen in etwa so aus wie der folgende JSON-String. Die Klicks werden nach partnerHotelID segmentiert. Daher können für dieselbe hotelPerformanceView zwei oder mehr Objekte zurückgegeben werden.

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

Anzeigengruppenmesswerte abrufen

In der folgenden Beispielabfrage für Anzeigengruppen werden Impressionen und Klicks der letzten 30 Tage nach Datum segmentiert abgerufen.

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

Die Ergebnisse der Abfrage sehen in etwa so aus wie der folgende JSON-String. Die Antwort wird nur auf die Messwerte gefiltert, die die Bedingungen der WHERE-Klausel erfüllen. Das Datumsfeld wird mit dem letzten Datum aus dem 30-Tage-Zeitraum ausgefüllt.

{
  "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"
      }
    }
  ]
}

Anzeigen in aktivierten Anzeigengruppen

Mit der folgenden Beispielabfrage für Anzeigengruppenanzeigen werden die Anzeigengruppen abgerufen, für die Anzeigen ausgeliefert werden. Damit Anzeigen aus einer Anzeigengruppe ausgeliefert werden können, müssen die Anzeigen in der Anzeigengruppe, die Anzeigengruppe und die Kampagne aktiviert sein.

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

Die Ergebnisse der Abfrage sehen in etwa so aus wie der folgende JSON-String.

{
  "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"
        }
      }
    }
  ]
}

Nützliche Ansichten für Hotelanzeigen-Berichte

Mit früheren APIs für Hotelanzeigenberichte konnten Sie einen bestimmten Bericht abrufen, z. B. einen Leistungsbericht. In der Google Ads API werden diese Daten in separaten *_view-Ressourcen wie hotel_performance_view und hotel_group_view dargestellt. In diesem Abschnitt werden die *_view-Ressourcen beschrieben, die für die Berichterstellung für Hotelanzeigen nützlich sind. Außerdem werden Beispielanfragen bereitgestellt.

Jede *_view-Ressource hat spezifische Ressourcenfelder, ‑segmente und ‑messwerte. Lesen Sie die Dokumentation der jeweiligen *_view-Ressource, bevor Sie Ihre Abfrage erstellen.

Hotelgruppenansicht

Die Hotelgruppenansicht ist eine Kriteriensansicht. Sie eignet sich daher zum Abrufen von Messwerten für einen bestimmten Kriterientyp einer Hotelgruppe.

Mit der folgenden Beispielabfrage für Hotelgruppenaufrufe werden Klicks für jedes Hotel in einer Eintragsgruppe für den gesamten Hoteleintragsgruppenbaum abgerufen, einschließlich des Stammknotens („Alle Hotels“).

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

Die Ergebnisse der Abfrage sehen in etwa so aus wie der folgende JSON-String. Da case_value für den Stammknoten („Alle Hotels“) nicht definiert ist, ist klar, dass die erste Zeile die Messwerte für die Eintragsgruppe „Alle Hotels“ darstellt, während die zweite Zeile die Messwerte für die untergeordnete Eintragsgruppe „Sonstiges“ enthält.

{
  "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"
      }
    },
  ]
}

Hotelleistung

Die Hotelleistungsansicht ist nützlich, wenn Sie Leistungsmesswerte für ein Hotel mit Daten abrufen möchten, die nicht aus einer Hotelgruppierung stammen, auch wenn Sie eine Unterteilung nach Hotel-ID haben.

In der folgenden Beispielabfrage für Hotelleistungsdaten werden Klicks erfasst und die Ergebnisse nach Hotel-ID segmentiert.

SELECT
  segments.partner_hotel_id,
  metrics.clicks
FROM hotel_performance_view

Die Ergebnisse der Abfrage sehen in etwa so aus wie der folgende JSON-String. Die Klicks werden nach partner_hotel_id segmentiert. Daher können für dieselbe Hotelleistungsansicht zwei oder mehr Objekte zurückgegeben werden.

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

Zielgruppenansicht der Anzeigengruppe

Die Zielgruppenansicht der Anzeigengruppe ist nützlich, wenn Sie Leistungsmesswerte für Zielgruppen abrufen möchten, die auf Anzeigengruppenebene verknüpft sind.

Hinweis: Dies ist eine allgemeine Ansicht für verschiedene Kampagnentypen, nicht nur für Hotelkampagnen. In dieser Ansicht können Sie die Ergebnisse auch nach hotel_date_selection_type segmentieren. So können Sie angeben, ob das Hoteldatum vom Nutzer ausgewählt wurde oder ob es sich um ein von Google festgelegtes Standarddatum für die Suche handelt. Wenn Sie nach hotel_date_selection_type segmentieren, werden nur Ergebnisse für Hotelkampagnen zurückgegeben.

Die folgende Abfrage gibt eine Zeile pro ad_group_criterion.user_list.user_list zurück.

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

Die Ergebnisse der Abfrage sehen in etwa so aus wie der folgende JSON-String.

{
  "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"
      }
    }
  ]
}

Zielgruppenansicht der Kampagne

Die Zielgruppenansicht der Kampagne ist nützlich, wenn Sie Leistungsmesswerte für Zielgruppen abrufen möchten, die auf Kampagnenebene verknüpft sind.

Hinweis: Dies ist eine allgemeine Ansicht für verschiedene Kampagnentypen, nicht nur für Hotelkampagnen. In dieser Ansicht können Sie die Ergebnisse auch nach hotel_date_selection_type segmentieren. So können Sie angeben, ob das Hoteldatum vom Nutzer ausgewählt wurde oder ob es sich um ein von Google festgelegtes Standarddatum für die Suche handelt. Wenn Sie nach hotel_date_selection_type segmentieren, werden nur Ergebnisse für Hotelkampagnen zurückgegeben.

Die folgende Abfrage gibt eine Zeile pro campaign_criterion.user_list.user_list zurück.

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

Die Ergebnisse der Abfrage sehen in etwa so aus wie der folgende JSON-String.

{
  "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"
      }
    }
  ]
}

Nützliche Berichte für Hotelanzeigen

In diesem Abschnitt finden Sie mehrere nützliche Berichte, die speziell für Hotelanzeigen entwickelt wurden.

Leistungsberichte

Bei diesen Abfragen werden Leistungsdaten aus der Hotelleistungsansicht abgerufen.

Mit einem hotel_performance_view können Sie die Ressource campaign verwenden, um Messwerte zu segmentieren. Mit dem Feld campaign.id können Sie beispielsweise Leistungsmesswerte nach Kampagne abrufen.

Leistung

Beispielabfrage:

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

Beispiel für eine JSON-Antwort:

{
  "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"
      }
    }
  ]
}

Leistung nach Klicktyp

Beispielabfrage:

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

Beispiel für eine JSON-Antwort:

{
  "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"
      }
    }
  ]
}

Leistungsbericht zu nutzerabhängigen Preisen

In der folgenden Abfrage werden Leistungsmesswerte nach folgenden Kriterien segmentiert:

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

Eine Beschreibung der Typen finden Sie unter HotelRateType.

In einer Abfrage können mehrere Segmente enthalten sein. Die Anzahl der zurückgegebenen Zeilen kann sich jedoch mit zusätzlichen Segmenten erheblich erhöhen.

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

Die Ergebnisse der Abfrage sehen in etwa so aus wie der folgende JSON-String.

{
  "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"
      }
    }
  ]
}

Bericht zur Wettbewerbsfähigkeit von Preisen

Sie erhalten Informationen dazu, wie Ihre Preise im Vergleich zu denen der Konkurrenz für dieselben Hotelreisepläne abschneiden.

Beispielabfrage:

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

Beispiel für eine JSON-Antwort:

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

Bericht zum durchschnittlichen gebuchten Preis

Sie können die Daten abrufen, die zur Berechnung des durchschnittlichen gebuchten Preises (all_conversions_value geteilt durch conversions) für Hotels erforderlich sind.

Beispielabfrage:

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

Beispiel für eine JSON-Antwort:

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

Zielgruppenberichte

In Zielgruppenberichten sehen Sie die Leistung von Gebotsfaktoren auf Google Ads-Zielgruppenlisten. Beispiele für Zielgruppenberichte finden Sie in den Beispielabfragen unter Anzeigengruppen-Zielgruppenansicht und Kampagnen-Zielgruppenansicht.

Bericht „Hotelabgleich“

Der Abgleichsbericht für Hotels enthält Conversion-Informationen aus Hotelbuchungen, die mit den Daten des Werbetreibenden abgeglichen werden. Sie können Daten per Bulk-Upload hochladen, damit Google weiß, welche Buchungen storniert oder abgeschlossen wurden. Die wichtigsten Spalten in diesem Bericht sind:

UI-Spalte API-Spalte Erklärung
Buchungswert metrics.value_per_conversions_by_conversion_date Der vom Tag erfasste Conversion-Wert
Conversion-Datum segments.date Das Datum der Buchung
Provisionsrate metrics.hotel_commission_rate_micros Der prozentuale Anteil des Buchungswerts, den Sie als Gebot für eine Anzeigenimpression abgeben
Provisionskosten

Wenn status == RECONCILED oder CANCELED, kann dieser Wert als metrics.hotel_commission_rate_micros * hotel_reconciliation.reconciled_value_micros berechnet werden. In allen anderen Fällen kann dieser Wert aus der Spalte metrics.hotel_expected_commission_cost abgerufen oder als metrics.hotel_commission_rate_micros * metrics.value_per_conversions_by_conversion_date berechnet werden.

Der Betrag, den Sie für den Gastaufenthalt zahlen müssen oder bereits bezahlt haben