Anzeigen

In diesem Leitfaden finden Sie eine Übersicht der verschiedenen Anzeigentypen und Funktionen in der API für einen typischen Anwendungsfall.

Szenario

Sie sind Inhaber des Geschäfts Intergalactic Guitar Shop und möchten eine Kampagne starten, um neue Kunden zu gewinnen. In den folgenden Abschnitten werden die verschiedenen Anzeigentypen und Funktionen beschrieben, mit denen Sie dieses Ziel erreichen.

Wo sollen Ihre Anzeigen ausgeliefert werden?

AdWords-Anzeigen können in zwei Werbenetzwerken ausgeliefert werden:

  • Das Suchnetzwerk umfasst Google-Suchergebnisseiten und weitere Google-Websites wie Google Maps und Google Shopping sowie Partner-Websites im Suchnetzwerk.
  • Das Displaynetzwerk umfasst Google-Websites wie YouTube, Blogger und Gmail sowie unzählige Partner-Websites im Internet.

Nehmen wir an, Sie möchten in beiden Netzwerken werben. Allerdings sollen die Suchnetzwerk-Kampagne und die Displaynetzwerk-Kampagne nicht separat verwaltet werden. Daher erstellen Sie eine Kampagne vom Typ Suchnetzwerk mit Displayauswahl mit einer einzelnen Anzeigengruppe.

Im Clientbibliothek-Ordner mit Beispielen für grundlegende Operationen finden Sie das Codebeispiel AddCampaigns, mit dem die Vorgehensweise ausführlich beschrieben wird.

Welchen Anzeigentyp möchten Sie erstellen?

Sie wissen jetzt, wo Ihre Anzeigen ausgeliefert werden. Nun geht es darum, den Anzeigentyp auszuwählen, der Ihre Anforderungen am besten erfüllt. Mit der AdWords API können die folgenden Anzeigentypen erstellt werden;

Typ Suchnetzwerk Displaynetzwerk Beschreibung
ExpandedTextAd

Ja

Ja

Neuer Standard für AdWords-Textanzeigen; enthält zwei Anzeigentitel, eine Beschreibung Ihres Produkts oder Ihrer Dienstleistung, Navigationspfade und eine generierte sichtbare URL

ProductAd

Ja

Nein

Produktanzeigen (in der AdWords-Benutzeroberfläche als Shopping-Anzeigen bezeichnet) basieren auf Produktdaten des mit einer Shopping-Kampagne verknüpften Merchant Center-Kontos

DynamicSearchAd

Ja

Nein

Auf dem Inhalt einer Website basierende, dynamisch generierte Suchnetzwerk-Anzeigen

ResponsiveDisplayAd

Nein

Ja

Enthält ein Marketingbild, einen kurzen Anzeigentitel, einen langen Anzeigentitel, eine Beschreibung und optional Felder für Name und Logo des Werbetreibenden

GmailAd

Nein

Ja

Anzeige für eine Gmail-Kampagne

CallOnlyAd

Nein

Ja

Anzeige für eine reine Click-to-Call-Kampagne

ImageAd

Ja1

Ja

Anzeige mit einer Grafik als Werbung für Ihr Unternehmen

TemplateAd

Ja2

Ja2

Auf einer vordefinierten Vorlage basierende Anzeige

1 Bildanzeigen (ImageAd) im Suchnetzwerk werden nur auf Websites von Suchnetzwerk-Partnern und nicht in der Google-Suche ausgeliefert.

2 In der Liste mit Vorlagenanzeigen (TemplateAd) und im Leitfaden für Anzeigenvorlagen finden Sie weitere Informationen, beispielsweise welche Werbenetzwerke die einzelnen Vorlagen-IDs unterstützen.

In diesem Leitfaden gehen wir davon aus, dass Sie mit einer erweiterten Textanzeige (ExpandedTextAd) beginnen möchten, weil das der gängigste Anzeigentyp ist, und dass Sie dieselbe ExpandedTextAd für Werbung im Such- und im Displaynetzwerk verwenden.

Erweiterte Textanzeigen einrichten

Eine ExpandedTextAd ist ein relativ einfaches Objekt. Sie müssen lediglich die folgenden Attribute angeben:

  • HeadlinePart1 erster Teil des Anzeigentitels
  • HeadlinePart2 zweiter Teil des Anzeigentitels
  • Description Textzeile der Anzeige
  • FinalUrls: die URLs der Seite(n) Ihrer Website, auf die Nutzer gelangen, wenn sie auf Ihre Anzeige klicken

Im Clientbibliothek-Ordner mit Beispielen für grundlegende Vorgänge finden Sie ein vollständiges Beispiel: AddExpandedTextAds.

Gmail-Anzeige einrichten

Eine GmailAd kann nur in einer Kampagne erstellt werden, bei der advertisingChannelType auf DISPLAY und advertisingChannelSubType auf DISPLAY_GMAIL_AD festgelegt ist. Beim Erstellen einer GmailAd müssen einige Punkte berücksichtigt werden:

  • Sie müssen entweder marketingImage oder productVideoList ausfüllen.
  • Wenn Sie sich für productVideoList entscheiden, müssen die Videos bereits im AdWords-System vorhanden sein. Sie können entweder über die AdWords-Oberfläche oder mithilfe von AdWords-Skripts hochgeladen werden. Die IDs lassen sich dann über MediaService abrufen.

Im Clientbibliothek-Ordner mit Beispielen für erweiterte Vorgänge finden Sie ein vollständiges Beispiel: AddGmailAds.

Anzeigenerweiterungen hinzufügen

Sie können in Ihrer Anzeigengruppe mit einem grundlegenden ExpandedTextAd-Objekt beginnen. Vielleicht haben Sie aber auch bereits im Such- und Displaynetzwerk Anzeigen gesehen, die zusätzliche Informationen, Links und Aktionsschaltflächen enthalten.

Diese zusätzlichen Elemente stammen aus Anzeigenerweiterungen. Die meisten Anzeigenerweiterungen werden über Feeddienste in der AdWords API verwaltet. Mit Anzeigenerweiterungen können Sie Ihre Anzeigen um folgende Elemente ergänzen:

  • Sitelinks enthalten zusätzliche Links zu bestimmten Seiten Ihrer Website.
  • Standorterweiterungen enthalten Ihre Geschäftsadresse, Ihre Telefonnummer und eine Kartenmarkierung mit Ihrem Anzeigentext. Auf Mobilgeräten ist außerdem ein Link mit einer Wegbeschreibung zu Ihrem Unternehmen enthalten.
  • App-Erweiterungen enthalten einen Link zu Ihrer App für Smartphones oder Tablets.
  • Erweiterungen mit Zusatzinformationen enthalten detaillierte Informationen zu Ihrem Unternehmen, einschließlich der von Ihnen angebotenen Produkte oder Dienstleistungen.
  • Rezensionserweiterungen enthalten in einer zusätzlichen Textzeile unterhalb Ihrer Anzeige in der Google-Suche eine positive Rezension, eine Auszeichnung oder eine Bewertung von Drittanbietern.

Als Inhaber von Intergalactic Guitar Shop möchten Sie potenzielle Kunden über die folgenden Produkte und Dienstleistungen informieren:

  • Reparaturservice
  • Verkauf von akustischen und E-Gitarren
  • Gitarrenunterricht

Für solche Informationen sind Sitelink-Erweiterungen bestens geeignet.

Eine Anleitung zum Einrichten von Sitelink-Erweiterungen finden Sie im Leitfaden für Dienste zur Einrichtung von Erweiterungen. Darin ist auch ein Link zu einem vollständigen Codebeispiel für jede Clientbibliothek enthalten.

Standorterweiterungen hinzufügen

Ihre Anzeige ist nun fertig und enthält Links zu diversen Bereichen Ihrer Website. Sie möchten aber, dass Nutzer den Standort Ihres Geschäfts leicht finden, insbesondere wenn sie die Anzeige auf einem Mobilgerät sehen.

Wenn Sie diese Informationen bereits in Ihr Google My Business-Konto eingegeben haben, wars das auch schon. Sie müssen dann nur noch Ihr Google My Business-Konto mit Ihren AdWords-Konten verknüpfen. Über AdWords wird daraufhin der Standort in Ihren Anzeigen eingeblendet.

Eine detaillierte Anleitung und Codebeispiele finden Sie im Leitfaden für Standorterweiterungen.

Weitere Anzeigenerweiterungen

Sie haben jetzt Sitelink- und Standorterweiterungen für Ihre Kampagne eingerichtet. Die Schritte zum Hinzufügen weiterer Erweiterungen wie App-Erweiterungen, Erweiterungen mit Zusatzinformationen oder Rezensionserweiterungen sind sehr ähnlich. Der einzige Unterschied ist der mit den Diensten zur Einrichtung von Erweiterungen verwendete ExtensionFeedItem-Typ.

Der Leitfaden für Dienste zur Einrichtung von Erweiterungen enthält Beispiele für jeden Erweiterungstyp.

Anzeigenrotation

Wenn eine Anzeigengruppe mehrere Anzeigen enthält, werden die Anzeigen abwechselnd ausgeliefert, da immer nur eine Anzeige aus einem Konto berücksichtigt werden kann. Über die Einstellungen für die Anzeigenrotation können Sie festlegen, wie oft Anzeigen einer Gruppe im Verhältnis zueinander präsentiert werden.

Es gibt zwei Einstellungen für die Anzeigenrotation.

  • Optimieren: Bei dieser Einstellung werden die voraussichtlich leistungsstärksten Anzeigen einer Anzeigengruppe priorisiert. Dies ist die Standardeinstellung.
  • Unbestimmte Anzeigenrotation: Bei dieser Einstellung werden die Anzeigen gleichmäßiger an die Auktionen ausgeliefert. Dies geschieht hier allerdings über einen unbestimmten Zeitraum hinweg und es findet keine Optimierung statt.

Die Einstellungen für die Anzeigenrotation werden auf Anzeigengruppenebene mithilfe der Property adGroupAdRotationMode der Gruppe festgelegt. Sie können die Einstellung für die Anzeigenrotation entfernen, indem Sie AdGroupAdRotationMode übergeben, bei dem adRotationMode auf null festgelegt ist.

Anzeigenplanung

Der richtige Zeitpunkt ist auch bei Werbung entscheidend. Viele Unternehmen haben zu bestimmten Tageszeiten spezielle Anforderungen an Werbung und möchten Nutzer zu bestimmten Zeiten ansprechen. Wenn Sie die Anzeigenplanung in Ihre Kampagnen integrieren, werden Ihre Anzeigen zum optimalen Zeitpunkt ausgeliefert. Das Ergebnis sind eine genauere Ausrichtung und höhere Umsätze.

Mit der Anzeigenplanung können Sie programmatisch entscheiden, wann Anzeigen ausgeliefert werden sollen, ohne dass sie manuell aktiviert bzw. deaktiviert werden müssen.

Die Anzeigenplanung erfolgt auf Kampagnenebene. Sie gilt daher für alle aktiven Anzeigengruppen und Anzeigen innerhalb einer Kampagne. Die Planung erfolgt mit dem CampaignCriterionService und einem seiner Kriteriumstypen, AdSchedule.

Mit jedem AdSchedule können Sie mehrere Eigenschaften wie etwa Wochentag, Beginn und Ende sowie eine Gebotsanpassung definieren. Hinweis: Gebotsanpassungen wurden bisher über den Parameter bid_multiplier von CampaignTargetService definiert. Mithilfe von Gebotsanpassungen können Sie Ihre Gebote für bestimmte Uhrzeiten erhöhen oder senken.

Codebeispiele

Wenn die Anzeigen hauptsächlich während der Öffnungszeiten ausgeliefert werden sollen, legen Sie die Startzeit kurz vor Geschäftsbeginn und die Schlusszeit kurz vor Geschäftsende fest:

Java

// Closed on Sunday, so don't configure an AdSchedule for Sunday.
List<DayOfWeek> mondayThroughSaturday =
    Arrays.asList(
        DayOfWeek.MONDAY,
        DayOfWeek.TUESDAY,
        DayOfWeek.WEDNESDAY,
        DayOfWeek.THURSDAY,
        DayOfWeek.FRIDAY,
        DayOfWeek.SATURDAY);

// Creates an operation to add an AdSchedule for each day of the week in the list.
List<CampaignCriterionOperation> operations = new ArrayList<>();
for (DayOfWeek dayOfWeek : mondayThroughSaturday) {
  AdSchedule schedule = new AdSchedule();
  schedule.setDayOfWeek(dayOfWeek);
  // Start at 8:45 am...
  schedule.setStartHour(8);
  schedule.setStartMinute(MinuteOfHour.FORTY_FIVE);
  // ... and end at 7:45 pm
  schedule.setEndHour(19);
  schedule.setEndMinute(MinuteOfHour.FORTY_FIVE);
  CampaignCriterionOperation operation = new CampaignCriterionOperation();
  CampaignCriterion campaignCriterion = new CampaignCriterion();

  campaignCriterion.setCampaignId(campaignId);
  campaignCriterion.setCriterion(schedule);
  // Run at normal bid rates
  campaignCriterion.setBidModifier(1.0);
  operation.setOperand(campaignCriterion);
  operation.setOperator(Operator.ADD);
  operations.add(operation);
}

CampaignCriterionReturnValue result =
    campaignCriterionService.mutate(
        operations.toArray(new CampaignCriterionOperation[operations.size()]));

C#

// Closed on Sunday, so don't configure an AdSchedule for Sunday.
List<DayOfWeek> mondayThroughSaturday = new List<DayOfWeek>() {
  DayOfWeek.MONDAY,
  DayOfWeek.TUESDAY,
  DayOfWeek.WEDNESDAY,
  DayOfWeek.THURSDAY,
  DayOfWeek.FRIDAY,
  DayOfWeek.SATURDAY
};

// Creates an operation to add an AdSchedule for each day of the week in the list.
List<CampaignCriterionOperation> operations = new List<CampaignCriterionOperation>();
foreach (DayOfWeek dayOfWeek in mondayThroughSaturday) {
  AdSchedule schedule = new AdSchedule();
  schedule.dayOfWeek = dayOfWeek;
  // Start at 8:45 am...
  schedule.startHour = 8;
  schedule.startMinute = MinuteOfHour.FORTY_FIVE;
  // ... and end at 7:45 pm
  schedule.endHour = 19;
  schedule.endMinute = MinuteOfHour.FORTY_FIVE;
  CampaignCriterionOperation operation = new CampaignCriterionOperation();
  CampaignCriterion campaignCriterion = new CampaignCriterion();

  campaignCriterion.campaignId = campaignId;
  campaignCriterion.criterion = schedule;
  // Run at normal bid rates
  campaignCriterion.bidModifier = 1.0;
  operation.operand = campaignCriterion;
  operation.@operator = Operator.ADD;
  operations.Add(operation);
}

CampaignCriterionReturnValue result =
    campaignCriterionService.mutate(operations.ToArray());

Python

# Closed on Sunday, so don't configure an AdSchedule for Sunday.
monday_through_saturday = [
    'MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY'
]

# Creates an operation to add an AdSchedule for each day of the week in the
# list.
operations = [{
    'operator': 'ADD',
    'operand': {
        'campaignId': campaign_id,
        'criterion': {
            'xsi_type': 'AdSchedule',
            'dayOfWeek': day,
            # Start at 8:45 A.M.
            'startHour': 8,
            'startMinute': 'FORTY_FIVE',
            # End at 7:45 P.M.
            'endHour': 19,
            'endMinute': 'FORTY_FIVE',
        },
        # Run at normal bid rates.
        'bidModifier': 1.0
    }
} for day in monday_through_saturday]

result = campaign_criterion_service.mutate(operations)

PHP

// Closed on Sunday, so don't configure an AdSchedule for Sunday.
$mondayThroughSaturday = [
    DayOfWeek::MONDAY,
    DayOfWeek::TUESDAY,
    DayOfWeek::WEDNESDAY,
    DayOfWeek::THURSDAY,
    DayOfWeek::FRIDAY,
    DayOfWeek::SATURDAY
];

// Creates an operation to add an AdSchedule for each day of the week in the
// list.
$operations = [];
foreach ($mondayThroughSaturday as $dayOfWeek) {
    $schedule = new AdSchedule();
    $schedule->setDayOfWeek($dayOfWeek);
    // Start at 8:45 am...
    $schedule->setStartHour(8);
    $schedule->setStartMinute(MinuteOfHour::FORTY_FIVE);
    // ... and end at 7:45 pm
    $schedule->setEndHour(19);
    $schedule->setEndMinute(MinuteOfHour::FORTY_FIVE);

    $campaignCriterion = new CampaignCriterion();
    $campaignCriterion->setCampaignId($campaignId);
    $campaignCriterion->setCriterion($schedule);
    // Run at normal bid rates
    $campaignCriterion->setBidModifier(1.0);

    $operation = new CampaignCriterionOperation();
    $operation->setOperand($campaignCriterion);
    $operation->setOperator(Operator::ADD);
    $operations[] = $operation;
}

$result = $campaignCriterionService->mutate($operations);

Perl

# Closed on Sunday, so don't configure an AdSchedule for Sunday.
my @monday_through_saturday =
  ('MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY');

# Creates an operation to add an AdSchedule for each day of the week in the list.
my @operations = ();
foreach my $day_of_week (@monday_through_saturday) {
  my $schedule = Google::Ads::AdWords::v201802::AdSchedule->new({
    dayOfWeek => $day_of_week,
    # Start at 8:45 am...
    startHour   => '8',
    startMinute => 'FORTY_FIVE',
    # ... and end at 7:45 pm
    endHour   => '19',
    endMinute => 'FORTY_FIVE'
  });

  my $campaign_criterion =
    Google::Ads::AdWords::v201802::CampaignCriterion->new({
      campaignId => $campaign_id,
      criterion  => $schedule,
      # Run at normal bid rates
      bidModifier => '1.0'
    });

  my $operation =
    Google::Ads::AdWords::v201802::CampaignCriterionOperation->new({
      operand  => $campaign_criterion,
      operator => 'ADD'
    });

  push @operations, $operation;
}

my $result =
  $client->CampaignCriterionService()->mutate({operations => \@operations});

Ruby

# Closed on Sunday, so don't configure an AdSchedule for Sunday.
monday_through_saturday = [
  'MONDAY',
  'TUESDAY',
  'WEDNESDAY',
  'THURSDAY',
  'FRIDAY',
  'SATURDAY'
]

# Creates an operation to add an AdSchedule for each day of the week in the
# list.
operations = monday_through_saturday.map do |day_of_week|
  schedule = {
    :xsi_type => 'AdSchedule',
    :day_of_week => day_of_week,
    # Start at 8:45 AM...
    :start_hour => 8,
    :start_minute => 'FORTY_FIVE',
    # ...and end at 7:45 PM.
    :end_hour => 19,
    :end_minute => 'FORTY_FIVE'
  }

  campaign_criterion = {
    :campaign_id => campaign_id,
    :criterion => schedule,
    :bid_modifier => 1.0
  }

  operation = {
    :operand => campaign_criterion,
    :operator => 'ADD'
  }

  next operation
end

result = campaign_criterion_srv.mutate(operations)

VB.NET

' Closed on Sunday, so don't configure an AdSchedule for Sunday.
Dim mondayThroughSaturday As DayOfWeek() = {
  DayOfWeek.MONDAY,
  DayOfWeek.TUESDAY,
  DayOfWeek.WEDNESDAY,
  DayOfWeek.THURSDAY,
  DayOfWeek.FRIDAY,
  DayOfWeek.SATURDAY
}

' Creates an operation to add an AdSchedule for each day of the week in the list.
Dim operations As New List(Of CampaignCriterionOperation)()
For Each dayOfWeek As DayOfWeek In mondayThroughSaturday
  Dim schedule As New AdSchedule()
  schedule.dayOfWeek = dayOfWeek
  ' Start at 8:45 am...
  schedule.startHour = 8
  schedule.startMinute = MinuteOfHour.FORTY_FIVE
  ' ... And end at 7:45 pm
  schedule.endHour = 19
  schedule.endMinute = MinuteOfHour.FORTY_FIVE
  Dim operation As New CampaignCriterionOperation()
  Dim campaignCriterion As New CampaignCriterion()

  campaignCriterion.campaignId = campaignId
  campaignCriterion.criterion = schedule
  ' Run at normal bid rates
  campaignCriterion.bidModifier = 1.0
  operation.operand = campaignCriterion
  operation.operator = [Operator].ADD
  operations.Add(operation)
Next

Dim result As CampaignCriterionReturnValue =
    campaignCriterionService.mutate(operations.ToArray())

Damit Nutzer rechtzeitig über ein besonderes Angebot zur Mittagszeit am Montag informiert werden, beginnen Sie mit der Anzeigenschaltung früh am Morgen und verstärken sie während der Angebotszeiten deutlich:

Java

List<CampaignCriterionOperation> operations = new ArrayList<>();

// Create operations to remove any existing ad schedules for Monday. Ad schedules cannot
// overlap.
for (Long existingCriterionId : existingCriteriaIds) {
  CampaignCriterion campaignCriterion = new CampaignCriterion();
  campaignCriterion.setCampaignId(campaignId);
  AdSchedule adSchedule = new AdSchedule();
  adSchedule.setId(existingCriterionId);
  campaignCriterion.setCriterion(adSchedule);

  CampaignCriterionOperation removeOperation = new CampaignCriterionOperation();
  removeOperation.setOperand(campaignCriterion);
  removeOperation.setOperator(Operator.REMOVE);

  operations.add(removeOperation);
}

// Create a schedule for 8:00 AM to 12:00 PM (noon) with no change to bids.
AdSchedule early = new AdSchedule();
early.setDayOfWeek(DayOfWeek.MONDAY);
early.setStartHour(8);
early.setStartMinute(MinuteOfHour.ZERO);
early.setEndHour(12);
early.setEndMinute(MinuteOfHour.ZERO);

CampaignCriterion campaignCriterionEarly = new CampaignCriterion();
// Run at normal bid rates.
campaignCriterionEarly.setBidModifier(1.0);
campaignCriterionEarly.setCampaignId(campaignId);
campaignCriterionEarly.setCriterion(early);

// Create a schedule for 12:00 PM (noon) to 2:00 PM with bids doubled.
AdSchedule peak = new AdSchedule();
peak.setDayOfWeek(DayOfWeek.MONDAY);
peak.setStartHour(12);
peak.setStartMinute(MinuteOfHour.ZERO);
peak.setEndHour(14);
peak.setEndMinute(MinuteOfHour.ZERO);

CampaignCriterion campaignCriterionPeak = new CampaignCriterion();
// Double the bid.
campaignCriterionPeak.setBidModifier(2.0);
campaignCriterionPeak.setCampaignId(campaignId);
campaignCriterionPeak.setCriterion(peak);

// Create operations to add the new schedules.
CampaignCriterionOperation operationEarly = new CampaignCriterionOperation();
operationEarly.setOperand(campaignCriterionEarly);
operationEarly.setOperator(Operator.ADD);
operations.add(operationEarly);

CampaignCriterionOperation operationPeak = new CampaignCriterionOperation();
operationPeak.setOperand(campaignCriterionPeak);
operationPeak.setOperator(Operator.ADD);
operations.add(operationPeak);

campaignCriterionService.mutate(
    operations.toArray(new CampaignCriterionOperation[operations.size()]));

C#

List<CampaignCriterionOperation> operations = new List<CampaignCriterionOperation>();

// Create operations to remove any existing ad schedules for Monday. Ad schedules cannot
// overlap.
foreach (long existingCriterionId in existingCriteriaIds) {
  CampaignCriterion campaignCriterion = new CampaignCriterion();
  campaignCriterion.campaignId = campaignId;
  AdSchedule adSchedule = new AdSchedule();
  adSchedule.id = existingCriterionId;
  campaignCriterion.criterion = adSchedule;

  CampaignCriterionOperation removeOperation = new CampaignCriterionOperation();
  removeOperation.operand = campaignCriterion;
  removeOperation.@operator = Operator.REMOVE;

  operations.Add(removeOperation);
}

// Create a schedule for 8:00 AM to 12:00 PM (noon) with no change to bids.
AdSchedule early = new AdSchedule();
early.dayOfWeek = DayOfWeek.MONDAY;
early.startHour = 8;
early.startMinute = MinuteOfHour.ZERO;
early.endHour = 12;
early.endMinute = MinuteOfHour.ZERO;

CampaignCriterion campaignCriterionEarly = new CampaignCriterion();
// Run at normal bid rates.
campaignCriterionEarly.bidModifier = 1.0;
campaignCriterionEarly.campaignId = campaignId;
campaignCriterionEarly.criterion = early;

// Create a schedule for 12:00 PM (noon) to 2:00 PM with bids doubled.
AdSchedule peak = new AdSchedule();
peak.dayOfWeek = DayOfWeek.MONDAY;
peak.startHour = 12;
peak.startMinute = MinuteOfHour.ZERO;
peak.endHour = 14;
peak.endMinute = MinuteOfHour.ZERO;

CampaignCriterion campaignCriterionPeak = new CampaignCriterion();
// Double the bid.
campaignCriterionPeak.bidModifier = 2.0;
campaignCriterionPeak.campaignId = campaignId;
campaignCriterionPeak.criterion = peak;

// Create operations to add the new schedules.
CampaignCriterionOperation operationEarly = new CampaignCriterionOperation();
operationEarly.operand = campaignCriterionEarly;
operationEarly.@operator = Operator.ADD;
operations.Add(operationEarly);

CampaignCriterionOperation operationPeak = new CampaignCriterionOperation();
operationPeak.operand = campaignCriterionPeak;
operationPeak.@operator = Operator.ADD;
operations.Add(operationPeak);

campaignCriterionService.mutate(operations.ToArray());

Python

# Create operations to remove existing ad schedules for Monday. Ad schedules
# can't overlap.
operations = [{
    'operator': 'REMOVE',
    'operand': {
        'campaignId': campaign_id,
        'criterion': {
            'id': criteria_id
        }
    }
} for criteria_id in existing_criteria_ids]

# Create a schedule for 8:00 A.M. to 12:00 P.M. (noon) with no change to bids.
operations.append({
    'operator': 'ADD',
    'operand': {
        'campaignId': campaign_id,
        'criterion': {
            'xsi_type': 'AdSchedule',
            'dayOfWeek': 'MONDAY',
            'startHour': 8,
            'startMinute': 'ZERO',
            'endHour': 12,
            'endMinute': 'ZERO'
        },
        # Run at normal bid rates.
        'bidModifier': 1.0
    }
})

# Create a schedule for 12:00 P.M. (noon) to 2 P.M. with bids doubled.
operations.append({
    'operator': 'ADD',
    'operand': {
        'campaignId': campaign_id,
        'criterion': {
            'xsi_type': 'AdSchedule',
            'dayOfWeek': 'MONDAY',
            'startHour': 12,
            'startMinute': 'ZERO',
            'endHour': 14,
            'endMinute': 'ZERO'
        },
        # Double the bid.
        'bidModifier': 2.0
    }
})

campaign_criterion_service.mutate(operations)

PHP

$operations = [];

// Create operations to remove any existing ad schedules for Monday. Ad
// schedules cannot overlap.
foreach ($existingCriteriaIds as $existingCriterionId) {
    $campaignCriterion = new CampaignCriterion();
    $campaignCriterion->setCampaignId($campaignId);
    $adSchedule = new AdSchedule();
    $adSchedule->setId($existingCriterionId);
    $campaignCriterion->setCriterion($adSchedule);

    $removeOperation = new CampaignCriterionOperation();
    $removeOperation->setOperand($campaignCriterion);
    $removeOperation->setOperator(Operator::REMOVE);

    $operations[] = $removeOperation;
}

// Create a schedule for 8:00 AM to 12:00 PM (noon) with no change to bids.
$early = new AdSchedule();
$early->setDayOfWeek(DayOfWeek::MONDAY);
$early->setStartHour(8);
$early->setStartMinute(MinuteOfHour::ZERO);
$early->setEndHour(12);
$early->setEndMinute(MinuteOfHour::ZERO);

$campaignCriterionEarly = new CampaignCriterion();
// Run at normal bid rates.
$campaignCriterionEarly->setBidModifier(1.0);
$campaignCriterionEarly->setCampaignId($campaignId);
$campaignCriterionEarly->setCriterion($early);

// Create a schedule for 12:00 PM (noon) to 2:00 PM with bids doubled.
$peak = new AdSchedule();
$peak->setDayOfWeek(DayOfWeek::MONDAY);
$peak->setStartHour(12);
$peak->setStartMinute(MinuteOfHour::ZERO);
$peak->setEndHour(14);
$peak->setEndMinute(MinuteOfHour::ZERO);

$campaignCriterionPeak = new CampaignCriterion();
// Double the bid.
$campaignCriterionPeak->setBidModifier(2.0);
$campaignCriterionPeak->setCampaignId($campaignId);
$campaignCriterionPeak->setCriterion($peak);

// Create operations to add the new schedules.
$operationEarly = new CampaignCriterionOperation();
$operationEarly->setOperand($campaignCriterionEarly);
$operationEarly->setOperator(Operator::ADD);
$operations[] = $operationEarly;

$operationPeak = new CampaignCriterionOperation();
$operationPeak->setOperand($campaignCriterionPeak);
$operationPeak->setOperator(Operator::ADD);
$operations[] = $operationPeak;

$campaignCriterionService->mutate($operations);

Perl

my @operations = ();

# Create operations to remove any existing ad schedules for Monday. Ad
# schedules cannot overlap.
for my $existing_criterion_id (@{$existing_criterion_ids}) {
  my $campaign_criterion =
    Google::Ads::AdWords::v201802::CampaignCriterion->new({
      campaignId => $campaign_id,
      criterion  => Google::Ads::AdWords::v201802::AdSchedule->new({
          id => $existing_criterion_id
        })});

  my $remove_operation =
    Google::Ads::AdWords::v201802::CampaignCriterionOperation->new({
      operand  => $campaign_criterion,
      operator => 'REMOVE'
    });

  push @operations, $remove_operation;
}

# Create a schedule for 8:00 AM to 12:00 PM (noon) with no change to bids.
my $early = Google::Ads::AdWords::v201802::AdSchedule->new({
  dayOfWeek   => 'MONDAY',
  startHour   => '8',
  startMinute => 'ZERO',
  endHour     => '12',
  endMinute   => 'ZERO'
});

my $campaign_criterion_early =
  Google::Ads::AdWords::v201802::CampaignCriterion->new({
    campaignId => $campaign_id,
    criterion  => $early,
    # Run at normal bid rates
    bidModifier => '1.0'
  });

# Create a schedule for 12:00 PM (noon) to 2:00 PM with bids doubled.
my $peak = Google::Ads::AdWords::v201802::AdSchedule->new({
  dayOfWeek   => 'MONDAY',
  startHour   => '12',
  startMinute => 'ZERO',
  endHour     => '14',
  endMinute   => 'ZERO'
});

my $campaign_criterion_peak =
  Google::Ads::AdWords::v201802::CampaignCriterion->new({
    campaignId => $campaign_id,
    criterion  => $peak,
    # Double the bid.
    bidModifier => '2.0'
  });

# Create operations to add the new schedules.
my $operation_early =
  Google::Ads::AdWords::v201802::CampaignCriterionOperation->new({
    operand  => $campaign_criterion_early,
    operator => 'ADD'
  });
push @operations, $operation_early;

my $operation_peak =
  Google::Ads::AdWords::v201802::CampaignCriterionOperation->new({
    operand  => $campaign_criterion_peak,
    operator => 'ADD'
  });
push @operations, $operation_peak;

$client->CampaignCriterionService()->mutate({operations => \@operations});

Ruby

operations = []

# Create operations to remove any existing ad schedules for Monday. Ad
# schedules cannot overlap.
existing_criteria_ids.each do |existing_criterion_id|
  operations << {
    :operator => 'REMOVE',
    :operand => {
      :campaign_id => campaign_id,
      :criterion => {
        :id => existing_criterion_id
      }
    }
  }
end

# Create a schedule for 8:00 AM to 12:00 PM (noon) with no change to bids.
early = {
  :xsi_type => 'AdSchedule',
  :day_of_week => 'MONDAY',
  :start_hour => 8,
  :start_minute => 'ZERO',
  :end_hour => 12,
  :end_minute => 'ZERO'
}

campaign_criterion_early = {
  :bid_modifier => 1.0,
  :campaign_id => campaign_id,
  :criterion => early
}

operations << {
  :operator => 'ADD',
  :operand => campaign_criterion_early
}

# Create a schedule from 12:00 PM (noon) to 2:00 PM with bids doubled.
peak = {
  :xsi_type => 'AdSchedule',
  :day_of_week => 'MONDAY',
  :start_hour => 12,
  :start_minute => 'ZERO',
  :end_hour => 14,
  :end_minute => 'ZERO'
}

campaign_criterion_peak = {
  # Double the bid.
  :bid_modifier => 2.0,
  :campaign_id => campaign_id,
  :criterion => peak
}

operations << {
  :operator => 'ADD',
  :operand => campaign_criterion_peak
}

campaign_criterion_srv.mutate(operations)

VB.NET

Dim operations As New List(Of CampaignCriterionOperation)()

' Create operations to remove any existing ad schedules for Monday. Ad schedules cannot
' overlap.
For Each existingCriterionId As Long In existingCriteriaIds
  Dim campaignCriterion As New CampaignCriterion()
  campaignCriterion.campaignId = campaignId
  Dim adSchedule As New AdSchedule()
  adSchedule.id = existingCriterionId
  campaignCriterion.criterion = adSchedule

  Dim removeOperation As New CampaignCriterionOperation()
  removeOperation.operand = campaignCriterion
  removeOperation.operator = [Operator].REMOVE

  operations.Add(removeOperation)
Next

' Create a schedule for 800 AM to 1200 PM (noon) with no change to bids.
Dim early As New AdSchedule()
early.dayOfWeek = DayOfWeek.MONDAY
early.startHour = 8
early.startMinute = MinuteOfHour.ZERO
early.endHour = 12
early.endMinute = MinuteOfHour.ZERO

Dim campaignCriterionEarly As New CampaignCriterion()
' Run at normal bid rates.
campaignCriterionEarly.bidModifier = 1.0
campaignCriterionEarly.campaignId = campaignId
campaignCriterionEarly.criterion = early

' Create a schedule for 1200 PM (noon) to 200 PM with bids doubled.
Dim peak As New AdSchedule()
peak.dayOfWeek = DayOfWeek.MONDAY
peak.startHour = 12
peak.startMinute = MinuteOfHour.ZERO
peak.endHour = 14
peak.endMinute = MinuteOfHour.ZERO

Dim campaignCriterionPeak As New CampaignCriterion()
' Double the bid.
campaignCriterionPeak.bidModifier = 2.0
campaignCriterionPeak.campaignId = campaignId
campaignCriterionPeak.criterion = peak

' Create operations to add the New schedules.
Dim operationEarly As New CampaignCriterionOperation()
operationEarly.operand = campaignCriterionEarly
operationEarly.operator = [Operator].ADD
operations.Add(operationEarly)

Dim operationPeak As New CampaignCriterionOperation()
operationPeak.operand = campaignCriterionPeak
operationPeak.operator = [Operator].ADD
operations.Add(operationPeak)

campaignCriterionService.mutate(operations.ToArray())

Wenn Ihre Anzeigen nicht mehr zu bestimmten Zeiten ausgeliefert werden sollen, entfernen Sie die AdSchedule-Kriterien mithilfe der id und der id der Kampagne.

Java

List<CampaignCriterionOperation> removeOperations = new ArrayList<>();

for (Long criterionId : criteriaIds) {
  // Remove the schedule with the specified criterion ID.
  AdSchedule scheduleToRemove = new AdSchedule();
  scheduleToRemove.setId(criterionId);

  CampaignCriterion campaignCriterion = new CampaignCriterion();

  campaignCriterion.setCampaignId(campaignId);
  campaignCriterion.setCriterion(scheduleToRemove);

  CampaignCriterionOperation operation = new CampaignCriterionOperation();
  operation.setOperand(campaignCriterion);
  operation.setOperator(Operator.REMOVE);
  removeOperations.add(operation);
}

campaignCriterionService.mutate(
    removeOperations.toArray(new CampaignCriterionOperation[removeOperations.size()]));

C#

List<CampaignCriterionOperation> removeOperations = new List<CampaignCriterionOperation>();

foreach (long criterionId in criteriaIds) {
  // Remove the schedule with the specified criterion ID.
  AdSchedule scheduleToRemove = new AdSchedule();
  scheduleToRemove.id = criterionId;

  CampaignCriterion campaignCriterion = new CampaignCriterion();

  campaignCriterion.campaignId = campaignId;
  campaignCriterion.criterion = scheduleToRemove;

  CampaignCriterionOperation operation = new CampaignCriterionOperation();
  operation.operand = campaignCriterion;
  operation.@operator = Operator.REMOVE;
  removeOperations.Add(operation);
}

campaignCriterionService.mutate(removeOperations.ToArray());

Python

operations = [{
    'operator': 'REMOVE',
    'operand': {
        'campaignId': campaign_id,
        'criterion': {
            'id': criteria_id
        }
    }
} for criteria_id in criteria_ids]

if operations:
  campaign_criterion_service.mutate(operations)

PHP

$removeOperations = [];

foreach ($criteriaIds as $criterionId) {
    // Remove the schedule with the specified criterion ID.
    $scheduleToRemove = new AdSchedule();
    $scheduleToRemove->setId($criterionId);

    $campaignCriterion = new CampaignCriterion();

    $campaignCriterion->setCampaignId($campaignId);
    $campaignCriterion->setCriterion($scheduleToRemove);

    $operation = new CampaignCriterionOperation();
    $operation->setOperand($campaignCriterion);
    $operation->setOperator(Operator::REMOVE);
    $removeOperations[] = $operation;
}

if (!empty($removeOperations)) {
    $campaignCriterionService->mutate($removeOperations);
}

Perl

my @remove_operations = ();

foreach my $criterion_id (@{$criteria_ids}) {
  # Remove the schedule with the specified criterion ID.
  my $schedule_to_remove = Google::Ads::AdWords::v201802::AdSchedule->new({
    id => $criterion_id
  });

  my $campaign_criterion =
    Google::Ads::AdWords::v201802::CampaignCriterion->new({
      campaignId => $campaign_id,
      criterion  => $schedule_to_remove
    });

  my $operation =
    Google::Ads::AdWords::v201802::CampaignCriterionOperation->new({
      operand  => $campaign_criterion,
      operator => 'REMOVE'
    });
  push @remove_operations, $operation;
}

$client->CampaignCriterionService()
  ->mutate({operations => \@remove_operations});

Ruby

operations = criteria_ids.map do |criterion_id|
  {
    :operator => 'REMOVE',
    :operand => {
      :campaign_id => campaign_id,
      :criterion => {
        :id => criterion_id
      }
    }
  }
end

campaign_criterion_srv.mutate(operations) unless operations.empty?

VB.NET

Dim removeOperations As New List(Of CampaignCriterionOperation)()

For Each criterionId As Long In criteriaIds
  ' Remove the schedule with the specified criterion ID.
  Dim scheduleToRemove As New AdSchedule()
  scheduleToRemove.id = criterionId

  Dim campaignCriterion As New CampaignCriterion()

  campaignCriterion.campaignId = campaignId
  campaignCriterion.criterion = scheduleToRemove

  Dim operation As New CampaignCriterionOperation()
  operation.operand = campaignCriterion
  operation.operator = [Operator].REMOVE
  removeOperations.Add(operation)
Next

campaignCriterionService.mutate(removeOperations.ToArray())

Aus diesem Beispiel geht hervor, wie Sie die Zeit ändern können, zu der Anzeigen ausgeliefert werden. Sie müssen zuerst den vorhandenen AdSchedule entfernen und dann einen neuen hinzufügen.

Java

List<CampaignCriterionOperation> operations = new ArrayList<>();

// Create an operation that will remove the existing schedule for Friday.
AdSchedule existingScheduleForFriday = new AdSchedule();
existingScheduleForFriday.setId(criterionIdForFriday);

CampaignCriterion existingCampaignCriterionForFriday = new CampaignCriterion();
existingCampaignCriterionForFriday.setCampaignId(campaignId);
existingCampaignCriterionForFriday.setCriterion(existingScheduleForFriday);

CampaignCriterionOperation removeOperation = new CampaignCriterionOperation();
removeOperation.setOperand(existingCampaignCriterionForFriday);
removeOperation.setOperator(Operator.REMOVE);
operations.add(removeOperation);

// Create an operation to add the new schedule for Friday.
AdSchedule newScheduleForFriday = new AdSchedule();
newScheduleForFriday.setDayOfWeek(DayOfWeek.FRIDAY);
// Start at 3:00 pm...
newScheduleForFriday.setStartHour(15);
newScheduleForFriday.setStartMinute(MinuteOfHour.ZERO);
// ... and end at 7:45 pm
newScheduleForFriday.setEndHour(19);
newScheduleForFriday.setEndMinute(MinuteOfHour.FORTY_FIVE);

CampaignCriterion newCampaignCriterionForFriday = new CampaignCriterion();
newCampaignCriterionForFriday.setCampaignId(campaignId);
newCampaignCriterionForFriday.setCriterion(newScheduleForFriday);
// Run at normal bid rates
newCampaignCriterionForFriday.setBidModifier(1.0);

CampaignCriterionOperation addOperation = new CampaignCriterionOperation();
addOperation.setOperand(newCampaignCriterionForFriday);
addOperation.setOperator(Operator.ADD);
operations.add(addOperation);

campaignCriterionService.mutate(
    operations.toArray(new CampaignCriterionOperation[operations.size()]));

C#

List<CampaignCriterionOperation> operations = new List<CampaignCriterionOperation>();

// Create an operation that will remove the existing schedule for Friday.
AdSchedule existingScheduleForFriday = new AdSchedule();
existingScheduleForFriday.id = criterionIdForFriday;

CampaignCriterion existingCampaignCriterionForFriday = new CampaignCriterion();
existingCampaignCriterionForFriday.campaignId = campaignId;
existingCampaignCriterionForFriday.criterion = existingScheduleForFriday;

CampaignCriterionOperation removeOperation = new CampaignCriterionOperation();
removeOperation.operand = existingCampaignCriterionForFriday;
removeOperation.@operator = Operator.REMOVE;
operations.Add(removeOperation);

// Create an operation to add the new schedule for Friday.
AdSchedule newScheduleForFriday = new AdSchedule();
newScheduleForFriday.dayOfWeek = DayOfWeek.FRIDAY;
// Start at 3:00 pm...
newScheduleForFriday.startHour = 15;
newScheduleForFriday.startMinute = MinuteOfHour.ZERO;
// ... and end at 7:45 pm
newScheduleForFriday.endHour = 19;
newScheduleForFriday.endMinute = MinuteOfHour.FORTY_FIVE;

CampaignCriterion newCampaignCriterionForFriday = new CampaignCriterion();
newCampaignCriterionForFriday.campaignId = campaignId;
newCampaignCriterionForFriday.criterion = newScheduleForFriday;
// Run at normal bid rates
newCampaignCriterionForFriday.bidModifier = 1.0;

CampaignCriterionOperation addOperation = new CampaignCriterionOperation();
addOperation.operand = newCampaignCriterionForFriday;
addOperation.@operator = Operator.ADD;
operations.Add(addOperation);

campaignCriterionService.mutate(operations.ToArray());

Python

operations = [
    # Create an operation that will remove the existing schedule for Friday.
    {
        'operator': 'REMOVE',
        'operand': {
            'campaignId': campaign_id,
            'criterion': {
                'id': friday_criterion_id
            }
        }
    },
    # Create an operation to add the new schedule for Friday.
    {
        'operator': 'ADD',
        'operand': {
            'campaignId': campaign_id,
            'criterion': {
                'xsi_type': 'AdSchedule',
                'dayOfWeek': 'FRIDAY',
                'startHour': 15,
                'startMinute': 'ZERO',
                'endHour': 19,
                'endMinute': 'FORTY_FIVE'
            },
            # Run at normal bid rates.
            'bidModifier': 1.0
        }
    }
]

campaign_criterion_service.mutate(operations)

PHP

$operations = [];

// Create an operation that will remove the existing schedule for Friday.
$existingScheduleForFriday = new AdSchedule();
$existingScheduleForFriday->setId($criterionIdForFriday);

$existingCampaignCriterionForFriday = new CampaignCriterion();
$existingCampaignCriterionForFriday->setCampaignId($campaignId);
$existingCampaignCriterionForFriday->setCriterion(
    $existingScheduleForFriday
);

$removeOperation = new CampaignCriterionOperation();
$removeOperation->setOperand($existingCampaignCriterionForFriday);
$removeOperation->setOperator(Operator::REMOVE);
$operations[] = $removeOperation;

// Create an operation to add the new schedule for Friday.
$newScheduleForFriday = new AdSchedule();
$newScheduleForFriday->setDayOfWeek(DayOfWeek::FRIDAY);
// Start at 3:00 pm...
$newScheduleForFriday->setStartHour(15);
$newScheduleForFriday->setStartMinute(MinuteOfHour::ZERO);
// ... and end at 7:45 pm
$newScheduleForFriday->setEndHour(19);
$newScheduleForFriday->setEndMinute(MinuteOfHour::FORTY_FIVE);

$newCampaignCriterionForFriday = new CampaignCriterion();
$newCampaignCriterionForFriday->setCampaignId($campaignId);
$newCampaignCriterionForFriday->setCriterion($newScheduleForFriday);
// Run at normal bid rates
$newCampaignCriterionForFriday->setBidModifier(1.0);

$addOperation = new CampaignCriterionOperation();
$addOperation->setOperand($newCampaignCriterionForFriday);
$addOperation->setOperator(Operator::ADD);
$operations[] = $addOperation;

$campaignCriterionService->mutate($operations);

Perl

my @operations = ();

# Create an operation that will remove the existing schedule for Friday.
my $existing_campaign_criterion_for_friday =
  Google::Ads::AdWords::v201802::CampaignCriterion->new({
    campaignId => $campaign_id,
    criterion  => Google::Ads::AdWords::v201802::AdSchedule->new({
        id => $criterion_id_for_friday
      })});

my $remove_operation =
  Google::Ads::AdWords::v201802::CampaignCriterionOperation->new({
    operand  => $existing_campaign_criterion_for_friday,
    operator => 'REMOVE'
  });

push @operations, $remove_operation;

# Create an operation to add the new schedule for Friday.
my $new_schedule_for_friday = Google::Ads::AdWords::v201802::AdSchedule->new({
  dayOfWeek => 'FRIDAY',
  # Start at 3:00 pm...
  startHour   => '15',
  startMinute => 'ZERO',
  # ... and end at 7:45 pm
  endHour   => '19',
  endMinute => 'FORTY_FIVE'
});

my $new_campaign_criterion_for_friday =
  Google::Ads::AdWords::v201802::CampaignCriterion->new({
    campaignId => $campaign_id,
    criterion  => $new_schedule_for_friday,
    # Run at normal bid rates
    bidModifier => '1.0'
  });

my $add_operation =
  Google::Ads::AdWords::v201802::CampaignCriterionOperation->new({
    operand  => $new_campaign_criterion_for_friday,
    operator => 'ADD'
  });
push @operations, $add_operation;

$client->CampaignCriterionService()->mutate({operations => \@operations});

Ruby

operations = []

# Create an operation that will remove the existing schedule for Friday.
operations << {
  :operator => 'REMOVE',
  :operand => {
    :campaign_id => campaign_id,
    :criterion => {
      :id => criterion_id_for_friday
    }
  }
}

# Create an operation to add the new schedule for Friday.
operations << {
  :operator => 'ADD',
  :operand => {
    :campaign_id => campaign_id,
    # Run at normal bid rades.
    :bid_modifier => 1.0,
    :criterion => {
      :xsi_type => 'AdSchedule',
      :day_of_week => 'FRIDAY',
      # Start at 3:00 PM...
      :start_hour => 15,
      :start_minute => 'ZERO',
      # ...and end at 7:45 PM.
      :end_hour => 19,
      :end_minute => 'FORTY_FIVE'
    }
  }
}

campaign_criterion_srv.mutate(operations)

VB.NET

Dim operations As New List(Of CampaignCriterionOperation)()

' Create an operation that will remove the existing schedule for Friday.
Dim existingScheduleForFriday As New AdSchedule()
existingScheduleForFriday.id = criterionIdForFriday

Dim existingCampaignCriterionForFriday As New CampaignCriterion()
existingCampaignCriterionForFriday.campaignId = campaignId
existingCampaignCriterionForFriday.criterion = existingScheduleForFriday

Dim removeOperation As New CampaignCriterionOperation()
removeOperation.operand = existingCampaignCriterionForFriday
removeOperation.operator = [Operator].REMOVE
operations.Add(removeOperation)

' Create an operation to add the New schedule for Friday.
Dim newScheduleForFriday As New AdSchedule()
newScheduleForFriday.dayOfWeek = DayOfWeek.FRIDAY
' Start at 3:00 pm...
newScheduleForFriday.startHour = 15
newScheduleForFriday.startMinute = MinuteOfHour.ZERO
' ... And end at 7:45 pm
newScheduleForFriday.endHour = 19
newScheduleForFriday.endMinute = MinuteOfHour.FORTY_FIVE

Dim newCampaignCriterionForFriday As New CampaignCriterion()
newCampaignCriterionForFriday.campaignId = campaignId
newCampaignCriterionForFriday.criterion = newScheduleForFriday
' Run at normal bid rates
newCampaignCriterionForFriday.bidModifier = 1.0

Dim addOperation As New CampaignCriterionOperation()
addOperation.operand = newCampaignCriterionForFriday
addOperation.operator = [Operator].ADD
operations.Add(addOperation)

campaignCriterionService.mutate(operations.ToArray())

In den folgenden Codebeispielen wird gezeigt, wie Sie mit dem CampaignCriterionService einer vorhandenen Kampagne ein Ziel hinzufügen:

Anzeigenleistung analysieren

Nachdem Sie eine Kampagne, eine Anzeigengruppe, eine Textanzeige und mehrere Anzeigenerweiterungen eingerichtet haben, möchten Sie deren Leistung ermitteln. An dieser Stelle kommen Berichte ins Spiel.

Sie können die Leistung Ihrer Kampagne aus verschiedenen Blickwinkeln betrachten, um wichtige Fragen zu beantworten. Maximieren Sie die einzelnen Anwendungsfälle, um die relevanten Berichte und Felder sowie ein Beispiel für eine AWQL-Berichtsanfrage zu sehen.

Bei den Fragen oben liegt der Schwerpunkt auf häufigen Anwendungsfällen und Funktionen. Weitere Möglichkeiten finden Sie in der vollständigen Liste der Berichtstypen.

Weitere Informationen

Wenn Sie Ihre Berichte analysiert haben, haben Sie folgende Möglichkeiten:

Feedback geben zu...