Häufige Trafficking-Aufgaben

Auf dieser Seite wird beschrieben, wie Sie einige der häufigsten Trafficking-Aufgaben mit der DCM/DFA Reporting and Trafficking API ausführen.

Allgemeine Programmiertipps

  • Erforderliche und optionale Properties und Parameter: In der Referenzdokumentation finden Sie Informationen dazu, ob eine Property oder ein Parameter für einen API-Aufruf erforderlich ist.
  • Platzhaltersuche nach Namen: Sie können den Platzhalter „*“ verwenden, wenn Sie nach Namen für Objekte suchen. Ein Sternchen entspricht null oder mehr beliebigen Zeichen. Die API unterstützt auch die implizite Suche nach Teilstrings. Bei einer Suche nach „abc“ wird also implizit nach „*abc*“ gesucht.
  • Aktualisieren und Patchen: Sie haben zwei Möglichkeiten, ein vorhandenes Objekt zu ändern:
    1. Aktualisieren: Beim Aktualisieren eines Objekts werden beim Einfügen alle Felder überschrieben. Es ist wichtig, das Objekt zu laden, das Sie aktualisieren möchten, und alle Änderungen an diesem Objekt vorzunehmen. Andernfalls werden alle Felder, die in der Aktualisierungsanfrage nicht vorhanden sind, zurückgesetzt.
    2. Patching: Beim Patchen werden beim Einfügen nur die angegebenen Felder überschrieben. In diesem Fall können Sie ein neues Objekt erstellen, ihm dieselbe ID wie dem zu aktualisierenden Objekt zuweisen, die zu aktualisierenden Felder festlegen und die Patch-Anfrage ausführen.
  • Größen: Die physischen Abmessungen werden durch ein Size-Objekt dargestellt, das vom Sizes-Dienst definiert wird. Das Konto enthält eine Reihe von Standardgrößen. Sie können dieser Liste auch eigene benutzerdefinierte Größen hinzufügen.
  • Datums- und Zeitangaben: Sie können Datums- und Zeitangaben im RFC 3339-Format mit lokalen Zeitzonen speichern. Alle von der API zurückgegebenen Werte sind in UTC. Das unterscheidet sich von der Website, auf der Datums- und Zeitangaben in der von Ihnen konfigurierten Zeitzone (standardmäßig „America/New York“) angezeigt werden.

Werbetreibende erstellen

C#

  1. Erstellen Sie ein Advertiser-Objekt und legen Sie die erforderlichen Attribute name und status fest.
    // Create the advertiser structure.
    Advertiser advertiser = new Advertiser();
    advertiser.Name = advertiserName;
    advertiser.Status = "APPROVED";
  2. Rufen Sie advertisers.insert() auf, um den Werbetreibenden zu speichern.
    // Create the advertiser.
    Advertiser result = service.Advertisers.Insert(advertiser, profileId).Execute();

Java

  1. Erstellen Sie ein Advertiser-Objekt und legen Sie die erforderlichen Attribute name und status fest.
    // Create the advertiser structure.
    Advertiser advertiser = new Advertiser();
    advertiser.setName(advertiserName);
    advertiser.setStatus("APPROVED");
  2. Rufen Sie advertisers.insert() auf, um den Werbetreibenden zu speichern.
    // Create the advertiser.
    Advertiser result = reporting.advertisers().insert(profileId, advertiser).execute();

PHP

  1. Erstellen Sie ein Advertiser-Objekt und legen Sie die erforderlichen Attribute name und status fest.
    $advertiser = new Google_Service_Dfareporting_Advertiser();
    $advertiser->setName($values['advertiser_name']);
    $advertiser->setStatus('APPROVED');
  2. Rufen Sie advertisers.insert() auf, um den Werbetreibenden zu speichern.
    $result = $this->service->advertisers->insert(
        $values['user_profile_id'],
        $advertiser
    );

Python

  1. Erstellen Sie ein Advertiser-Objekt und legen Sie die erforderlichen Attribute name und status fest.
    # Construct and save advertiser.
    advertiser = {
        'name': 'Test Advertiser',
        'status': 'APPROVED'
    }
  2. Rufen Sie advertisers.insert() auf, um den Werbetreibenden zu speichern.
    request = service.advertisers().insert(
        profileId=profile_id, body=advertiser)
    
    # Execute request and print response.
    response = request.execute()

Ruby

  1. Erstellen Sie ein Advertiser-Objekt und legen Sie die erforderlichen Attribute name und status fest.
    # Create a new advertiser resource to insert.
    advertiser = DfareportingUtils::API_NAMESPACE::Advertiser.new(
      name: format('Example Advertiser #%s', SecureRandom.hex(3)),
      status: 'APPROVED'
    )
  2. Rufen Sie advertisers.insert() auf, um den Werbetreibenden zu speichern.
    # Insert the advertiser.
    result = service.insert_advertiser(profile_id, advertiser)

Kampagne erstellen

C#

  1. Erstellen Sie ein Campaign-Objekt und legen Sie die erforderlichen Attribute fest:

    • advertiserId: Der Werbetreibende, dem diese Kampagne zugeordnet werden soll.
    • name: Dieser Wert muss für alle Kampagnen dieses Werbetreibenden eindeutig sein.
    • defaultLandingPageId: Eine Landingpage, auf die Nutzer weitergeleitet werden, wenn sie auf eine Anzeige in dieser Kampagne klicken, sofern der Anzeige keine Landingpage zugewiesen ist. Sie können vorhandene Landingpages mit advertiserLandingPages.list aufrufen oder mit advertiserLandingPages.insert eine neue erstellen.
    • Start- und Enddatum: Diese müssen in der Zukunft liegen und können auf den Tag genau angegeben werden. Weitere Informationen finden Sie im Aufzählungspunkt „Datumsangaben und Uhrzeiten“ unter Allgemeine Informationen zur Programmierung. Die einzelnen Anzeigendatumsangaben können das Enddatum überschreiten, damit ein Publisher versuchen kann, einen Vertrag für eine bestimmte Anzahl von Aktionen zu erfüllen, wenn dies bis zum angegebenen Kampagnenenddatum nicht geschehen ist.
    // Locate an advertiser landing page to use as a default.
    LandingPage defaultLandingPage = getAdvertiserLandingPage(service, profileId, advertiserId);
    
    // Create the campaign structure.
    Campaign campaign = new Campaign();
    campaign.Name = campaignName;
    campaign.AdvertiserId = advertiserId;
    campaign.Archived = false;
    campaign.DefaultLandingPageId = defaultLandingPage.Id;
    
    // Set the campaign start date. This example uses today's date.
    campaign.StartDate =
        DfaReportingDateConverterUtil.convertToDateString(DateTime.Now);
    
    // Set the campaign end date. This example uses one month from today's date.
    campaign.EndDate =
        DfaReportingDateConverterUtil.convertToDateString(DateTime.Now.AddMonths(1));
  2. Rufen Sie campaigns.insert() auf, um die Kampagne zu speichern.

    // Insert the campaign.
    Campaign result = service.Campaigns.Insert(campaign, profileId).Execute();

Java

  1. Erstellen Sie ein Campaign-Objekt und legen Sie die erforderlichen Attribute fest:

    • advertiserId: Der Werbetreibende, dem diese Kampagne zugeordnet werden soll.
    • name: Dieser Wert muss für alle Kampagnen dieses Werbetreibenden eindeutig sein.
    • defaultLandingPageId: Eine Landingpage, auf die Nutzer weitergeleitet werden, wenn sie auf eine Anzeige in dieser Kampagne klicken, sofern der Anzeige keine Landingpage zugewiesen ist. Sie können vorhandene Landingpages mit advertiserLandingPages.list aufrufen oder mit advertiserLandingPages.insert eine neue erstellen.
    • Start- und Enddatum: Diese müssen in der Zukunft liegen und können auf den Tag genau angegeben werden. Weitere Informationen finden Sie im Aufzählungspunkt „Datumsangaben und Uhrzeiten“ unter Allgemeine Informationen zur Programmierung. Die einzelnen Anzeigendatumsangaben können das Enddatum überschreiten, damit ein Publisher versuchen kann, einen Vertrag für eine bestimmte Anzahl von Aktionen zu erfüllen, wenn dies bis zum angegebenen Kampagnenenddatum nicht geschehen ist.
    // Locate an advertiser landing page to use as a default.
    LandingPage defaultLandingPage = getAdvertiserLandingPage(reporting, profileId, advertiserId);
    
    // Create the campaign structure.
    Campaign campaign = new Campaign();
    campaign.setName(campaignName);
    campaign.setAdvertiserId(advertiserId);
    campaign.setArchived(false);
    campaign.setDefaultLandingPageId(defaultLandingPage.getId());
    
    // Set the campaign start date. This example uses today's date.
    Calendar today = Calendar.getInstance();
    DateTime startDate = new DateTime(true, today.getTimeInMillis(), null);
    campaign.setStartDate(startDate);
    
    // Set the campaign end date. This example uses one month from today's date.
    Calendar nextMonth = Calendar.getInstance();
    nextMonth.add(Calendar.MONTH, 1);
    DateTime endDate = new DateTime(true, nextMonth.getTimeInMillis(), null);
    campaign.setEndDate(endDate);
  2. Rufen Sie campaigns.insert() auf, um die Kampagne zu speichern.

    // Insert the campaign.
    Campaign result = reporting.campaigns().insert(profileId, campaign).execute();

PHP

  1. Erstellen Sie ein Campaign-Objekt und legen Sie die erforderlichen Attribute fest:

    • advertiserId: Der Werbetreibende, dem diese Kampagne zugeordnet werden soll.
    • name: Dieser Wert muss für alle Kampagnen dieses Werbetreibenden eindeutig sein.
    • defaultLandingPageId: Eine Landingpage, auf die Nutzer weitergeleitet werden, wenn sie auf eine Anzeige in dieser Kampagne klicken, sofern der Anzeige keine Landingpage zugewiesen ist. Sie können vorhandene Landingpages mit advertiserLandingPages.list aufrufen oder mit advertiserLandingPages.insert eine neue erstellen.
    • Start- und Enddatum: Diese müssen in der Zukunft liegen und können auf den Tag genau angegeben werden. Weitere Informationen finden Sie im Aufzählungspunkt „Datumsangaben und Uhrzeiten“ unter Allgemeine Informationen zur Programmierung. Die einzelnen Anzeigendatumsangaben können das Enddatum überschreiten, damit ein Publisher versuchen kann, einen Vertrag für eine bestimmte Anzahl von Aktionen zu erfüllen, wenn dies bis zum angegebenen Kampagnenenddatum nicht geschehen ist.
    $startDate = new DateTime('today');
    $endDate = new DateTime('+1 month');
    
    $campaign = new Google_Service_Dfareporting_Campaign();
    $campaign->setAdvertiserId($values['advertiser_id']);
    $campaign->setDefaultLandingPageId($values['default_landing_page_id']);
    $campaign->setName($values['campaign_name']);
    $campaign->setStartDate($startDate->format('Y-m-d'));
    $campaign->setEndDate($endDate->format('Y-m-d'));
  2. Rufen Sie campaigns.insert() auf, um die Kampagne zu speichern.

    $result = $this->service->campaigns->insert(
        $values['user_profile_id'],
        $campaign
    );

Python

  1. Erstellen Sie ein Campaign-Objekt und legen Sie die erforderlichen Attribute fest:

    • advertiserId: Der Werbetreibende, dem diese Kampagne zugeordnet werden soll.
    • name: Dieser Wert muss für alle Kampagnen dieses Werbetreibenden eindeutig sein.
    • defaultLandingPageId: Eine Landingpage, auf die Nutzer weitergeleitet werden, wenn sie auf eine Anzeige in dieser Kampagne klicken, sofern der Anzeige keine Landingpage zugewiesen ist. Sie können vorhandene Landingpages mit advertiserLandingPages.list aufrufen oder mit advertiserLandingPages.insert eine neue erstellen.
    • Start- und Enddatum: Diese müssen in der Zukunft liegen und können auf den Tag genau angegeben werden. Weitere Informationen finden Sie im Aufzählungspunkt „Datumsangaben und Uhrzeiten“ unter Allgemeine Informationen zur Programmierung. Die einzelnen Anzeigendatumsangaben können das Enddatum überschreiten, damit ein Publisher versuchen kann, einen Vertrag für eine bestimmte Anzahl von Aktionen zu erfüllen, wenn dies bis zum angegebenen Kampagnenenddatum nicht geschehen ist.
    # Locate an advertiser landing page to use as a default.
    default_landing_page = get_advertiser_landing_page(service, profile_id,
                                                       advertiser_id)
    
    # Construct and save campaign.
    campaign = {
        'name': 'Test Campaign #%s' % uuid.uuid4(),
        'advertiserId': advertiser_id,
        'archived': 'false',
        'defaultLandingPageId': default_landing_page['id'],
        'startDate': '2015-01-01',
        'endDate': '2020-01-01'
    }
  2. Rufen Sie campaigns.insert() auf, um die Kampagne zu speichern.

    request = service.campaigns().insert(profileId=profile_id, body=campaign)
    
    # Execute request and print response.
    response = request.execute()

Ruby

  1. Erstellen Sie ein Campaign-Objekt und legen Sie die erforderlichen Attribute fest:

    • advertiserId: Der Werbetreibende, dem diese Kampagne zugeordnet werden soll.
    • name: Dieser Wert muss für alle Kampagnen dieses Werbetreibenden eindeutig sein.
    • defaultLandingPageId: Eine Landingpage, auf die Nutzer weitergeleitet werden, wenn sie auf eine Anzeige in dieser Kampagne klicken, sofern der Anzeige keine Landingpage zugewiesen ist. Sie können vorhandene Landingpages mit advertiserLandingPages.list aufrufen oder mit advertiserLandingPages.insert eine neue erstellen.
    • Start- und Enddatum: Diese müssen in der Zukunft liegen und können auf den Tag genau angegeben werden. Weitere Informationen finden Sie im Aufzählungspunkt „Datumsangaben und Uhrzeiten“ unter Allgemeine Informationen zur Programmierung. Die einzelnen Anzeigendatumsangaben können das Enddatum überschreiten, damit ein Publisher versuchen kann, einen Vertrag für eine bestimmte Anzahl von Aktionen zu erfüllen, wenn dies bis zum angegebenen Kampagnenenddatum nicht geschehen ist.
    # Locate an advertiser landing page to use as a default.
    default_landing_page = get_advertiser_landing_page(service, profile_id,
      advertiser_id)
    
    # Create a new campaign resource to insert.
    campaign = DfareportingUtils::API_NAMESPACE::Campaign.new(
      advertiser_id: advertiser_id,
      archived: false,
      default_landing_page_id: default_landing_page.id,
      name: format('Example Campaign #%s', SecureRandom.hex(3)),
      start_date: '2014-01-01',
      end_date: '2020-01-01'
    )
  2. Rufen Sie campaigns.insert() auf, um die Kampagne zu speichern.

    # Insert the campaign.
    result = service.insert_campaign(profile_id, campaign)

Placement erstellen

C#

  1. Erstellen Sie ein Placement-Objekt und legen Sie die erforderlichen Placement-Eigenschaften fest, einschließlich campaignId und siteId. Achten Sie außerdem darauf, dass Sie den Placement-Typ und die Größe für das Placement, das Sie mit Ihrer Website vereinbart haben, korrekt festlegen.
    // Create the placement.
    Placement placement = new Placement();
    placement.Name = placementName;
    placement.CampaignId = campaignId;
    placement.Compatibility = "DISPLAY";
    placement.PaymentSource = "PLACEMENT_AGENCY_PAID";
    placement.SiteId = dfaSiteId;
    placement.TagFormats = new List<string>() { "PLACEMENT_TAG_STANDARD" };
    
    // Set the size of the placement.
    Size size = new Size();
    size.Id = sizeId;
    placement.Size = size;
  2. Erstellen Sie ein neues PricingSchedule-Objekt, das dem Placement zugewiesen werden soll.
    // Set the pricing schedule for the placement.
    PricingSchedule pricingSchedule = new PricingSchedule();
    pricingSchedule.EndDate = campaign.EndDate;
    pricingSchedule.PricingType = "PRICING_TYPE_CPM";
    pricingSchedule.StartDate = campaign.StartDate;
    placement.PricingSchedule = pricingSchedule;
  3. Speichern Sie das Placement-Objekt, indem Sie placements.insert() aufrufen. Speichern Sie die zurückgegebene ID, wenn Sie sie einer Anzeige oder einem Creative zuweisen möchten.
    // Insert the placement.
    Placement result = service.Placements.Insert(placement, profileId).Execute();

Java

  1. Erstellen Sie ein Placement-Objekt und legen Sie die erforderlichen Placement-Eigenschaften fest, einschließlich campaignId und siteId. Achten Sie außerdem darauf, dass Sie den Placement-Typ und die Größe für das Placement, das Sie mit Ihrer Website vereinbart haben, korrekt festlegen.
    // Create the placement.
    Placement placement = new Placement();
    placement.setName(placementName);
    placement.setCampaignId(campaignId);
    placement.setCompatibility("DISPLAY");
    placement.setPaymentSource("PLACEMENT_AGENCY_PAID");
    placement.setSiteId(dfaSiteId);
    placement.setTagFormats(ImmutableList.of("PLACEMENT_TAG_STANDARD"));
    
    // Set the size of the placement.
    Size size = new Size();
    size.setId(sizeId);
    placement.setSize(size);
  2. Erstellen Sie ein neues PricingSchedule-Objekt, das dem Placement zugewiesen werden soll.
    // Set the pricing schedule for the placement.
    PricingSchedule pricingSchedule = new PricingSchedule();
    pricingSchedule.setEndDate(campaign.getEndDate());
    pricingSchedule.setPricingType("PRICING_TYPE_CPM");
    pricingSchedule.setStartDate(campaign.getStartDate());
    placement.setPricingSchedule(pricingSchedule);
  3. Speichern Sie das Placement-Objekt, indem Sie placements.insert() aufrufen. Speichern Sie die zurückgegebene ID, wenn Sie sie einer Anzeige oder einem Creative zuweisen möchten.
    // Insert the placement.
    Placement result = reporting.placements().insert(profileId, placement).execute();

PHP

  1. Erstellen Sie ein Placement-Objekt und legen Sie die erforderlichen Placement-Eigenschaften fest, einschließlich campaignId und siteId. Achten Sie außerdem darauf, dass Sie den Placement-Typ und die Größe für das Placement, das Sie mit Ihrer Website vereinbart haben, korrekt festlegen.
    $placement = new Google_Service_Dfareporting_Placement();
    $placement->setCampaignId($values['campaign_id']);
    $placement->setCompatibility('DISPLAY');
    $placement->setName($values['placement_name']);
    $placement->setPaymentSource('PLACEMENT_AGENCY_PAID');
    $placement->setSiteId($values['site_id']);
    $placement->setTagFormats(['PLACEMENT_TAG_STANDARD']);
    
    // Set the size of the placement.
    $size = new Google_Service_Dfareporting_Size();
    $size->setId($values['size_id']);
    $placement->setSize($size);
  2. Erstellen Sie ein neues PricingSchedule-Objekt, das dem Placement zugewiesen werden soll.
    // Set the pricing schedule for the placement.
    $pricingSchedule = new Google_Service_Dfareporting_PricingSchedule();
    $pricingSchedule->setEndDate($campaign->getEndDate());
    $pricingSchedule->setPricingType('PRICING_TYPE_CPM');
    $pricingSchedule->setStartDate($campaign->getStartDate());
    $placement->setPricingSchedule($pricingSchedule);
  3. Speichern Sie das Placement-Objekt, indem Sie placements.insert() aufrufen. Speichern Sie die zurückgegebene ID, wenn Sie sie einer Anzeige oder einem Creative zuweisen möchten.
    // Insert the placement.
    $result = $this->service->placements->insert(
        $values['user_profile_id'],
        $placement
    );

Python

  1. Erstellen Sie ein Placement-Objekt und legen Sie die erforderlichen Placement-Eigenschaften fest, einschließlich campaignId und siteId. Achten Sie außerdem darauf, dass Sie den Placement-Typ und die Größe für das Placement, das Sie mit Ihrer Website vereinbart haben, korrekt festlegen.
    # Construct and save placement.
    placement = {
        'name': 'Test Placement',
        'campaignId': campaign_id,
        'compatibility': 'DISPLAY',
        'siteId': site_id,
        'size': {
            'height': '1',
            'width': '1'
        },
        'paymentSource': 'PLACEMENT_AGENCY_PAID',
        'tagFormats': ['PLACEMENT_TAG_STANDARD']
    }
  2. Erstellen Sie ein neues PricingSchedule-Objekt, das dem Placement zugewiesen werden soll.
    # Set the pricing schedule for the placement.
    placement['pricingSchedule'] = {
        'startDate': campaign['startDate'],
        'endDate': campaign['endDate'],
        'pricingType': 'PRICING_TYPE_CPM'
    }
  3. Speichern Sie das Placement-Objekt, indem Sie placements.insert() aufrufen. Speichern Sie die zurückgegebene ID, wenn Sie sie einer Anzeige oder einem Creative zuweisen möchten.
    request = service.placements().insert(profileId=profile_id, body=placement)
    
    # Execute request and print response.
    response = request.execute()

Ruby

  1. Erstellen Sie ein Placement-Objekt und legen Sie die erforderlichen Placement-Eigenschaften fest, einschließlich campaignId und siteId. Achten Sie außerdem darauf, dass Sie den Placement-Typ und die Größe für das Placement, das Sie mit Ihrer Website vereinbart haben, korrekt festlegen.
    # Create a new placement resource to insert.
    placement = DfareportingUtils::API_NAMESPACE::Placement.new(
      campaign_id: campaign_id,
      compatibility: 'DISPLAY',
      name: 'Example Placement',
      payment_source: 'PLACEMENT_AGENCY_PAID',
      site_id: site_id,
      size: DfareportingUtils::API_NAMESPACE::Size.new(
        height: 1,
        width: 1
      ),
      tag_formats: ['PLACEMENT_TAG_STANDARD']
    )
  2. Erstellen Sie ein neues PricingSchedule-Objekt, das dem Placement zugewiesen werden soll.
    # Set the pricing schedule for the placement.
    placement.pricing_schedule =
      DfareportingUtils::API_NAMESPACE::PricingSchedule.new(
        end_date: campaign.end_date,
        pricing_type: 'PRICING_TYPE_CPM',
        start_date: campaign.start_date
      )
  3. Speichern Sie das Placement-Objekt, indem Sie placements.insert() aufrufen. Speichern Sie die zurückgegebene ID, wenn Sie sie einer Anzeige oder einem Creative zuweisen möchten.
    # Insert the placement strategy.
    result = service.insert_placement(profile_id, placement)

Assets hochladen

Sie können viele Arten von Assets über einen Prozess namens Media-Upload hochladen. Dieser Prozess ist zwar für alle Creative-Typen ähnlich, für einige Typen müssen jedoch bestimmte Eigenschaften als Metadaten übergeben werden, damit sie richtig verwendet werden können.

C#

  1. Erstellen Sie ein assetIdentifier-Objekt und legen Sie die erforderlichen Attribute fest. Für alle Assets, unabhängig von Typ oder Verwendung, muss ein assetIdentifier angegeben werden. Wenn Sie das Asset einem Creative zuweisen, wird dieses Objekt verwendet, um auf das Asset zu verweisen. Die folgenden Eigenschaften sind erforderlich:

    • Die name-Property, die den Namen des Assets auf dem Server enthält. Der Name muss eine Erweiterung enthalten, die den Dateityp angibt, z. B. „.png“ oder „.gif“. Er wird dem Browser als Asset-Name angezeigt, muss aber nicht mit dem ursprünglichen Dateinamen übereinstimmen. Dieser Name wird möglicherweise von Campaign Manager 360 geändert, damit er auf dem Server eindeutig ist. Prüfen Sie den Rückgabewert, um festzustellen, ob er geändert wurde.
    • Die type-Property, die den Typ des Assets angibt. Diese Property bestimmt, mit welchen Arten von Creatives dieses Asset verknüpft werden kann.
    // Create the creative asset ID and Metadata.
    CreativeAssetId assetId = new CreativeAssetId();
    assetId.Name = Path.GetFileName(assetFile);
    assetId.Type = assetType;
  2. Laden Sie die Datei mit dem Aufruf von creativeAssets.insert() hoch. Führen Sie einen mehrteiligen Upload durch und übergeben Sie sowohl assetIdentifier als auch den Dateiinhalt im Rahmen derselben Anfrage. Bei Erfolg wird eine CreativeAsset-Ressource mit einer assetIdentifier zurückgegeben, die Sie verwenden, um dieses Asset einem Creative zuzuweisen.

    // Prepare an input stream.
    FileStream assetContent = new FileStream(assetFile, FileMode.Open, FileAccess.Read);
    
    
    CreativeAssetMetadata metaData = new CreativeAssetMetadata();
    metaData.AssetIdentifier = assetId;
    
    // Insert the creative.
    String mimeType = determineMimeType(assetFile, assetType);
    CreativeAssetsResource.InsertMediaUpload request =
        Service.CreativeAssets.Insert(metaData, ProfileId, AdvertiserId, assetContent, mimeType);
    
    IUploadProgress progress = request.Upload();
    if (UploadStatus.Failed.Equals(progress.Status)) {
        throw progress.Exception;
    }

Java

  1. Erstellen Sie ein assetIdentifier-Objekt und legen Sie die erforderlichen Attribute fest. Für alle Assets, unabhängig von Typ oder Verwendung, muss ein assetIdentifier angegeben werden. Wenn Sie das Asset einem Creative zuweisen, wird dieses Objekt verwendet, um auf das Asset zu verweisen. Die folgenden Eigenschaften sind erforderlich:

    • Die name-Property, die den Namen des Assets auf dem Server enthält. Der Name muss eine Erweiterung enthalten, die den Dateityp angibt, z. B. „.png“ oder „.gif“. Er wird dem Browser als Asset-Name angezeigt, muss aber nicht mit dem ursprünglichen Dateinamen übereinstimmen. Dieser Name wird möglicherweise von Campaign Manager 360 geändert, damit er auf dem Server eindeutig ist. Prüfen Sie den Rückgabewert, um festzustellen, ob er geändert wurde.
    • Die type-Property, die den Typ des Assets angibt. Diese Property bestimmt, mit welchen Arten von Creatives dieses Asset verknüpft werden kann.
    // Create the creative asset ID and Metadata.
    CreativeAssetId assetId = new CreativeAssetId();
    assetId.setName(assetName);
    assetId.setType(assetType);
  2. Laden Sie die Datei mit dem Aufruf von creativeAssets.insert() hoch. Führen Sie einen mehrteiligen Upload durch und übergeben Sie sowohl assetIdentifier als auch den Dateiinhalt im Rahmen derselben Anfrage. Bei Erfolg wird eine CreativeAsset-Ressource mit einer assetIdentifier zurückgegeben, die Sie verwenden, um dieses Asset einem Creative zuzuweisen.

    // Open the asset file.
    File file = new File(assetFile);
    
    // Prepare an input stream.
    String contentType = getMimeType(assetFile);
    InputStreamContent assetContent =
        new InputStreamContent(contentType, new BufferedInputStream(new FileInputStream(file)));
    assetContent.setLength(file.length());
    
    
    CreativeAssetMetadata metaData = new CreativeAssetMetadata();
    metaData.setAssetIdentifier(assetId);
    
    // Insert the creative.
    CreativeAssetMetadata result = reporting.creativeAssets()
        .insert(profileId, advertiserId, metaData, assetContent).execute();

PHP

  1. Erstellen Sie ein assetIdentifier-Objekt und legen Sie die erforderlichen Attribute fest. Für alle Assets, unabhängig von Typ oder Verwendung, muss ein assetIdentifier angegeben werden. Wenn Sie das Asset einem Creative zuweisen, wird dieses Objekt verwendet, um auf das Asset zu verweisen. Die folgenden Eigenschaften sind erforderlich:

    • Die name-Property, die den Namen des Assets auf dem Server enthält. Der Name muss eine Erweiterung enthalten, die den Dateityp angibt, z. B. „.png“ oder „.gif“. Er wird dem Browser als Asset-Name angezeigt, muss aber nicht mit dem ursprünglichen Dateinamen übereinstimmen. Dieser Name wird möglicherweise von Campaign Manager 360 geändert, damit er auf dem Server eindeutig ist. Prüfen Sie den Rückgabewert, um festzustellen, ob er geändert wurde.
    • Die type-Property, die den Typ des Assets angibt. Diese Property bestimmt, mit welchen Arten von Creatives dieses Asset verknüpft werden kann.
    $assetId = new Google_Service_Dfareporting_CreativeAssetId();
    $assetId->setName($asset['name']);
    $assetId->setType($type);
  2. Laden Sie die Datei mit dem Aufruf von creativeAssets.insert() hoch. Führen Sie einen mehrteiligen Upload durch und übergeben Sie sowohl assetIdentifier als auch den Dateiinhalt im Rahmen derselben Anfrage. Bei Erfolg wird eine CreativeAsset-Ressource mit einer assetIdentifier zurückgegeben, die Sie verwenden, um dieses Asset einem Creative zuzuweisen.

    $metadata = new Google_Service_Dfareporting_CreativeAssetMetadata();
    $metadata->setAssetIdentifier($assetId);
    
    $result = $service->creativeAssets->insert(
        $userProfileId,
        $advertiserId,
        $metadata,
        ['data' => file_get_contents($asset['tmp_name']),
         'mimeType' => $asset['type'],
         'uploadType' => 'multipart']
    );

Python

  1. Erstellen Sie ein assetIdentifier-Objekt und legen Sie die erforderlichen Attribute fest. Für alle Assets, unabhängig von Typ oder Verwendung, muss ein assetIdentifier angegeben werden. Wenn Sie das Asset einem Creative zuweisen, wird dieses Objekt verwendet, um auf das Asset zu verweisen. Die folgenden Eigenschaften sind erforderlich:

    • Die name-Property, die den Namen des Assets auf dem Server enthält. Der Name muss eine Erweiterung enthalten, die den Dateityp angibt, z. B. „.png“ oder „.gif“. Er wird dem Browser als Asset-Name angezeigt, muss aber nicht mit dem ursprünglichen Dateinamen übereinstimmen. Dieser Name wird möglicherweise von Campaign Manager 360 geändert, damit er auf dem Server eindeutig ist. Prüfen Sie den Rückgabewert, um festzustellen, ob er geändert wurde.
    • Die type-Property, die den Typ des Assets angibt. Diese Property bestimmt, mit welchen Arten von Creatives dieses Asset verknüpft werden kann.
    # Construct the creative asset metadata
    creative_asset = {'assetIdentifier': {'name': asset_name, 'type': asset_type}}
  2. Laden Sie die Datei mit dem Aufruf von creativeAssets.insert() hoch. Führen Sie einen mehrteiligen Upload durch und übergeben Sie sowohl assetIdentifier als auch den Dateiinhalt im Rahmen derselben Anfrage. Bei Erfolg wird eine CreativeAsset-Ressource mit einer assetIdentifier zurückgegeben, die Sie verwenden, um dieses Asset einem Creative zuzuweisen.

    media = MediaFileUpload(path_to_asset_file)
    if not media.mimetype():
      media = MediaFileUpload(path_to_asset_file, 'application/octet-stream')
    
    response = service.creativeAssets().insert(
        advertiserId=advertiser_id,
        profileId=profile_id,
        media_body=media,
        body=creative_asset).execute()

Ruby

  1. Erstellen Sie ein assetIdentifier-Objekt und legen Sie die erforderlichen Attribute fest. Für alle Assets, unabhängig von Typ oder Verwendung, muss ein assetIdentifier angegeben werden. Wenn Sie das Asset einem Creative zuweisen, wird dieses Objekt verwendet, um auf das Asset zu verweisen. Die folgenden Eigenschaften sind erforderlich:

    • Die name-Property, die den Namen des Assets auf dem Server enthält. Der Name muss eine Erweiterung enthalten, die den Dateityp angibt, z. B. „.png“ oder „.gif“. Er wird dem Browser als Asset-Name angezeigt, muss aber nicht mit dem ursprünglichen Dateinamen übereinstimmen. Dieser Name wird möglicherweise von Campaign Manager 360 geändert, damit er auf dem Server eindeutig ist. Prüfen Sie den Rückgabewert, um festzustellen, ob er geändert wurde.
    • Die type-Property, die den Typ des Assets angibt. Diese Property bestimmt, mit welchen Arten von Creatives dieses Asset verknüpft werden kann.
    # Construct the creative asset metadata
    creative_asset = DfareportingUtils::API_NAMESPACE::CreativeAsset.new(
      asset_identifier: DfareportingUtils::API_NAMESPACE::CreativeAssetId.new(
        name: asset_name,
        type: asset_type
      )
    )
  2. Laden Sie die Datei mit dem Aufruf von creativeAssets.insert() hoch. Führen Sie einen mehrteiligen Upload durch und übergeben Sie sowohl assetIdentifier als auch den Dateiinhalt im Rahmen derselben Anfrage. Bei Erfolg wird eine CreativeAsset-Ressource mit einer assetIdentifier zurückgegeben, die Sie verwenden, um dieses Asset einem Creative zuzuweisen.

    # Upload the asset.
    mime_type = determine_mime_type(path_to_asset_file, asset_type)
    
    result = @service.insert_creative_asset(
      @profile_id,
      advertiser_id,
      creative_asset,
      content_type: mime_type,
      upload_source: path_to_asset_file
    )

Creative erstellen

Ein Creative-Objekt umschließt ein vorhandenes Asset. Je nachdem, wie Sie die Creatives auf der Hostseite verwenden möchten, können Sie Creative-Objekte verschiedener Creative-Typen erstellen. In der Referenzdokumentation finden Sie Informationen dazu, welcher Typ für Sie geeignet ist.

Im folgenden Beispiel wird gezeigt, wie Sie ein neues HTML5-Display-Creative erstellen.

C#

  1. Laden Sie die Assets hoch. Für verschiedene Creatives sind unterschiedliche Arten und Mengen von Assets erforderlich. Weitere Informationen finden Sie unter Assets hochladen. Jedes Mal, wenn Sie ein Asset erfolgreich hochladen, erhalten Sie in der Antwort ein assetIdenfitier. Sie verwenden den gespeicherten Dateinamen und ‑typ, um auf diese Assets in Ihrem Creative zu verweisen, anstatt auf eine herkömmliche ID.
  2. Erstellen Sie ein Creative und weisen Sie ihm die entsprechenden Werte zu. Erstellen Sie eine Instanz von Creative und legen Sie die richtige type fest. Der Typ eines Creative-Objekts kann nach dem Speichern nicht mehr geändert werden. Geben Sie die Assets anhand ihrer AssetIdentifier und role an.
    // Locate an advertiser landing page to use as a default.
    LandingPage defaultLandingPage = getAdvertiserLandingPage(service, profileId, advertiserId);
    
    // Create the creative structure.
    Creative creative = new Creative();
    creative.AdvertiserId = advertiserId;
    creative.Name = "Test HTML5 display creative";
    creative.Size = new Size() { Id = sizeId };
    creative.Type = "DISPLAY";
    
    // Upload the HTML5 asset.
    CreativeAssetUtils assetUtils = new CreativeAssetUtils(service, profileId, advertiserId);
    CreativeAssetId html5AssetId =
        assetUtils.uploadAsset(pathToHtml5AssetFile, "HTML").AssetIdentifier;
    
    CreativeAsset html5Asset = new CreativeAsset();
    html5Asset.AssetIdentifier = html5AssetId;
    html5Asset.Role = "PRIMARY";
    
    // Upload the backup image asset.
    CreativeAssetId imageAssetId =
        assetUtils.uploadAsset(pathToImageAssetFile, "HTML_IMAGE").AssetIdentifier;
    
    CreativeAsset imageAsset = new CreativeAsset();
    imageAsset.AssetIdentifier = imageAssetId;
    imageAsset.Role = "BACKUP_IMAGE";
    
    // Add the creative assets.
    creative.CreativeAssets = new List<CreativeAsset>() { html5Asset, imageAsset };
    
    // Configure the bacup image.
    creative.BackupImageClickThroughUrl = new CreativeClickThroughUrl() {
      LandingPageId = defaultLandingPage.Id
    };
    creative.BackupImageReportingLabel = "backup";
    creative.BackupImageTargetWindow = new TargetWindow() { TargetWindowOption = "NEW_WINDOW" };
    
    // Add a click tag.
    ClickTag clickTag = new ClickTag();
    clickTag.Name = "clickTag";
    clickTag.EventName = "exit";
    clickTag.ClickThroughUrl = new CreativeClickThroughUrl() {
      LandingPageId = defaultLandingPage.Id
    };
    creative.ClickTags = new List<ClickTag>() { clickTag };
  3. Speichern Sie das Creative. Rufen Sie dazu creatives.insert() auf. Sie müssen eine Werbetreibenden-ID angeben, mit der dieses Creative verknüpft werden soll.
    Creative result = service.Creatives.Insert(creative, profileId).Execute();
  4. Optional: Ordnen Sie das Creative einer Kampagne zu. Rufen Sie dazu campaignCreativeAssociations.insert() auf und übergeben Sie die Kampagnen- und Creative-IDs.
    // Create the campaign creative association structure.
    CampaignCreativeAssociation association = new CampaignCreativeAssociation();
    association.CreativeId = creativeId;
    
    // Insert the association.
    CampaignCreativeAssociation result =
        service.CampaignCreativeAssociations.Insert(association, profileId, campaignId).Execute();

Java

  1. Laden Sie die Assets hoch. Für verschiedene Creatives sind unterschiedliche Arten und Mengen von Assets erforderlich. Weitere Informationen finden Sie unter Assets hochladen. Jedes Mal, wenn Sie ein Asset erfolgreich hochladen, erhalten Sie in der Antwort ein assetIdenfitier. Sie verwenden den gespeicherten Dateinamen und ‑typ, um auf diese Assets in Ihrem Creative zu verweisen, anstatt auf eine herkömmliche ID.
  2. Erstellen Sie ein Creative und weisen Sie ihm die entsprechenden Werte zu. Erstellen Sie eine Instanz von Creative und legen Sie die richtige type fest. Der Typ eines Creative-Objekts kann nach dem Speichern nicht mehr geändert werden. Geben Sie die Assets anhand ihrer AssetIdentifier und role an.
    // Locate an advertiser landing page to use as a default.
    LandingPage defaultLandingPage = getAdvertiserLandingPage(reporting, profileId, advertiserId);
    
    // Create the creative structure.
    Creative creative = new Creative();
    creative.setAdvertiserId(advertiserId);
    creative.setName("Test HTML5 display creative");
    creative.setSize(new Size().setId(sizeId));
    creative.setType("DISPLAY");
    
    // Upload the HTML5 asset.
    CreativeAssetId html5AssetId = CreativeAssetUtils.uploadAsset(reporting, profileId,
        advertiserId, HTML5_ASSET_NAME, PATH_TO_HTML5_ASSET_FILE, "HTML").getAssetIdentifier();
    
    CreativeAsset html5Asset =
        new CreativeAsset().setAssetIdentifier(html5AssetId).setRole("PRIMARY");
    
    // Upload the backup image asset (note: asset type must be set to HTML_IMAGE).
    CreativeAssetId imageAssetId = CreativeAssetUtils.uploadAsset(reporting, profileId,
        advertiserId, IMAGE_ASSET_NAME, PATH_TO_IMAGE_ASSET_FILE, "HTML_IMAGE")
        .getAssetIdentifier();
    
    CreativeAsset backupImageAsset =
        new CreativeAsset().setAssetIdentifier(imageAssetId).setRole("BACKUP_IMAGE");
    
    // Add the creative assets.
    creative.setCreativeAssets(ImmutableList.of(html5Asset, backupImageAsset));
    
    // Configure the backup image.
    creative.setBackupImageClickThroughUrl(
        new CreativeClickThroughUrl().setLandingPageId(defaultLandingPage.getId()));
    creative.setBackupImageReportingLabel("backup");
    creative.setBackupImageTargetWindow(new TargetWindow().setTargetWindowOption("NEW_WINDOW"));
    
    // Add a click tag.
    ClickTag clickTag =
        new ClickTag().setName("clickTag").setEventName("exit").setClickThroughUrl(
            new CreativeClickThroughUrl().setLandingPageId(defaultLandingPage.getId()));
    creative.setClickTags(ImmutableList.of(clickTag));
  3. Speichern Sie das Creative. Rufen Sie dazu creatives.insert() auf. Sie müssen eine Werbetreibenden-ID angeben, mit der dieses Creative verknüpft werden soll.
    Creative result = reporting.creatives().insert(profileId, creative).execute();
  4. Optional: Ordnen Sie das Creative einer Kampagne zu. Rufen Sie dazu campaignCreativeAssociations.insert() auf und übergeben Sie die Kampagnen- und Creative-IDs.
    // Create the campaign creative association structure.
    CampaignCreativeAssociation association = new CampaignCreativeAssociation();
    association.setCreativeId(creativeId);
    
    // Insert the association.
    CampaignCreativeAssociation result = reporting
        .campaignCreativeAssociations().insert(profileId, campaignId, association)
        .execute();

PHP

  1. Laden Sie die Assets hoch. Für verschiedene Creatives sind unterschiedliche Arten und Mengen von Assets erforderlich. Weitere Informationen finden Sie unter Assets hochladen. Jedes Mal, wenn Sie ein Asset erfolgreich hochladen, erhalten Sie in der Antwort ein assetIdenfitier. Sie verwenden den gespeicherten Dateinamen und ‑typ, um auf diese Assets in Ihrem Creative zu verweisen, anstatt auf eine herkömmliche ID.
  2. Erstellen Sie ein Creative und weisen Sie ihm die entsprechenden Werte zu. Erstellen Sie eine Instanz von Creative und legen Sie die richtige type fest. Der Typ eines Creative-Objekts kann nach dem Speichern nicht mehr geändert werden. Geben Sie die Assets anhand ihrer AssetIdentifier und role an.
    $creative = new Google_Service_Dfareporting_Creative();
    $creative->setAdvertiserId($values['advertiser_id']);
    $creative->setAutoAdvanceImages(true);
    $creative->setName('Test HTML5 display creative');
    $creative->setType('DISPLAY');
    
    $size = new Google_Service_Dfareporting_Size();
    $size->setId($values['size_id']);
    $creative->setSize($size);
    
    // Upload the HTML5 asset.
    $html = uploadAsset(
        $this->service,
        $values['user_profile_id'],
        $values['advertiser_id'],
        $values['html_asset_file'],
        'HTML'
    );
    
    $htmlAsset = new Google_Service_Dfareporting_CreativeAsset();
    $htmlAsset->setAssetIdentifier($html->getAssetIdentifier());
    $htmlAsset->setRole('PRIMARY');
    
    // Upload the backup image asset.
    $image = uploadAsset(
        $this->service,
        $values['user_profile_id'],
        $values['advertiser_id'],
        $values['image_asset_file'],
        'HTML_IMAGE'
    );
    
    $imageAsset = new Google_Service_Dfareporting_CreativeAsset();
    $imageAsset->setAssetIdentifier($image->getAssetIdentifier());
    $imageAsset->setRole('BACKUP_IMAGE');
    
    // Add the creative assets.
    $creative->setCreativeAssets([$htmlAsset, $imageAsset]);
    
    // Configure the default click-through URL.
    $clickThroughUrl =
        new Google_Service_Dfareporting_CreativeClickThroughUrl();
    $clickThroughUrl->setLandingPageId($values['landing_page_id']);
    
    // Configure the backup image.
    $creative->setBackupImageClickThroughUrl($clickThroughUrl);
    $creative->setBackupImageReportingLabel('backup');
    
    $targetWindow = new Google_Service_Dfareporting_TargetWindow();
    $targetWindow->setTargetWindowOption('NEW_WINDOW');
    $creative->setBackupImageTargetWindow($targetWindow);
    
    // Add a click tag.
    $clickTag = new Google_Service_Dfareporting_ClickTag();
    $clickTag->setName('clickTag');
    $clickTag->setEventName('exit');
    $clickTag->setClickThroughUrl($clickThroughUrl);
    $creative->setClickTags([$clickTag]);
  3. Speichern Sie das Creative. Rufen Sie dazu creatives.insert() auf. Sie müssen eine Werbetreibenden-ID angeben, mit der dieses Creative verknüpft werden soll.
    $result = $this->service->creatives->insert(
        $values['user_profile_id'],
        $creative
    );
  4. Optional: Ordnen Sie das Creative einer Kampagne zu. Rufen Sie dazu campaignCreativeAssociations.insert() auf und übergeben Sie die Kampagnen- und Creative-IDs.
    $association =
        new Google_Service_Dfareporting_CampaignCreativeAssociation();
    $association->setCreativeId($values['creative_id']);
    
    $result = $this->service->campaignCreativeAssociations->insert(
        $values['user_profile_id'],
        $values['campaign_id'],
        $association
    );

Python

  1. Laden Sie die Assets hoch. Für verschiedene Creatives sind unterschiedliche Arten und Mengen von Assets erforderlich. Weitere Informationen finden Sie unter Assets hochladen. Jedes Mal, wenn Sie ein Asset erfolgreich hochladen, erhalten Sie in der Antwort ein assetIdenfitier. Sie verwenden den gespeicherten Dateinamen und ‑typ, um auf diese Assets in Ihrem Creative zu verweisen, anstatt auf eine herkömmliche ID.
  2. Erstellen Sie ein Creative und weisen Sie ihm die entsprechenden Werte zu. Erstellen Sie eine Instanz von Creative und legen Sie die richtige type fest. Der Typ eines Creative-Objekts kann nach dem Speichern nicht mehr geändert werden. Geben Sie die Assets anhand ihrer AssetIdentifier und role an.
    # Locate an advertiser landing page to use as a default.
    default_landing_page = get_advertiser_landing_page(service, profile_id,
                                                       advertiser_id)
    
    # Upload the HTML5 asset
    html5_asset_id = upload_creative_asset(service, profile_id, advertiser_id,
                                           html5_asset_name,
                                           path_to_html5_asset_file, 'HTML')
    
    # Upload the backup image asset
    backup_image_asset_id = upload_creative_asset(
        service, profile_id, advertiser_id, backup_image_name,
        path_to_backup_image_file, 'HTML_IMAGE')
    
    # Construct the creative structure.
    creative = {
        'advertiserId': advertiser_id,
        'backupImageClickThroughUrl': {
            'landingPageId': default_landing_page['id']
        },
        'backupImageReportingLabel': 'backup_image_exit',
        'backupImageTargetWindow': {'targetWindowOption': 'NEW_WINDOW'},
        'clickTags': [{
            'eventName': 'exit',
            'name': 'click_tag',
            'clickThroughUrl': {'landingPageId': default_landing_page['id']}
        }],
        'creativeAssets': [
            {'assetIdentifier': html5_asset_id, 'role': 'PRIMARY'},
            {'assetIdentifier': backup_image_asset_id, 'role': 'BACKUP_IMAGE'}
        ],
        'name': 'Test HTML5 display creative',
        'size': {'id': size_id},
        'type': 'DISPLAY'
    }
  3. Speichern Sie das Creative. Rufen Sie dazu creatives.insert() auf. Sie müssen eine Werbetreibenden-ID angeben, mit der dieses Creative verknüpft werden soll.
    request = service.creatives().insert(profileId=profile_id, body=creative)
    
    # Execute request and print response.
    response = request.execute()
  4. Optional: Ordnen Sie das Creative einer Kampagne zu. Rufen Sie dazu campaignCreativeAssociations.insert() auf und übergeben Sie die Kampagnen- und Creative-IDs.
    # Construct the request.
    association = {
        'creativeId': creative_id
    }
    
    request = service.campaignCreativeAssociations().insert(
        profileId=profile_id, campaignId=campaign_id, body=association)
    
    # Execute request and print response.
    response = request.execute()

Ruby

  1. Laden Sie die Assets hoch. Für verschiedene Creatives sind unterschiedliche Arten und Mengen von Assets erforderlich. Weitere Informationen finden Sie unter Assets hochladen. Jedes Mal, wenn Sie ein Asset erfolgreich hochladen, erhalten Sie in der Antwort ein assetIdenfitier. Sie verwenden den gespeicherten Dateinamen und ‑typ, um auf diese Assets in Ihrem Creative zu verweisen, anstatt auf eine herkömmliche ID.
  2. Erstellen Sie ein Creative und weisen Sie ihm die entsprechenden Werte zu. Erstellen Sie eine Instanz von Creative und legen Sie die richtige type fest. Der Typ eines Creative-Objekts kann nach dem Speichern nicht mehr geändert werden. Geben Sie die Assets anhand ihrer AssetIdentifier und role an.
    # Locate an advertiser landing page to use as a default.
    default_landing_page = get_advertiser_landing_page(service, profile_id,
      advertiser_id)
    
    # Upload the HTML5 asset.
    html5_asset_id = util.upload_asset(advertiser_id, path_to_html5_asset_file,
      'HTML').asset_identifier
    
    # Upload the backup image asset.
    backup_image_asset_id = util.upload_asset(advertiser_id,
      path_to_backup_image_file, 'HTML_IMAGE').asset_identifier
    
    # Construct the creative structure.
    creative = DfareportingUtils::API_NAMESPACE::Creative.new(
      advertiser_id: advertiser_id,
      backup_image_click_through_url:
        DfareportingUtils::API_NAMESPACE::CreativeClickThroughUrl.new(
          landing_page_id: default_landing_page.id
        ),
      backup_image_reporting_label: 'backup',
      backup_image_target_window:
        DfareportingUtils::API_NAMESPACE::TargetWindow.new(
          target_window_option: 'NEW_WINDOW'
        ),
      click_tags: [
        DfareportingUtils::API_NAMESPACE::ClickTag.new(
          event_name: 'exit',
          name: 'click_tag',
          click_through_url:
            DfareportingUtils::API_NAMESPACE::CreativeClickThroughUrl.new(
              landing_page_id: default_landing_page.id
            )
        )
      ],
      creative_assets: [
        DfareportingUtils::API_NAMESPACE::CreativeAsset.new(
          asset_identifier: html5_asset_id,
          role: 'PRIMARY'
        ),
        DfareportingUtils::API_NAMESPACE::CreativeAsset.new(
          asset_identifier: backup_image_asset_id,
          role: 'BACKUP_IMAGE'
        )
      ],
      name: 'Example HTML5 display creative',
      size: DfareportingUtils::API_NAMESPACE::Size.new(id: size_id),
      type: 'DISPLAY'
    )
  3. Speichern Sie das Creative. Rufen Sie dazu creatives.insert() auf. Sie müssen eine Werbetreibenden-ID angeben, mit der dieses Creative verknüpft werden soll.
    # Insert the creative.
    result = service.insert_creative(profile_id, creative)
  4. Optional: Ordnen Sie das Creative einer Kampagne zu. Rufen Sie dazu campaignCreativeAssociations.insert() auf und übergeben Sie die Kampagnen- und Creative-IDs.
    # Create a new creative-campaign association to insert
    association =
      DfareportingUtils::API_NAMESPACE::CampaignCreativeAssociation.new(
        creative_id: creative_id
      )
    
    # Insert the advertiser group.
    result = service.insert_campaign_creative_association(profile_id, campaign_id,
      association)

Anzeige erstellen

Ein Ad ist die Verbindung zwischen einem Creative und einem Placement. Ein Ad kann mit einem oder mehreren Placements verknüpft sein und ein oder mehrere Creatives enthalten.

Sie können ein Ad explizit oder implizit erstellen.

Ausdrücklich

C#

  1. Erstellen Sie für jedes Creative, mit dem diese Anzeige verknüpft werden soll, ein CreativeAssignment-Objekt. Achten Sie darauf, das Feld CreativeAssignment.active auf „true“ zu setzen.
    // Create a click-through URL.
    ClickThroughUrl clickThroughUrl = new ClickThroughUrl();
    clickThroughUrl.DefaultLandingPage = true;
    
    // Create a creative assignment.
    CreativeAssignment creativeAssignment = new CreativeAssignment();
    creativeAssignment.Active = true;
    creativeAssignment.CreativeId = creativeId;
    creativeAssignment.ClickThroughUrl = clickThroughUrl;
  2. Erstellen Sie ein CreativeRotation-Objekt zum Speichern der CreativeAssignments. Wenn Sie eine Rotationsgruppe erstellen, müssen Sie auch die anderen erforderlichen Felder für die Creative-Rotation festlegen.
    // Create a creative rotation.
    CreativeRotation creativeRotation = new CreativeRotation();
    creativeRotation.CreativeAssignments = new List<CreativeAssignment>() {
        creativeAssignment
    };
  3. Erstellen Sie für jedes Placement, dem diese Anzeige zugeordnet werden soll, ein PlacementAssignment-Objekt. Achten Sie darauf, das Feld PlacementAssignment.active auf „true“ zu setzen.
    // Create a placement assignment.
    PlacementAssignment placementAssignment = new PlacementAssignment();
    placementAssignment.Active = true;
    placementAssignment.PlacementId = placementId;
  4. Erstellen Sie ein Ad-Objekt. Legen Sie „creativeRotation“ im Feld creativeRotation des Ad-Objekts und „placementAssignments“ im Array placementAssignments des Ad-Objekts fest.
    // Create a delivery schedule.
    DeliverySchedule deliverySchedule = new DeliverySchedule();
    deliverySchedule.ImpressionRatio = 1;
    deliverySchedule.Priority = "AD_PRIORITY_01";
    
    DateTime startDate = DateTime.Now;
    DateTime endDate = Convert.ToDateTime(campaign.EndDate);
    
    // Create a rotation group.
    Ad rotationGroup = new Ad();
    rotationGroup.Active = true;
    rotationGroup.CampaignId = campaignId;
    rotationGroup.CreativeRotation = creativeRotation;
    rotationGroup.DeliverySchedule = deliverySchedule;
    rotationGroup.StartTime = startDate;
    rotationGroup.EndTime = endDate;
    rotationGroup.Name = adName;
    rotationGroup.PlacementAssignments = new List<PlacementAssignment>() {
        placementAssignment
    };
    rotationGroup.Type = "AD_SERVING_STANDARD_AD";
  5. Speichern Sie die Anzeige, indem Sie ads.insert() aufrufen.
    // Insert the rotation group.
    Ad result = service.Ads.Insert(rotationGroup, profileId).Execute();

Java

  1. Erstellen Sie für jedes Creative, mit dem diese Anzeige verknüpft werden soll, ein CreativeAssignment-Objekt. Achten Sie darauf, das Feld CreativeAssignment.active auf „true“ zu setzen.
    // Create a click-through URL.
    ClickThroughUrl clickThroughUrl = new ClickThroughUrl();
    clickThroughUrl.setDefaultLandingPage(true);
    
    // Create a creative assignment.
    CreativeAssignment creativeAssignment = new CreativeAssignment();
    creativeAssignment.setActive(true);
    creativeAssignment.setCreativeId(creativeId);
    creativeAssignment.setClickThroughUrl(clickThroughUrl);
  2. Erstellen Sie ein CreativeRotation-Objekt zum Speichern der CreativeAssignments. Wenn Sie eine Rotationsgruppe erstellen, müssen Sie auch die anderen erforderlichen Felder für die Creative-Rotation festlegen.
    // Create a creative rotation.
    CreativeRotation creativeRotation = new CreativeRotation();
    creativeRotation.setCreativeAssignments(ImmutableList.of(creativeAssignment));
  3. Erstellen Sie für jedes Placement, dem diese Anzeige zugeordnet werden soll, ein PlacementAssignment-Objekt. Achten Sie darauf, das Feld PlacementAssignment.active auf „true“ zu setzen.
    // Create a placement assignment.
    PlacementAssignment placementAssignment = new PlacementAssignment();
    placementAssignment.setActive(true);
    placementAssignment.setPlacementId(placementId);
  4. Erstellen Sie ein Ad-Objekt. Legen Sie „creativeRotation“ im Feld creativeRotation des Ad-Objekts und „placementAssignments“ im Array placementAssignments des Ad-Objekts fest.
    // Create a delivery schedule.
    DeliverySchedule deliverySchedule = new DeliverySchedule();
    deliverySchedule.setImpressionRatio(1L);
    deliverySchedule.setPriority("AD_PRIORITY_01");
    
    DateTime startDate = new DateTime(new Date());
    DateTime endDate = new DateTime(campaign.getEndDate().getValue());
    
    // Create a rotation group.
    Ad rotationGroup = new Ad();
    rotationGroup.setActive(true);
    rotationGroup.setCampaignId(campaignId);
    rotationGroup.setCreativeRotation(creativeRotation);
    rotationGroup.setDeliverySchedule(deliverySchedule);
    rotationGroup.setStartTime(startDate);
    rotationGroup.setEndTime(endDate);
    rotationGroup.setName(adName);
    rotationGroup.setPlacementAssignments(ImmutableList.of(placementAssignment));
    rotationGroup.setType("AD_SERVING_STANDARD_AD");
  5. Speichern Sie die Anzeige, indem Sie ads.insert() aufrufen.
    // Insert the rotation group.
    Ad result = reporting.ads().insert(profileId, rotationGroup).execute();

PHP

  1. Erstellen Sie für jedes Creative, mit dem diese Anzeige verknüpft werden soll, ein CreativeAssignment-Objekt. Achten Sie darauf, das Feld CreativeAssignment.active auf „true“ zu setzen.
    // Create a click-through URL.
    $url = new Google_Service_Dfareporting_ClickThroughUrl();
    $url->setDefaultLandingPage(true);
    
    // Create a creative assignment.
    $creativeAssignment =
        new Google_Service_Dfareporting_CreativeAssignment();
    $creativeAssignment->setActive(true);
    $creativeAssignment->setCreativeId($values['creative_id']);
    $creativeAssignment->setClickThroughUrl($url);
  2. Erstellen Sie ein CreativeRotation-Objekt zum Speichern der CreativeAssignments. Wenn Sie eine Rotationsgruppe erstellen, müssen Sie auch die anderen erforderlichen Felder für die Creative-Rotation festlegen.
    // Create a creative rotation.
    $creativeRotation = new Google_Service_Dfareporting_CreativeRotation();
    $creativeRotation->setCreativeAssignments([$creativeAssignment]);
  3. Erstellen Sie für jedes Placement, dem diese Anzeige zugeordnet werden soll, ein PlacementAssignment-Objekt. Achten Sie darauf, das Feld PlacementAssignment.active auf „true“ zu setzen.
    // Create a placement assignment.
    $placementAssignment =
        new Google_Service_Dfareporting_PlacementAssignment();
    $placementAssignment->setActive(true);
    $placementAssignment->setPlacementId($values['placement_id']);
  4. Erstellen Sie ein Ad-Objekt. Legen Sie „creativeRotation“ im Feld creativeRotation des Ad-Objekts und „placementAssignments“ im Array placementAssignments des Ad-Objekts fest.
    // Create a delivery schedule.
    $deliverySchedule = new Google_Service_Dfareporting_DeliverySchedule();
    $deliverySchedule->setImpressionRatio(1);
    $deliverySchedule->SetPriority('AD_PRIORITY_01');
    
    $startDate = new DateTime('today');
    $endDate = new DateTime($campaign->getEndDate());
    
    // Create a rotation group.
    $ad = new Google_Service_Dfareporting_Ad();
    $ad->setActive(true);
    $ad->setCampaignId($values['campaign_id']);
    $ad->setCreativeRotation($creativeRotation);
    $ad->setDeliverySchedule($deliverySchedule);
    $ad->setStartTime($startDate->format('Y-m-d') . 'T23:59:59Z');
    $ad->setEndTime($endDate->format('Y-m-d') . 'T00:00:00Z');
    $ad->setName($values['ad_name']);
    $ad->setPlacementAssignments([$placementAssignment]);
    $ad->setType('AD_SERVING_STANDARD_AD');
  5. Speichern Sie die Anzeige, indem Sie ads.insert() aufrufen.
    $result = $this->service->ads->insert($values['user_profile_id'], $ad);

Python

  1. Erstellen Sie für jedes Creative, mit dem diese Anzeige verknüpft werden soll, ein CreativeAssignment-Objekt. Achten Sie darauf, das Feld CreativeAssignment.active auf „true“ zu setzen.
    # Construct creative assignment.
    creative_assignment = {
        'active': 'true',
        'creativeId': creative_id,
        'clickThroughUrl': {
            'defaultLandingPage': 'true'
        }
    }
  2. Erstellen Sie ein CreativeRotation-Objekt zum Speichern der CreativeAssignments. Wenn Sie eine Rotationsgruppe erstellen, müssen Sie auch die anderen erforderlichen Felder für die Creative-Rotation festlegen.
    # Construct creative rotation.
    creative_rotation = {
        'creativeAssignments': [creative_assignment],
        'type': 'CREATIVE_ROTATION_TYPE_RANDOM',
        'weightCalculationStrategy': 'WEIGHT_STRATEGY_OPTIMIZED'
    }
  3. Erstellen Sie für jedes Placement, dem diese Anzeige zugeordnet werden soll, ein PlacementAssignment-Objekt. Achten Sie darauf, das Feld PlacementAssignment.active auf „true“ zu setzen.
    # Construct placement assignment.
    placement_assignment = {
        'active': 'true',
        'placementId': placement_id,
    }
  4. Erstellen Sie ein Ad-Objekt. Legen Sie „creativeRotation“ im Feld creativeRotation des Ad-Objekts und „placementAssignments“ im Array placementAssignments des Ad-Objekts fest.
    # Construct delivery schedule.
    delivery_schedule = {
        'impressionRatio': '1',
        'priority': 'AD_PRIORITY_01'
    }
    
    # Construct and save ad.
    ad = {
        'active': 'true',
        'campaignId': campaign_id,
        'creativeRotation': creative_rotation,
        'deliverySchedule': delivery_schedule,
        'endTime': '%sT00:00:00Z' % campaign['endDate'],
        'name': 'Test Rotation Group',
        'placementAssignments': [placement_assignment],
        'startTime': '%sT23:59:59Z' % time.strftime('%Y-%m-%d'),
        'type': 'AD_SERVING_STANDARD_AD'
    }
  5. Speichern Sie die Anzeige, indem Sie ads.insert() aufrufen.
    request = service.ads().insert(profileId=profile_id, body=ad)
    
    # Execute request and print response.
    response = request.execute()

Ruby

  1. Erstellen Sie für jedes Creative, mit dem diese Anzeige verknüpft werden soll, ein CreativeAssignment-Objekt. Achten Sie darauf, das Feld CreativeAssignment.active auf „true“ zu setzen.
    # Construct creative assignment.
    creative_assignment =
      DfareportingUtils::API_NAMESPACE::CreativeAssignment.new(
        active: true,
        creative_id: creative_id,
        click_through_url: DfareportingUtils::API_NAMESPACE::ClickThroughUrl.new(
          default_landing_page: true
        )
      )
  2. Erstellen Sie ein CreativeRotation-Objekt zum Speichern der CreativeAssignments. Wenn Sie eine Rotationsgruppe erstellen, müssen Sie auch die anderen erforderlichen Felder für die Creative-Rotation festlegen.
    # Construct creative rotation.
    creative_rotation = DfareportingUtils::API_NAMESPACE::CreativeRotation.new(
      creative_assignments: [creative_assignment],
      type: 'CREATIVE_ROTATION_TYPE_RANDOM',
      weight_calculation_strategy: 'WEIGHT_STRATEGY_OPTIMIZED'
    )
  3. Erstellen Sie für jedes Placement, dem diese Anzeige zugeordnet werden soll, ein PlacementAssignment-Objekt. Achten Sie darauf, das Feld PlacementAssignment.active auf „true“ zu setzen.
    # Construct placement assignment.
    placement_assignment =
      DfareportingUtils::API_NAMESPACE::PlacementAssignment.new(
        active: true,
        placement_id: placement_id
      )
  4. Erstellen Sie ein Ad-Objekt. Legen Sie „creativeRotation“ im Feld creativeRotation des Ad-Objekts und „placementAssignments“ im Array placementAssignments des Ad-Objekts fest.
    # Construct delivery schedule.
    delivery_schedule = DfareportingUtils::API_NAMESPACE::DeliverySchedule.new(
      impression_ratio: 1,
      priority: 'AD_PRIORITY_01'
    )
    
    # Construct and save ad.
    ad = DfareportingUtils::API_NAMESPACE::Ad.new(
      active: true,
      campaign_id: campaign_id,
      creative_rotation: creative_rotation,
      delivery_schedule: delivery_schedule,
      end_time: format('%sT00:00:00Z', campaign.end_date),
      name: 'Example Rotation Group',
      placement_assignments: [placement_assignment],
      start_time: format('%sT23:59:59Z', Time.now.strftime('%Y-%m-%d')),
      type: 'AD_SERVING_STANDARD_AD'
    )
  5. Speichern Sie die Anzeige, indem Sie ads.insert() aufrufen.
    result = service.insert_ad(profile_id, ad)

Implizit

C#

  1. Erstellen und speichern Sie eine Placement.
  2. Erstellen und speichern Sie eine Creative.
  3. Verknüpfen Sie die Creative mit derselben Campaign, die für die Placement verwendet wird, indem Sie campaignCreativeAssociations.insert() aufrufen (siehe Schritt 4 im Abschnitt Creative erstellen). Dadurch wird eine Default-Anzeige erstellt, die sowohl dem Creative als auch dem Placement zugeordnet ist.
    // Create the campaign creative association structure.
    CampaignCreativeAssociation association = new CampaignCreativeAssociation();
    association.CreativeId = creativeId;
    
    // Insert the association.
    CampaignCreativeAssociation result =
        service.CampaignCreativeAssociations.Insert(association, profileId, campaignId).Execute();

Java

  1. Erstellen und speichern Sie eine Placement.
  2. Erstellen und speichern Sie eine Creative.
  3. Verknüpfen Sie die Creative mit derselben Campaign, die für die Placement verwendet wird, indem Sie campaignCreativeAssociations.insert() aufrufen (siehe Schritt 4 im Abschnitt Creative erstellen). Dadurch wird eine Default-Anzeige erstellt, die sowohl dem Creative als auch dem Placement zugeordnet ist.
    // Create the campaign creative association structure.
    CampaignCreativeAssociation association = new CampaignCreativeAssociation();
    association.setCreativeId(creativeId);
    
    // Insert the association.
    CampaignCreativeAssociation result = reporting
        .campaignCreativeAssociations().insert(profileId, campaignId, association)
        .execute();

PHP

  1. Erstellen und speichern Sie eine Placement.
  2. Erstellen und speichern Sie eine Creative.
  3. Verknüpfen Sie die Creative mit derselben Campaign, die für die Placement verwendet wird, indem Sie campaignCreativeAssociations.insert() aufrufen (siehe Schritt 4 im Abschnitt Creative erstellen). Dadurch wird eine Default-Anzeige erstellt, die sowohl dem Creative als auch dem Placement zugeordnet ist.
    $association =
        new Google_Service_Dfareporting_CampaignCreativeAssociation();
    $association->setCreativeId($values['creative_id']);
    
    $result = $this->service->campaignCreativeAssociations->insert(
        $values['user_profile_id'],
        $values['campaign_id'],
        $association
    );

Python

  1. Erstellen und speichern Sie eine Placement.
  2. Erstellen und speichern Sie eine Creative.
  3. Verknüpfen Sie die Creative mit derselben Campaign, die für die Placement verwendet wird, indem Sie campaignCreativeAssociations.insert() aufrufen (siehe Schritt 4 im Abschnitt Creative erstellen). Dadurch wird eine Default-Anzeige erstellt, die sowohl dem Creative als auch dem Placement zugeordnet ist.
    # Construct the request.
    association = {
        'creativeId': creative_id
    }
    
    request = service.campaignCreativeAssociations().insert(
        profileId=profile_id, campaignId=campaign_id, body=association)
    
    # Execute request and print response.
    response = request.execute()

Ruby

  1. Erstellen und speichern Sie eine Placement.
  2. Erstellen und speichern Sie eine Creative.
  3. Verknüpfen Sie die Creative mit derselben Campaign, die für die Placement verwendet wird, indem Sie campaignCreativeAssociations.insert() aufrufen (siehe Schritt 4 im Abschnitt Creative erstellen). Dadurch wird eine Default-Anzeige erstellt, die sowohl dem Creative als auch dem Placement zugeordnet ist.
    # Create a new creative-campaign association to insert
    association =
      DfareportingUtils::API_NAMESPACE::CampaignCreativeAssociation.new(
        creative_id: creative_id
      )
    
    # Insert the advertiser group.
    result = service.insert_campaign_creative_association(profile_id, campaign_id,
      association)

Wenn Sie eine Anzeige erstellen, sparen Sie sich den zusätzlichen Schritt, eine Ad zu erstellen. Das ist nur möglich, wenn in Ihrer Kampagne noch keine Default-Anzeige mit der angegebenen Größe vorhanden ist.

Nach Objekten suchen

Sie können nach Objekten suchen, indem Sie den Vorgang list() aufrufen, der vom Dienst bereitgestellt wird, der das zu suchende Objekt definiert. Dabei können Sie optionale Kriterien angeben, die für diesen Objekttyp geeignet sind. Wenn Sie beispielsweise nach Anzeigenobjekten suchen möchten, rufen Sie ads.list() auf. Mit den optionalen Kriterien wird eine Reihe von Eigenschaften für das Objekt verfügbar gemacht. Geben Sie so viele Eigenschaften an, wie Sie für die Suche verwenden möchten. Bei der Suche werden nur Objekte zurückgegeben, die alle Ihre Kriterien erfüllen. Es ist nicht möglich, nach Objekten zu suchen, die einem beliebigen Kriterium entsprechen. Strings unterstützen den Platzhalter „*“, sind nicht case-sensitiv und werden innerhalb größerer Strings abgeglichen.

Um die Leistung zu verbessern, können mit dem Parameter fields Teilantworten angefordert werden. Dadurch wird der Server angewiesen, nur die von Ihnen angegebenen Felder zurückzugeben und nicht die vollständige Ressourcendarstellung. Weitere Informationen zu diesem Thema finden Sie im Leitfaden Leistungstipps.

Paging

Manchmal ist es nicht wünschenswert, alle Ergebnisse für eine list()-Anfrage abzurufen. Vielleicht interessieren Sie sich beispielsweise nur für die 10 neuesten Anzeigen aus einem Pool von Tausenden. Viele list()-Methoden bieten die Möglichkeit, weniger Ergebnisse anzufordern. Dies wird als Paging bezeichnet.

Methoden, die die Paginierung unterstützen, geben Teilmengen von Ergebnissen in Gruppen zurück, die als Seiten bezeichnet werden. Die maximale Anzahl von Ergebnissen pro Seite beträgt 1.000 (Standardwert). Sie können die Anzahl der Ergebnisse pro Seite ändern, indem Sie maxResults festlegen. Außerdem können Sie die Seiten mithilfe von nextPageToken durchlaufen, das in der Antwort zurückgegeben wird:

C#

// Limit the fields returned.
String fields = "nextPageToken,ads(advertiserId,id,name)";

AdsListResponse result;
String nextPageToken = null;

do {
  // Create and execute the ad list request.
  AdsResource.ListRequest request = service.Ads.List(profileId);
  request.Active = true;
  request.Fields = fields;
  request.PageToken = nextPageToken;
  result = request.Execute();

  foreach (Ad ad in result.Ads) {
    Console.WriteLine(
        "Ad with ID {0} and name \"{1}\" is associated with advertiser" +
        " ID {2}.", ad.Id, ad.Name, ad.AdvertiserId);
  }

  // Update the next page token.
  nextPageToken = result.NextPageToken;
} while (result.Ads.Any() && !String.IsNullOrEmpty(nextPageToken));

Java

// Limit the fields returned.
String fields = "nextPageToken,ads(advertiserId,id,name)";

AdsListResponse result;
String nextPageToken = null;

do {
  // Create and execute the ad list request.
  result = reporting.ads().list(profileId).setActive(true).setFields(fields)
      .setPageToken(nextPageToken).execute();

  for (Ad ad : result.getAds()) {
    System.out.printf(
        "Ad with ID %d and name \"%s\" is associated with advertiser ID %d.%n", ad.getId(),
        ad.getName(), ad.getAdvertiserId());
  }

  // Update the next page token.
  nextPageToken = result.getNextPageToken();
} while (!result.getAds().isEmpty() && !Strings.isNullOrEmpty(nextPageToken));

PHP

$response = null;
$pageToken = null;

do {
    // Create and execute the ads list request.
    $response = $this->service->ads->listAds(
        $values['user_profile_id'],
        ['active' => true, 'pageToken' => $pageToken]
    );

    foreach ($response->getAds() as $ads) {
        $this->printResultsTableRow($ads);
    }

    // Update the next page token.
    $pageToken = $response->getNextPageToken();
} while (!empty($response->getAds()) && !empty($pageToken));

Python

# Construct the request.
request = service.ads().list(profileId=profile_id, active=True)

while True:
  # Execute request and print response.
  response = request.execute()

  for ad in response['ads']:
    print 'Found ad with ID %s and name "%s".' % (ad['id'], ad['name'])

  if response['ads'] and response['nextPageToken']:
    request = service.ads().list_next(request, response)
  else:
    break

Ruby

token = nil
loop do
  result = service.list_ads(profile_id,
    page_token: token,
    fields: 'nextPageToken,ads(id,name)')

  # Display results.
  if result.ads.any?
    result.ads.each do |ad|
      puts format('Found ad with ID %d and name "%s".', ad.id, ad.name)
    end

    token = result.next_page_token
  else
    # Stop paging if there are no more results.
    token = nil
  end

  break if token.to_s.empty?
end

Floodlight-Tags generieren

Floodlight-Tags sind HTML-Tags, die in eine Seite eingebettet werden, um Nutzeraktionen (z.B. Käufe) auf einer Website zu erfassen. Zum Generieren von Floodlight-Tags benötigen Sie ein FloodlightActivity, das zu einem FloodlightActivityGroup gehört:

C#

  1. Erstellen Sie eine neue Floodlight-Aktivitätsgruppe und übergeben Sie Werte für name, type und floodlightConfigurationId.
    // Create the floodlight activity group.
    FloodlightActivityGroup floodlightActivityGroup = new FloodlightActivityGroup();
    floodlightActivityGroup.Name = groupName;
    floodlightActivityGroup.FloodlightConfigurationId = floodlightConfigurationId;
    floodlightActivityGroup.Type = "COUNTER";
  2. Speichern Sie die Floodlight-Aktivitätsgruppe, indem Sie floodlightActivityGroups.insert() aufrufen. Dadurch wird die ID der neuen Gruppe zurückgegeben.
    // Insert the activity group.
    FloodlightActivityGroup result =
        service.FloodlightActivityGroups.Insert(floodlightActivityGroup, profileId).Execute();
  3. Erstellen Sie eine neue Floodlight-Aktivität und weisen Sie ihr die ID der gerade erstellten Floodlight-Aktivitätsgruppe sowie alle anderen erforderlichen Felder zu.
    // Set floodlight activity structure.
    FloodlightActivity activity = new FloodlightActivity();
    activity.CountingMethod = "STANDARD_COUNTING";
    activity.Name = activityName;
    activity.FloodlightActivityGroupId = activityGroupId;
    activity.FloodlightTagType = "GLOBAL_SITE_TAG";
    activity.ExpectedUrl = url;
  4. Speichern Sie die neue Aktivität, indem Sie floodlightActivities.insert() aufrufen. Dadurch wird die ID der neuen Aktivität zurückgegeben.
    // Create the floodlight tag activity.
    FloodlightActivity result =
        service.FloodlightActivities.Insert(activity, profileId).Execute();
  5. Generieren Sie die Tags, indem Sie floodlightActivities.generatetag() mit dem floodlightActivityId Ihrer neuen Aktivität aufrufen. Senden Sie die Tags an den Webmaster der Website des Werbetreibenden.
    // Generate the floodlight activity tag.
    FloodlightActivitiesResource.GeneratetagRequest request =
        service.FloodlightActivities.Generatetag(profileId);
    request.FloodlightActivityId = activityId;
    
    FloodlightActivitiesGenerateTagResponse response = request.Execute();

Java

  1. Erstellen Sie eine neue Floodlight-Aktivitätsgruppe und übergeben Sie Werte für name, type und floodlightConfigurationId.
    // Create the floodlight activity group.
    FloodlightActivityGroup floodlightActivityGroup = new FloodlightActivityGroup();
    floodlightActivityGroup.setName(groupName);
    floodlightActivityGroup.setFloodlightConfigurationId(floodlightConfigurationId);
    floodlightActivityGroup.setType("COUNTER");
  2. Speichern Sie die Floodlight-Aktivitätsgruppe, indem Sie floodlightActivityGroups.insert() aufrufen. Dadurch wird die ID der neuen Gruppe zurückgegeben.
    // Insert the activity group.
    FloodlightActivityGroup result =
        reporting.floodlightActivityGroups().insert(profileId, floodlightActivityGroup).execute();
  3. Erstellen Sie eine neue Floodlight-Aktivität und weisen Sie ihr die ID der gerade erstellten Floodlight-Aktivitätsgruppe sowie alle anderen erforderlichen Felder zu.
    // Set floodlight activity structure.
    FloodlightActivity activity = new FloodlightActivity();
    activity.setName(activityName);
    activity.setCountingMethod("STANDARD_COUNTING");
    activity.setExpectedUrl(url);
    activity.setFloodlightActivityGroupId(activityGroupId);
    activity.setFloodlightTagType("GLOBAL_SITE_TAG");
  4. Speichern Sie die neue Aktivität, indem Sie floodlightActivities.insert() aufrufen. Dadurch wird die ID der neuen Aktivität zurückgegeben.
    // Create the floodlight tag activity.
    FloodlightActivity result =
        reporting.floodlightActivities().insert(profileId, activity).execute();
  5. Generieren Sie die Tags, indem Sie floodlightActivities.generatetag() mit dem floodlightActivityId Ihrer neuen Aktivität aufrufen. Senden Sie die Tags an den Webmaster der Website des Werbetreibenden.
    // Generate the floodlight activity tag.
    Generatetag request = reporting.floodlightActivities().generatetag(profileId);
    request.setFloodlightActivityId(activityId);
    
    FloodlightActivitiesGenerateTagResponse response = request.execute();

PHP

  1. Erstellen Sie eine neue Floodlight-Aktivitätsgruppe und übergeben Sie Werte für name, type und floodlightConfigurationId.
    $group = new Google_Service_Dfareporting_FloodlightActivityGroup();
    $group->setFloodlightConfigurationId($values['configuration_id']);
    $group->setName($values['group_name']);
    $group->setType('COUNTER');
  2. Speichern Sie die Floodlight-Aktivitätsgruppe, indem Sie floodlightActivityGroups.insert() aufrufen. Dadurch wird die ID der neuen Gruppe zurückgegeben.
    $result = $this->service->floodlightActivityGroups->insert(
        $values['user_profile_id'],
        $group
    );
  3. Erstellen Sie eine neue Floodlight-Aktivität und weisen Sie ihr die ID der gerade erstellten Floodlight-Aktivitätsgruppe sowie alle anderen erforderlichen Felder zu.
    $activity = new Google_Service_Dfareporting_FloodlightActivity();
    $activity->setCountingMethod('STANDARD_COUNTING');
    $activity->setExpectedUrl($values['url']);
    $activity->setFloodlightActivityGroupId($values['activity_group_id']);
    $activity->setFloodlightTagType('GLOBAL_SITE_TAG');
    $activity->setName($values['activity_name']);
  4. Speichern Sie die neue Aktivität, indem Sie floodlightActivities.insert() aufrufen. Dadurch wird die ID der neuen Aktivität zurückgegeben.
    $result = $this->service->floodlightActivities->insert(
        $values['user_profile_id'],
        $activity
    );
  5. Generieren Sie die Tags, indem Sie floodlightActivities.generatetag() mit dem floodlightActivityId Ihrer neuen Aktivität aufrufen. Senden Sie die Tags an den Webmaster der Website des Werbetreibenden.
    $result = $this->service->floodlightActivities->generatetag(
        $values['user_profile_id'],
        ['floodlightActivityId' => $values['activity_id']]
    );

Python

  1. Erstellen Sie eine neue Floodlight-Aktivitätsgruppe und übergeben Sie Werte für name, type und floodlightConfigurationId.
    # Construct and save floodlight activity group.
    activity_group = {
        'name': 'Test Floodlight Activity Group',
        'floodlightConfigurationId': floodlight_config_id,
        'type': 'COUNTER'
    }
  2. Speichern Sie die Floodlight-Aktivitätsgruppe, indem Sie floodlightActivityGroups.insert() aufrufen. Dadurch wird die ID der neuen Gruppe zurückgegeben.
    request = service.floodlightActivityGroups().insert(
        profileId=profile_id, body=activity_group)
  3. Erstellen Sie eine neue Floodlight-Aktivität und weisen Sie ihr die ID der gerade erstellten Floodlight-Aktivitätsgruppe sowie alle anderen erforderlichen Felder zu.
    # Construct and save floodlight activity.
    floodlight_activity = {
        'countingMethod': 'STANDARD_COUNTING',
        'expectedUrl': 'http://www.google.com',
        'floodlightActivityGroupId': activity_group_id,
        'floodlightTagType': 'GLOBAL_SITE_TAG',
        'name': 'Test Floodlight Activity'
    }
  4. Speichern Sie die neue Aktivität, indem Sie floodlightActivities.insert() aufrufen. Dadurch wird die ID der neuen Aktivität zurückgegeben.
    request = service.floodlightActivities().insert(
        profileId=profile_id, body=floodlight_activity)
  5. Generieren Sie die Tags, indem Sie floodlightActivities.generatetag() mit dem floodlightActivityId Ihrer neuen Aktivität aufrufen. Senden Sie die Tags an den Webmaster der Website des Werbetreibenden.
    # Construct the request.
    request = service.floodlightActivities().generatetag(
        profileId=profile_id, floodlightActivityId=activity_id)
    
    # Execute request and print response.
    response = request.execute()

Ruby

  1. Erstellen Sie eine neue Floodlight-Aktivitätsgruppe und übergeben Sie Werte für name, type und floodlightConfigurationId.
    # Create a new floodlight activity group resource to insert.
    activity_group =
      DfareportingUtils::API_NAMESPACE::FloodlightActivityGroup.new(
        floodlight_configuration_id: floodlight_config_id,
        name:
          format('Example Floodlight Activity Group #%s', SecureRandom.hex(3)),
        type: 'COUNTER'
      )
  2. Speichern Sie die Floodlight-Aktivitätsgruppe, indem Sie floodlightActivityGroups.insert() aufrufen. Dadurch wird die ID der neuen Gruppe zurückgegeben.
    # Insert the floodlight activity group.
    result = service.insert_floodlight_activity_group(profile_id, activity_group)
  3. Erstellen Sie eine neue Floodlight-Aktivität und weisen Sie ihr die ID der gerade erstellten Floodlight-Aktivitätsgruppe sowie alle anderen erforderlichen Felder zu.
    # Create a new floodlight activity resource to insert.
    activity = DfareportingUtils::API_NAMESPACE::FloodlightActivity.new(
      counting_method: 'STANDARD_COUNTING',
      expected_url: 'http://www.google.com',
      floodlight_activity_group_id: activity_group_id,
      floodlight_tag_type: 'GLOBAL_SITE_TAG',
      name: format('Example Floodlight Activity #%s', SecureRandom.hex(3))
    )
  4. Speichern Sie die neue Aktivität, indem Sie floodlightActivities.insert() aufrufen. Dadurch wird die ID der neuen Aktivität zurückgegeben.
    # Insert the floodlight activity.
    result = service.insert_floodlight_activity(profile_id, activity)
  5. Generieren Sie die Tags, indem Sie floodlightActivities.generatetag() mit dem floodlightActivityId Ihrer neuen Aktivität aufrufen. Senden Sie die Tags an den Webmaster der Website des Werbetreibenden.
    # Construct the request.
    result = service.generatetag_floodlight_activity(profile_id,
      floodlight_activity_id: activity_id)

Placement-Tags generieren

Im letzten Schritt werden HTML-Tags generiert, die Sie an den Publisher senden, damit Ihre Anzeigen ausgeliefert werden können. Wenn Sie die Tags über die API generieren möchten, senden Sie eine Anfrage an placements.generatetags() und geben Sie eine Reihe von placementIds und tagFormats an.

C#

// Generate the placement activity tags.
PlacementsResource.GeneratetagsRequest request =
    service.Placements.Generatetags(profileId);
request.CampaignId = campaignId;
request.TagFormats =
    PlacementsResource.GeneratetagsRequest.TagFormatsEnum.PLACEMENTTAGIFRAMEJAVASCRIPT;
request.PlacementIds = placementId.ToString();

PlacementsGenerateTagsResponse response = request.Execute();

Java

// Generate the placement activity tags.
Generatetags request = reporting.placements().generatetags(profileId);
request.setCampaignId(campaignId);
request.setTagFormats(tagFormats);
request.setPlacementIds(ImmutableList.of(placementId));

PlacementsGenerateTagsResponse response = request.execute();

PHP

$placementTags = $this->service->placements->generatetags(
    $values['user_profile_id'],
    ['campaignId' => $values['campaign_id'],
     'placementIds' => [$values['placement_id']],
     'tagFormats' => ['PLACEMENT_TAG_STANDARD',
                      'PLACEMENT_TAG_IFRAME_JAVASCRIPT',
                      'PLACEMENT_TAG_INTERNAL_REDIRECT']
    ]
);

Python

# Construct the request.
request = service.placements().generatetags(
    profileId=profile_id, campaignId=campaign_id,
    placementIds=[placement_id])

# Execute request and print response.
response = request.execute()

Ruby

# Construct the request.
result = service.generate_placement_tags(profile_id,
  campaign_id: campaign_id,
  placement_ids: [placement_id])