Wenn Sie Ihre Produktfeeds für Hotels, Ferienunterkünfte oder mögliche Aktivitäten mit Ihrem Google Ads-Konto verknüpfen, werden vorhandene Suchkampagnen automatisch um Preise und Bilder aus Ihren Feeds ergänzt. Diese Funktion wird als Reisefeeds in Suchanzeigen bezeichnet.
Zusammenspiel von Kunden- und Kampagneneinstellungen
Standardmäßig übernehmen Kampagnen Links zu Reisefeeds (TRAVEL_FEED-Asset-Sammlungen) von der Kundenebene über CustomerAssetSet-Verknüpfungen. Wenn Sie die Einstellungen auf Kundenebene für eine bestimmte Kampagne überschreiben möchten, müssen Sie dem Feld excluded_parent_asset_set_types der Kampagne TRAVEL_FEED hinzufügen und kampagnenspezifische Links mit CampaignAssetSet verwalten.
- Kundenfeeds übernehmen (Standardeinstellung): Behalten Sie die Verknüpfung von
CustomerAssetSetauf Kundenebene bei und achten Sie darauf, dassCampaign.excluded_parent_asset_set_typesnichtTRAVEL_FEEDenthält. - Deaktivierung auf Kundenebene:Entfernen Sie die Verknüpfung auf Kundenebene (
CustomerAssetSet) und verknüpfen Sie keine Kampagnenebene (CampaignAssetSet). - Bestimmte Kampagne deaktivieren:Fügen Sie
TRAVEL_FEEDzuCampaign.excluded_parent_asset_set_typeshinzu und entfernen Sie alleCampaignAssetSet-Verknüpfungen auf Kampagnenebene. - Nur für eine bestimmte Kampagne aktivieren:Entfernen Sie die Verknüpfung auf Kundenebene (
CustomerAssetSet) und erstellen Sie dann eine Verknüpfung auf Kampagnenebene (CampaignAssetSet) für diese Kampagne. - Kampagnenspezifische Feeds verwenden, während andere Kampagnen weiterhin Einstellungen übernehmen:Fügen Sie der
Campaign.excluded_parent_asset_set_typesder KampagneTRAVEL_FEEDhinzu und erstellen Sie einenCampaignAssetSet-Link auf Kampagnenebene dafür.
Reisefeeds in Suchanzeigen deaktivieren
Wenn Sie diese Funktion nicht verwenden möchten, können Sie die Google Ads API verwenden, um Reisefeeds in Suchanzeigen auf Kunden- und Kampagnenebene zu deaktivieren.
Anzeigenvorschläge auf Kundenebene deaktivieren
So deaktivieren Sie Reisefeeds in Suchanzeigen auf Kundenebene:
Rufen Sie mit dem Bericht
customer_asset_setsowohlcustomer_asset_set.resource_nameals auchasset_set.resource_namefür alleCustomerAssetSet-Links ab, deren TypTRAVEL_FEEDist:SELECT customer_asset_set.resource_name, asset_set.resource_name, asset_set.name FROM customer_asset_set WHERE asset_set.type = 'TRAVEL_FEED'Erstellen Sie für jede
customer_asset_set.resource_nameeineCustomerAssetSetOperationund legen Sieremoveauf die im vorherigen Schritt abgerufenecustomer_asset_set.resource_namefest.Senden Sie eine Anfrage an
CustomerAssetSetService.MutateCustomerAssetSetsmit den erstelltenCustomerAssetSetOperation-Objekten.
So aktivieren Sie diese Funktion wieder auf Kundenebene:
- Erstellen Sie für jede zugrunde liegende
AssetSet(asset_set.resource_name), die Sie verknüpfen möchten, eine neueCustomerAssetSet. Setzen Sie dabeiasset_setauf dieasset_set.resource_nameundcustomerauf den Ressourcennamen Ihres Kunden. - Erstellen Sie für jeden im vorherigen Schritt erstellten
CustomerAssetSeteinenCustomerAssetSetOperation, wobeicreateauf denCustomerAssetSetfestgelegt ist. - Senden Sie eine Anfrage an
CustomerAssetSetService.MutateCustomerAssetSetsmit den erstelltenCustomerAssetSetOperation-Objekten.
Deaktivierung auf Kampagnenebene
Wenn Sie Reisefeeds in Suchanzeigen auf Kampagnenebene deaktivieren möchten, müssen Sie zuerst den übernommenen Aktivierungsstatus auf Kundenebene ausschließen:
Rufen Sie
excluded_parent_asset_set_typesmit dem Berichtcampaignab:SELECT campaign.excluded_parent_asset_set_types FROM campaign WHERE campaign.id = 'INSERT_YOUR_CAMPAIGN_ID'Erstellen Sie ein neues
Campaign-Objekt, wobeiexcluded_parent_asset_set_typesauf die vorherigen Werte plusTRAVEL_FEEDundresource_nameauf den Ressourcennamen Ihrer Kampagne festgelegt ist.Erstellen Sie eine
CampaignOperationund legen Sieupdateauf die zuvor erstellteCampaignundupdate_maskfest.Senden Sie eine Anfrage an
CampaignService.MutateCampaignsmit dem im vorherigen Schritt erstelltenCampaignOperation.
Entfernen Sie dann alle Verknüpfungen von Reisefeeds auf Kampagnenebene:
Rufen Sie für die Kampagne, die Sie deaktivieren möchten, sowohl
campaign_asset_set.resource_nameals auchasset_set.resource_namefür alleCampaignAssetSet-Links ab, deren TypTRAVEL_FEEDist. Verwenden Sie dazu den Berichtcampaign_asset_set:SELECT campaign_asset_set.resource_name, asset_set.resource_name, asset_set.name FROM campaign_asset_set WHERE campaign_asset_set.campaign = 'INSERT_YOUR_CAMPAIGN_RESOURCE_NAME' AND asset_set.type = 'TRAVEL_FEED'Erstellen Sie für jede
campaign_asset_set.resource_nameeineCampaignAssetSetOperationund legen Sieremoveauf die im vorherigen Schritt abgerufenecampaign_asset_set.resource_namefest.Senden Sie eine Anfrage an
CampaignAssetSetService.MutateCampaignAssetSetsmit den erstelltenCampaignAssetSetOperation-Objekten.
So aktivieren Sie diese Funktion wieder auf Kampagnenebene:
- Erstellen Sie für jede zugrunde liegende
AssetSet(asset_set.resource_name), die Sie aktivieren möchten, eine neueCampaignAssetSet. Setzen Sie dabeiasset_setauf dieasset_set.resource_nameundcampaignauf den Ressourcennamen Ihrer Kampagne. - Erstellen Sie für jeden im vorherigen Schritt erstellten
CampaignAssetSeteinenCampaignAssetSetOperation, wobeicreateauf denCampaignAssetSetfestgelegt ist. - Senden Sie eine Anfrage an
CampaignAssetSetService.MutateCampaignAssetSetsmit den erstelltenCampaignAssetSetOperation-Objekten.
Aktivierungsstatus auf Kundenebene für eine Kampagne wiederherstellen
So legen Sie fest, dass der Opt-in-Status einer Kampagne wieder der Einstellung auf Kundenebene entspricht:
- Erstellen Sie ein neues
Campaign-Objekt mitexcluded_parent_asset_set_typesohneTRAVEL_FEEDin der Liste und legen Sie fürresource_nameden Ressourcennamen Ihrer Kampagne fest. - Erstellen Sie eine
CampaignOperationund legen Sieupdateauf die zuvor erstellteCampaignundupdate_maskfest. - Senden Sie eine Anfrage an
CampaignService.MutateCampaignsmit dem im vorherigen Schritt erstelltenCampaignOperation.
Manuelle CPC-Gebote pro Element
Ab der Google Ads API-Version v25 können Sie für Hotels in Suchkampagnen für die Reisebranche entitätsspezifische manuelle CPC-Gebotsüberschreibungen konfigurieren. Verwenden Sie dazu die Ressource AdGroupCriterion mit dem Kriteriumstyp CriterionType.VERTICAL_ADS_ITEM_BID (ad_group_criterion.entity_bid). Wenn Sie multiplikative Gebotsanpassungen für Anzeigengruppen für Dimensionen von Reiseplänen mit AdGroupBidModifier festlegen möchten, lesen Sie den Hilfeartikel Gebote mit Gebotsanpassungen anpassen.
Voraussetzungen und Kompatibilitätsanforderungen
Zum Erstellen und Verwalten von VERTICAL_ADS_ITEM_BID-Kriterien müssen die folgenden Bedingungen erfüllt sein:
- Kampagnentyp:Suchkampagnen für die Reisebranche (Suchkampagnen,
AdvertisingChannelType.SEARCH, mit AI Max für Suchkampagnen, aktiviert überCampaign.ai_max_setting.enable_ai_maxund eine zugehörigeTRAVEL_FEED-Asset-Sammlung für Hotelfeeds; nur Hotelfeeds werden unterstützt). - Gebotsstrategie:Nur „Manueller CPC“ (
BiddingStrategyType.MANUAL_CPC).- Nicht unterstützt bei automatisierten oder Smart Bidding-Strategien (z. B. „Conversions maximieren“, „Conversion-Wert maximieren“, „Ziel-CPA“ oder „Ziel-ROAS“).
- Nur positive Kriterien:
negativemuss auffalsefestgelegt sein. Negative Entitätsgebote werden nicht unterstützt. - Erforderliche Entitätskennung und Gebot:
entity_bid.item_codeundcpc_bid_microssind erforderlich, wenn Sie ein Gebotskriterium für eine Entität erstellen.
Schema- und Felddefinitionen
- Ressource:
AdGroupCriterion(ad_group_criterion) - Format des Ressourcennamens:
customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id} - Enum für Kriteriumstyp:
CriterionType.VERTICAL_ADS_ITEM_BID - Nachricht:
EntityBid(ad_group_criterion.entity_bid)
| Feld | Typ | Verhalten | Beschreibung |
|---|---|---|---|
entity_bid |
EntityBid |
IMMUTABLE |
Kriterium, das eine manuelle Gebotsüberschreibung für ein einzelnes Element darstellt. |
entity_bid.item_code |
string |
„IMMUTABLE“, erforderlich |
Die ID oder der Code, der eine bestimmte Hotelentität (ID des Hoteleintrags) angibt, die mit dem Partnerhotelfeed übereinstimmt (1 bis 256 Zeichen, gekürzt). |
cpc_bid_micros |
int64 |
Lesen/Schreiben | Der Betrag für das manuelle CPC-Gebot in Mikros (1000000 entspricht beispielsweise $1.00). |
negative |
bool |
IMMUTABLE |
Muss false lauten. |
Unterstützte Dienste und Vorgänge
| Dienst | Methode | Unterstützte Aktionen |
|---|---|---|
AdGroupCriterionService |
MutateAdGroupCriteria |
create, update
(cpc_bid_micros), remove |
GoogleAdsService |
Search
/ SearchStream |
Abfragekriterienattribute, Artikelcodes und Gebotswerte |
Code- und Nutzlastbeispiele
In den folgenden Beispielen wird gezeigt, wie Sie VERTICAL_ADS_ITEM_BID-Kriterien lesen, erstellen, aktualisieren und entfernen.
Entitätsgebote mit GAQL lesen
Verwenden Sie GoogleAdsService.Search oder GoogleAdsService.SearchStream, um VERTICAL_ADS_ITEM_BID-Kriterien abzufragen:
SELECT
ad_group_criterion.resource_name,
ad_group_criterion.ad_group,
ad_group_criterion.criterion_id,
ad_group_criterion.type,
ad_group_criterion.cpc_bid_micros,
ad_group_criterion.entity_bid.item_code
FROM ad_group_criterion
WHERE ad_group_criterion.type = 'VERTICAL_ADS_ITEM_BID'
Gebot für eine Entität erstellen
Senden Sie einen create-Vorgang an AdGroupCriterionService.MutateAdGroupCriteria:
{
"customerId": "1234567890",
"operations": [
{
"create": {
"adGroup": "customers/1234567890/adGroups/987654321",
"negative": false,
"cpcBidMicros": "1500000",
"entityBid": {
"itemCode": "hotel_nyc_12345"
}
}
}
]
}
Gebotsbetrag einer vorhandenen Entität aktualisieren
Senden Sie einen update-Vorgang mit einem updateMask an AdGroupCriterionService.MutateAdGroupCriteria:
{
"customerId": "1234567890",
"operations": [
{
"updateMask": "cpcBidMicros",
"update": {
"resourceName": "customers/1234567890/adGroupCriteria/987654321~555444333",
"cpcBidMicros": "2000000"
}
}
]
}
Gebot für eine Entität entfernen
Senden Sie einen remove-Vorgang an AdGroupCriterionService.MutateAdGroupCriteria:
{
"customerId": "1234567890",
"operations": [
{
"remove": "customers/1234567890/adGroupCriteria/987654321~555444333"
}
]
}
Validierungsregeln und Fehlerbehandlung
| Szenario | Auslöser / Bedingung | Zurückgegebener Fehlercode |
|---|---|---|
| Kampagne ohne manuellen CPC | Es wird versucht, ein Entitätsgebot für eine Kampagne mit automatischer Gebotseinstellung oder Smart Bidding zu erstellen. | ContextError.OPERATION_NOT_PERMITTED_FOR_CONTEXT |
| Ungültiger Kampagnentyp | Hinzufügen eines Entitätsgebots zu einer Kampagne, die keine Suchkampagne ist (z. B. einer Displaykampagne). | ContextError.OPERATION_NOT_PERMITTED_FOR_CONTEXT |
| Auszuschließendes Kriterium | negative = true für VERTICAL_ADS_ITEM_BID wird festgelegt. |
ContextError.OPERATION_NOT_PERMITTED_FOR_CONTEXT |
| Fehlender Artikelcode oder fehlendes Gebot | Es wurde versucht, entity_bid zu erstellen, ohne item_code oder cpc_bid_micros anzugeben. |
RequestError.REQUIRED_FIELD_MISSING
/ FieldError.REQUIRED |
| Artikelcode ändern | Es wurde versucht, entity_bid.item_code für ein vorhandenes Kriterium zu aktualisieren. |
RequestError.IMMUTABLE_FIELD / FieldError.IMMUTABLE_FIELD |
Leistungsberichte
Mit ClickType.TRAVEL_ASSETS können Sie Leistungsdaten für Anzeigen abrufen, die als Reisefeeds in Suchanzeigen ausgeliefert werden, z. B. Leistungsdaten für die Anzeigen in allen Ihren Kampagnen:
SELECT
campaign.name,
segments.click_type,
metrics.impressions,
metrics.clicks
FROM campaign
WHERE segments.click_type = 'TRAVEL_ASSETS'
Dimensionssegmente für Reisepläne
Sie können Leistungsberichte für Kampagnen mit verknüpften Reisefeeds auch nach Reiseplandimensionen segmentieren:
segments.advance_booking_window: Der Reservierungszeitraum für den Reiseplan in Tagen.segments.length_of_booking: Die Buchungsdauer für den Reiseplan in Tagen.segments.start_date: Das Startdatum der Buchung im Formatyyyy-MM-dd.segments.start_day_of_week: Der erste Wochentag der Buchung.segments.user_set_dates: Gibt an, ob vom Nutzer angegebene Daten ausgewählt wurden (USER_SELECTEDoderDEFAULT_SELECTION).
Beispielabfrage
SELECT
campaign.name,
segments.advance_booking_window,
segments.length_of_booking,
segments.start_date,
segments.start_day_of_week,
segments.user_set_dates,
metrics.impressions,
metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS