Tâches de trafficking courantes

Cette page explique comment effectuer certaines des tâches de trafficking les plus courantes à l'aide de l'API DCM/Campaign Reporting and Trafficking.

Conseils généraux sur le codage

  • Propriétés et paramètres obligatoires et facultatifs : consultez la documentation de référence pour savoir si une propriété ou un paramètre est requis pour un appel d'API.
  • Recherche de noms avec caractères génériques : vous pouvez utiliser le caractère générique astérisque (*) lorsque vous recherchez des noms d'objets. Un astérisque correspond à zéro ou à plusieurs caractères. L'API accepte également la recherche de sous-chaîne implicite. Par conséquent, une recherche sur "abc" recherchera implicitement "*abc*".
  • Mettre à jour ou corriger un objet - Pour modifier un objet existant, deux options s'offrent à vous :
    1. Mise à jour : lors de la mise à jour d'un objet, tous les champs sont écrasés lors de l'insertion. Il est important de charger l'objet que vous souhaitez mettre à jour et d'y apporter les modifications nécessaires. Sinon, les champs qui ne sont pas présents dans la demande de mise à jour ne seront pas définis.
    2. Application de correctifs : lors de l'application de correctifs, seuls les champs spécifiés sont écrasés lors de l'insertion. Dans ce cas, vous pouvez créer un objet, lui attribuer le même identifiant que l'objet à mettre à jour, définir les champs à mettre à jour et exécuter la requête patch.
  • Tailles : les dimensions physiques sont représentées par un objet Size défini par le service sizes. Le compte fournit un ensemble de tailles standards, auxquelles vous pouvez ajouter vos propres tailles personnalisées.
  • Dates et heures : vous pouvez enregistrer les dates et les heures au format RFC 3339 en utilisant les fuseaux horaires locaux. Toutes les valeurs renvoyées par l'API sont au format UTC. Celui-ci diffère de celui du site Web où les dates et les heures sont affichées selon le fuseau horaire que vous avez configuré (heure Amérique/New York, par défaut).

Créer un annonceur

C#

  1. Créez un objet Advertiser, puis définissez ses propriétés obligatoires name et status.
    // Create the advertiser structure.
    Advertiser advertiser = new Advertiser();
    advertiser.Name = advertiserName;
    advertiser.Status = "APPROVED";
    
  2. Appelez advertisers.insert() pour enregistrer l'annonceur.
    // Create the advertiser.
    Advertiser result = service.Advertisers.Insert(advertiser, profileId).Execute();
    

Java

  1. Créez un objet Advertiser, puis définissez ses propriétés obligatoires name et status.
    // Create the advertiser structure.
    Advertiser advertiser = new Advertiser();
    advertiser.setName(advertiserName);
    advertiser.setStatus("APPROVED");
    
  2. Appelez advertisers.insert() pour enregistrer l'annonceur.
    // Create the advertiser.
    Advertiser result = reporting.advertisers().insert(profileId, advertiser).execute();
    

PHP

  1. Créez un objet Advertiser, puis définissez ses propriétés obligatoires name et status.
    $advertiser = new Google_Service_Dfareporting_Advertiser();
    $advertiser->setName($values['advertiser_name']);
    $advertiser->setStatus('APPROVED');
    
  2. Appelez advertisers.insert() pour enregistrer l'annonceur.
    $result = $this->service->advertisers->insert(
        $values['user_profile_id'],
        $advertiser
    );
    

Python

  1. Créez un objet Advertiser, puis définissez ses propriétés obligatoires name et status.
    # Construct and save advertiser.
    advertiser = {
        'name': 'Test Advertiser',
        'status': 'APPROVED'
    }
    
  2. Appelez advertisers.insert() pour enregistrer l'annonceur.
    request = service.advertisers().insert(
        profileId=profile_id, body=advertiser)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. Créez un objet Advertiser, puis définissez ses propriétés obligatoires name et status.
    # Create a new advertiser resource to insert.
    advertiser = DfareportingUtils::API_NAMESPACE::Advertiser.new(
      name: format('Example Advertiser #%s', SecureRandom.hex(3)),
      status: 'APPROVED'
    )
    
  2. Appelez advertisers.insert() pour enregistrer l'annonceur.
    # Insert the advertiser.
    result = service.insert_advertiser(profile_id, advertiser)
    

Créer une campagne

C#

  1. Créez un objet Campaign et définissez ses propriétés obligatoires:

    • advertiserId : annonceur auquel associer cette campagne.
    • name : ce champ doit être unique dans toutes les campagnes de cet annonceur.
    • defaultLandingPageId : page de destination vers laquelle les utilisateurs sont redirigés lorsqu'ils cliquent sur une annonce de cette campagne, si aucune annonce n'est attribuée à cette annonce. Vous pouvez rechercher des pages de destination existantes en appelant advertiserLandingPages.list ou en créer une en appelant advertiserLandingPages.insert.
    • Dates de début et de fin : elles doivent se situer dans le futur et peuvent être exactes à la date du jour. Pour en savoir plus, consultez la puce des dates et des heures dans la section Informations générales sur le codage. Les dates d'une annonce individuelle peuvent dépasser la date de fin. Cela permet à un éditeur de tenter de remplir un contrat pour un nombre d'actions spécifié, s'il n'a pas été rempli avant la date de fin de la campagne.
    // 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. Appelez campaigns.insert() pour enregistrer la campagne.

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

Java

  1. Créez un objet Campaign et définissez ses propriétés obligatoires:

    • advertiserId : annonceur auquel associer cette campagne.
    • name : ce champ doit être unique dans toutes les campagnes de cet annonceur.
    • defaultLandingPageId : page de destination vers laquelle les utilisateurs sont redirigés lorsqu'ils cliquent sur une annonce de cette campagne, si aucune annonce n'est attribuée à cette annonce. Vous pouvez rechercher des pages de destination existantes en appelant advertiserLandingPages.list ou en créer une en appelant advertiserLandingPages.insert.
    • Dates de début et de fin : elles doivent se situer dans le futur et peuvent être exactes à la date du jour. Pour en savoir plus, consultez la puce des dates et des heures dans la section Informations générales sur le codage. Les dates d'une annonce individuelle peuvent dépasser la date de fin. Cela permet à un éditeur de tenter de remplir un contrat pour un nombre d'actions spécifié, s'il n'a pas été rempli avant la date de fin de la campagne.
    // 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. Appelez campaigns.insert() pour enregistrer la campagne.

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

PHP

  1. Créez un objet Campaign et définissez ses propriétés obligatoires:

    • advertiserId : annonceur auquel associer cette campagne.
    • name : ce champ doit être unique dans toutes les campagnes de cet annonceur.
    • defaultLandingPageId : page de destination vers laquelle les utilisateurs sont redirigés lorsqu'ils cliquent sur une annonce de cette campagne, si aucune annonce n'est attribuée à cette annonce. Vous pouvez rechercher des pages de destination existantes en appelant advertiserLandingPages.list ou en créer une en appelant advertiserLandingPages.insert.
    • Dates de début et de fin : elles doivent se situer dans le futur et peuvent être exactes à la date du jour. Pour en savoir plus, consultez la puce des dates et des heures dans la section Informations générales sur le codage. Les dates d'une annonce individuelle peuvent dépasser la date de fin. Cela permet à un éditeur de tenter de remplir un contrat pour un nombre d'actions spécifié, s'il n'a pas été rempli avant la date de fin de la campagne.
    $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. Appelez campaigns.insert() pour enregistrer la campagne.

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

Python

  1. Créez un objet Campaign et définissez ses propriétés obligatoires:

    • advertiserId : annonceur auquel associer cette campagne.
    • name : ce champ doit être unique dans toutes les campagnes de cet annonceur.
    • defaultLandingPageId : page de destination vers laquelle les utilisateurs sont redirigés lorsqu'ils cliquent sur une annonce de cette campagne, si aucune annonce n'est attribuée à cette annonce. Vous pouvez rechercher des pages de destination existantes en appelant advertiserLandingPages.list ou en créer une en appelant advertiserLandingPages.insert.
    • Dates de début et de fin : elles doivent se situer dans le futur et peuvent être exactes à la date du jour. Pour en savoir plus, consultez la puce des dates et des heures dans la section Informations générales sur le codage. Les dates d'une annonce individuelle peuvent dépasser la date de fin. Cela permet à un éditeur de tenter de remplir un contrat pour un nombre d'actions spécifié, s'il n'a pas été rempli avant la date de fin de la campagne.
    # 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. Appelez campaigns.insert() pour enregistrer la campagne.

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

Ruby

  1. Créez un objet Campaign et définissez ses propriétés obligatoires:

    • advertiserId : annonceur auquel associer cette campagne.
    • name : ce champ doit être unique dans toutes les campagnes de cet annonceur.
    • defaultLandingPageId : page de destination vers laquelle les utilisateurs sont redirigés lorsqu'ils cliquent sur une annonce de cette campagne, si aucune annonce n'est attribuée à cette annonce. Vous pouvez rechercher des pages de destination existantes en appelant advertiserLandingPages.list ou en créer une en appelant advertiserLandingPages.insert.
    • Dates de début et de fin : elles doivent se situer dans le futur et peuvent être exactes à la date du jour. Pour en savoir plus, consultez la puce des dates et des heures dans la section Informations générales sur le codage. Les dates d'une annonce individuelle peuvent dépasser la date de fin. Cela permet à un éditeur de tenter de remplir un contrat pour un nombre d'actions spécifié, s'il n'a pas été rempli avant la date de fin de la campagne.
    # 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. Appelez campaigns.insert() pour enregistrer la campagne.

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

Créer un emplacement

C#

  1. Créez un objet Placement, puis définissez les propriétés requises pour l'emplacement (y compris campaignId et siteId). Veillez également à définir précisément le type et la taille de l'emplacement que vous avez négocié avec votre site Web.
    // 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. Créez un objet PricingSchedule à attribuer à l'emplacement.
    // 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. Enregistrez l'objet Placement en appelant placements.insert(). Veillez à conserver l'ID renvoyé si vous souhaitez l'utiliser pour l'attribuer à une annonce ou à une création.
    // Insert the placement.
    Placement result = service.Placements.Insert(placement, profileId).Execute();
    

Java

  1. Créez un objet Placement, puis définissez les propriétés requises pour l'emplacement (y compris campaignId et siteId). Veillez également à définir précisément le type et la taille de l'emplacement que vous avez négocié avec votre site Web.
    // 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. Créez un objet PricingSchedule à attribuer à l'emplacement.
    // 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. Enregistrez l'objet Placement en appelant placements.insert(). Veillez à conserver l'ID renvoyé si vous souhaitez l'utiliser pour l'attribuer à une annonce ou à une création.
    // Insert the placement.
    Placement result = reporting.placements().insert(profileId, placement).execute();
    

PHP

  1. Créez un objet Placement, puis définissez les propriétés requises pour l'emplacement (y compris campaignId et siteId). Veillez également à définir précisément le type et la taille de l'emplacement que vous avez négocié avec votre site Web.
    $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. Créez un objet PricingSchedule à attribuer à l'emplacement.
    // 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. Enregistrez l'objet Placement en appelant placements.insert(). Veillez à conserver l'ID renvoyé si vous souhaitez l'utiliser pour l'attribuer à une annonce ou à une création.
    // Insert the placement.
    $result = $this->service->placements->insert(
        $values['user_profile_id'],
        $placement
    );
    

Python

  1. Créez un objet Placement, puis définissez les propriétés requises pour l'emplacement (y compris campaignId et siteId). Veillez également à définir précisément le type et la taille de l'emplacement que vous avez négocié avec votre site Web.
    # 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. Créez un objet PricingSchedule à attribuer à l'emplacement.
    # Set the pricing schedule for the placement.
    placement['pricingSchedule'] = {
        'startDate': campaign['startDate'],
        'endDate': campaign['endDate'],
        'pricingType': 'PRICING_TYPE_CPM'
    }
    
  3. Enregistrez l'objet Placement en appelant placements.insert(). Veillez à conserver l'ID renvoyé si vous souhaitez l'utiliser pour l'attribuer à une annonce ou à une création.
    request = service.placements().insert(profileId=profile_id, body=placement)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. Créez un objet Placement, puis définissez les propriétés requises pour l'emplacement (y compris campaignId et siteId). Veillez également à définir précisément le type et la taille de l'emplacement que vous avez négocié avec votre site Web.
    # 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. Créez un objet PricingSchedule à attribuer à l'emplacement.
    # 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. Enregistrez l'objet Placement en appelant placements.insert(). Veillez à conserver l'ID renvoyé si vous souhaitez l'utiliser pour l'attribuer à une annonce ou à une création.
    # Insert the placement strategy.
    result = service.insert_placement(profile_id, placement)
    

Importer des éléments

Vous pouvez importer de nombreux types d'éléments à l'aide d'un processus appelé importation de contenus multimédias. Bien que ce processus soit similaire pour tous les types de créations, certains types peuvent nécessiter la transmission de propriétés spécifiques sous forme de métadonnées pour être utilisées correctement.

C#

  1. Créez un objet assetIdentifier et définissez les propriétés requises. Vous devez spécifier une assetIdentifier pour tous les assets, quels que soient leur type et leur utilisation. Lors de l'attribution de l'élément à une création, cet objet servira à y faire référence. Les propriétés suivantes sont obligatoires:

    • la propriété name, qui correspondra au nom de l'élément sur le serveur ; Le nom doit inclure une extension indiquant le type de fichier, par exemple .png ou .gif. Il sera visible par le navigateur en tant que nom d'élément, mais il ne doit pas nécessairement être identique au nom du fichier d'origine. Notez que ce nom peut être modifié par Campaign Manager 360 pour le rendre unique sur le serveur. Vérifiez la valeur renvoyée pour voir si elle a été modifiée.
    • La propriété type, qui identifie le type d'élément. Cette propriété détermine les types de créations auxquels cet asset peut être associé.
    // Create the creative asset ID and Metadata.
    CreativeAssetId assetId = new CreativeAssetId();
    assetId.Name = Path.GetFileName(assetFile);
    assetId.Type = assetType;
    
  2. Importez le fichier en appelant creativeAssets.insert(). Effectuez une importation en plusieurs parties en transmettant la valeur assetIdentifier et le contenu du fichier dans la même requête. Si l'opération réussit, une ressource CreativeAsset s'affiche, avec un élément assetIdentifier que vous utiliserez pour attribuer cet asset à une création.

    // 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. Créez un objet assetIdentifier et définissez les propriétés requises. Vous devez spécifier une assetIdentifier pour tous les assets, quels que soient leur type et leur utilisation. Lors de l'attribution de l'élément à une création, cet objet servira à y faire référence. Les propriétés suivantes sont obligatoires:

    • la propriété name, qui correspondra au nom de l'élément sur le serveur ; Le nom doit inclure une extension indiquant le type de fichier, par exemple .png ou .gif. Il sera visible par le navigateur en tant que nom d'élément, mais il ne doit pas nécessairement être identique au nom du fichier d'origine. Notez que ce nom peut être modifié par Campaign Manager 360 pour le rendre unique sur le serveur. Vérifiez la valeur renvoyée pour voir si elle a été modifiée.
    • La propriété type, qui identifie le type d'élément. Cette propriété détermine les types de créations auxquels cet asset peut être associé.
    // Create the creative asset ID and Metadata.
    CreativeAssetId assetId = new CreativeAssetId();
    assetId.setName(assetName);
    assetId.setType(assetType);
    
  2. Importez le fichier en appelant creativeAssets.insert(). Effectuez une importation en plusieurs parties en transmettant la valeur assetIdentifier et le contenu du fichier dans la même requête. Si l'opération réussit, une ressource CreativeAsset s'affiche, avec un élément assetIdentifier que vous utiliserez pour attribuer cet asset à une création.

    // 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. Créez un objet assetIdentifier et définissez les propriétés requises. Vous devez spécifier une assetIdentifier pour tous les assets, quels que soient leur type et leur utilisation. Lors de l'attribution de l'élément à une création, cet objet servira à y faire référence. Les propriétés suivantes sont obligatoires:

    • la propriété name, qui correspondra au nom de l'élément sur le serveur ; Le nom doit inclure une extension indiquant le type de fichier, par exemple .png ou .gif. Il sera visible par le navigateur en tant que nom d'élément, mais il ne doit pas nécessairement être identique au nom du fichier d'origine. Notez que ce nom peut être modifié par Campaign Manager 360 pour le rendre unique sur le serveur. Vérifiez la valeur renvoyée pour voir si elle a été modifiée.
    • La propriété type, qui identifie le type d'élément. Cette propriété détermine les types de créations auxquels cet asset peut être associé.
    $assetId = new Google_Service_Dfareporting_CreativeAssetId();
    $assetId->setName($asset['name']);
    $assetId->setType($type);
    
  2. Importez le fichier en appelant creativeAssets.insert(). Effectuez une importation en plusieurs parties en transmettant la valeur assetIdentifier et le contenu du fichier dans la même requête. Si l'opération réussit, une ressource CreativeAsset s'affiche, avec un élément assetIdentifier que vous utiliserez pour attribuer cet asset à une création.

    $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. Créez un objet assetIdentifier et définissez les propriétés requises. Vous devez spécifier une assetIdentifier pour tous les assets, quels que soient leur type et leur utilisation. Lors de l'attribution de l'élément à une création, cet objet servira à y faire référence. Les propriétés suivantes sont obligatoires:

    • la propriété name, qui correspondra au nom de l'élément sur le serveur ; Le nom doit inclure une extension indiquant le type de fichier, par exemple .png ou .gif. Il sera visible par le navigateur en tant que nom d'élément, mais il ne doit pas nécessairement être identique au nom du fichier d'origine. Notez que ce nom peut être modifié par Campaign Manager 360 pour le rendre unique sur le serveur. Vérifiez la valeur renvoyée pour voir si elle a été modifiée.
    • La propriété type, qui identifie le type d'élément. Cette propriété détermine les types de créations auxquels cet asset peut être associé.
    # Construct the creative asset metadata
    creative_asset = {'assetIdentifier': {'name': asset_name, 'type': asset_type}}
    
  2. Importez le fichier en appelant creativeAssets.insert(). Effectuez une importation en plusieurs parties en transmettant la valeur assetIdentifier et le contenu du fichier dans la même requête. Si l'opération réussit, une ressource CreativeAsset s'affiche, avec un élément assetIdentifier que vous utiliserez pour attribuer cet asset à une création.

    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. Créez un objet assetIdentifier et définissez les propriétés requises. Vous devez spécifier une assetIdentifier pour tous les assets, quels que soient leur type et leur utilisation. Lors de l'attribution de l'élément à une création, cet objet servira à y faire référence. Les propriétés suivantes sont obligatoires:

    • la propriété name, qui correspondra au nom de l'élément sur le serveur ; Le nom doit inclure une extension indiquant le type de fichier, par exemple .png ou .gif. Il sera visible par le navigateur en tant que nom d'élément, mais il ne doit pas nécessairement être identique au nom du fichier d'origine. Notez que ce nom peut être modifié par Campaign Manager 360 pour le rendre unique sur le serveur. Vérifiez la valeur renvoyée pour voir si elle a été modifiée.
    • La propriété type, qui identifie le type d'élément. Cette propriété détermine les types de créations auxquels cet asset peut être associé.
    # 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. Importez le fichier en appelant creativeAssets.insert(). Effectuez une importation en plusieurs parties en transmettant la valeur assetIdentifier et le contenu du fichier dans la même requête. Si l'opération réussit, une ressource CreativeAsset s'affiche, avec un élément assetIdentifier que vous utiliserez pour attribuer cet asset à une création.

    # 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
    )
    

Ajouter une création

Un objet Creative encapsule un élément existant. Selon la manière dont vous utiliserez les créations sur la page hôte, vous pouvez créer des objets Creative de différents types de créations. Pour déterminer le type qui vous convient, consultez la documentation de référence.

L'exemple suivant montre comment concevoir une création display HTML5.

C#

  1. Importez les assets. Les types et quantités d'assets varient en fonction des créations. Consultez l'article Importer des assets pour en savoir plus. Chaque fois que vous importez correctement un asset, une assetIdenfitier s'affiche dans la réponse. Vous devez utiliser le nom et le type du fichier stocké pour référencer ces éléments dans votre création, plutôt qu'un ID traditionnel.
  2. Concevez une création et attribuez-lui les valeurs appropriées. Instanciez un Creative et définissez le type approprié. Vous ne pouvez pas modifier le type d'un objet Creative après l'avoir enregistré. Spécifiez les éléments à l'aide de leur AssetIdentifier et de leurs role.
    // 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. Enregistrez la création. Pour ce faire, appelez creatives.insert(). Il est obligatoire de spécifier un numéro d'annonceur auquel associer cette création.
    Creative result = service.Creatives.Insert(creative, profileId).Execute();
    
  4. (Facultatif) Associez la création à une campagne. Pour ce faire, appelez campaignCreativeAssociations.insert(), et transmettez les ID de campagne et de création.
    // 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. Importez les assets. Les types et quantités d'assets varient en fonction des créations. Consultez l'article Importer des assets pour en savoir plus. Chaque fois que vous importez correctement un asset, une assetIdenfitier s'affiche dans la réponse. Vous devez utiliser le nom et le type du fichier stocké pour référencer ces éléments dans votre création, plutôt qu'un ID traditionnel.
  2. Concevez une création et attribuez-lui les valeurs appropriées. Instanciez un Creative et définissez le type approprié. Vous ne pouvez pas modifier le type d'un objet Creative après l'avoir enregistré. Spécifiez les éléments à l'aide de leur AssetIdentifier et de leurs role.
    // 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. Enregistrez la création. Pour ce faire, appelez creatives.insert(). Il est obligatoire de spécifier un numéro d'annonceur auquel associer cette création.
    Creative result = reporting.creatives().insert(profileId, creative).execute();
    
  4. (Facultatif) Associez la création à une campagne. Pour ce faire, appelez campaignCreativeAssociations.insert(), et transmettez les ID de campagne et de création.
    // 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. Importez les assets. Les types et quantités d'assets varient en fonction des créations. Consultez l'article Importer des assets pour en savoir plus. Chaque fois que vous importez correctement un asset, une assetIdenfitier s'affiche dans la réponse. Vous devez utiliser le nom et le type du fichier stocké pour référencer ces éléments dans votre création, plutôt qu'un ID traditionnel.
  2. Concevez une création et attribuez-lui les valeurs appropriées. Instanciez un Creative et définissez le type approprié. Vous ne pouvez pas modifier le type d'un objet Creative après l'avoir enregistré. Spécifiez les éléments à l'aide de leur AssetIdentifier et de leurs role.
    $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. Enregistrez la création. Pour ce faire, appelez creatives.insert(). Il est obligatoire de spécifier un numéro d'annonceur auquel associer cette création.
    $result = $this->service->creatives->insert(
        $values['user_profile_id'],
        $creative
    );
    
  4. (Facultatif) Associez la création à une campagne. Pour ce faire, appelez campaignCreativeAssociations.insert(), et transmettez les ID de campagne et de création.
    $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. Importez les assets. Les types et quantités d'assets varient en fonction des créations. Consultez l'article Importer des assets pour en savoir plus. Chaque fois que vous importez correctement un asset, une assetIdenfitier s'affiche dans la réponse. Vous devez utiliser le nom et le type du fichier stocké pour référencer ces éléments dans votre création, plutôt qu'un ID traditionnel.
  2. Concevez une création et attribuez-lui les valeurs appropriées. Instanciez un Creative et définissez le type approprié. Vous ne pouvez pas modifier le type d'un objet Creative après l'avoir enregistré. Spécifiez les éléments à l'aide de leur AssetIdentifier et de leurs role.
    # 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. Enregistrez la création. Pour ce faire, appelez creatives.insert(). Il est obligatoire de spécifier un numéro d'annonceur auquel associer cette création.
    request = service.creatives().insert(profileId=profile_id, body=creative)
    
    # Execute request and print response.
    response = request.execute()
    
  4. (Facultatif) Associez la création à une campagne. Pour ce faire, appelez campaignCreativeAssociations.insert(), et transmettez les ID de campagne et de création.
    # 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. Importez les assets. Les types et quantités d'assets varient en fonction des créations. Consultez l'article Importer des assets pour en savoir plus. Chaque fois que vous importez correctement un asset, une assetIdenfitier s'affiche dans la réponse. Vous devez utiliser le nom et le type du fichier stocké pour référencer ces éléments dans votre création, plutôt qu'un ID traditionnel.
  2. Concevez une création et attribuez-lui les valeurs appropriées. Instanciez un Creative et définissez le type approprié. Vous ne pouvez pas modifier le type d'un objet Creative après l'avoir enregistré. Spécifiez les éléments à l'aide de leur AssetIdentifier et de leurs role.
    # 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. Enregistrez la création. Pour ce faire, appelez creatives.insert(). Il est obligatoire de spécifier un numéro d'annonceur auquel associer cette création.
    # Insert the creative.
    result = service.insert_creative(profile_id, creative)
    
  4. (Facultatif) Associez la création à une campagne. Pour ce faire, appelez campaignCreativeAssociations.insert(), et transmettez les ID de campagne et de création.
    # 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)
    

Création d'une annonce

Un Ad est le lien entre un Creative et un Placement. Un élément Ad peut être associé à un ou plusieurs emplacements et contient une ou plusieurs créations.

Vous pouvez créer un Ad explicitement ou implicitement.

explicitement.

C#

  1. Créez un objet CreativeAssignment pour chaque création à laquelle cette annonce doit être associée. Veillez à définir le champ CreativeAssignment.active sur "true".
    // 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. Créez un objet CreativeRotation pour stocker les CreativeAssignment. Si vous créez un groupe de rotation, veillez à définir les autres champs de rotation des créations obligatoires.
    // Create a creative rotation.
    CreativeRotation creativeRotation = new CreativeRotation();
    creativeRotation.CreativeAssignments = new List<CreativeAssignment>() {
        creativeAssignment
    };
    
  3. Créez un objet PlacementAssignment pour chaque emplacement auquel cette annonce doit être associée. Veillez à définir le champ PlacementAssignment.active sur "true".
    // Create a placement assignment.
    PlacementAssignment placementAssignment = new PlacementAssignment();
    placementAssignment.Active = true;
    placementAssignment.PlacementId = placementId;
    
  4. Créez un objet Ad. Définissez la valeur "creativeRotation" dans le champ creativeRotation de l'objet Ad et la valeur "placementAssignments" dans le tableau placementAssignments de l'objet Ad.
    // 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. Enregistrez l'annonce en appelant ads.insert().
    // Insert the rotation group.
    Ad result = service.Ads.Insert(rotationGroup, profileId).Execute();
    

Java

  1. Créez un objet CreativeAssignment pour chaque création à laquelle cette annonce doit être associée. Veillez à définir le champ CreativeAssignment.active sur "true".
    // 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. Créez un objet CreativeRotation pour stocker les CreativeAssignment. Si vous créez un groupe de rotation, veillez à définir les autres champs de rotation des créations obligatoires.
    // Create a creative rotation.
    CreativeRotation creativeRotation = new CreativeRotation();
    creativeRotation.setCreativeAssignments(ImmutableList.of(creativeAssignment));
    
  3. Créez un objet PlacementAssignment pour chaque emplacement auquel cette annonce doit être associée. Veillez à définir le champ PlacementAssignment.active sur "true".
    // Create a placement assignment.
    PlacementAssignment placementAssignment = new PlacementAssignment();
    placementAssignment.setActive(true);
    placementAssignment.setPlacementId(placementId);
    
  4. Créez un objet Ad. Définissez la valeur "creativeRotation" dans le champ creativeRotation de l'objet Ad et la valeur "placementAssignments" dans le tableau placementAssignments de l'objet Ad.
    // 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. Enregistrez l'annonce en appelant ads.insert().
    // Insert the rotation group.
    Ad result = reporting.ads().insert(profileId, rotationGroup).execute();
    

PHP

  1. Créez un objet CreativeAssignment pour chaque création à laquelle cette annonce doit être associée. Veillez à définir le champ CreativeAssignment.active sur "true".
    // 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. Créez un objet CreativeRotation pour stocker les CreativeAssignment. Si vous créez un groupe de rotation, veillez à définir les autres champs de rotation des créations obligatoires.
    // Create a creative rotation.
    $creativeRotation = new Google_Service_Dfareporting_CreativeRotation();
    $creativeRotation->setCreativeAssignments([$creativeAssignment]);
    
  3. Créez un objet PlacementAssignment pour chaque emplacement auquel cette annonce doit être associée. Veillez à définir le champ PlacementAssignment.active sur "true".
    // Create a placement assignment.
    $placementAssignment =
        new Google_Service_Dfareporting_PlacementAssignment();
    $placementAssignment->setActive(true);
    $placementAssignment->setPlacementId($values['placement_id']);
    
  4. Créez un objet Ad. Définissez la valeur "creativeRotation" dans le champ creativeRotation de l'objet Ad et la valeur "placementAssignments" dans le tableau placementAssignments de l'objet Ad.
    // 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. Enregistrez l'annonce en appelant ads.insert().
    $result = $this->service->ads->insert($values['user_profile_id'], $ad);
    

Python

  1. Créez un objet CreativeAssignment pour chaque création à laquelle cette annonce doit être associée. Veillez à définir le champ CreativeAssignment.active sur "true".
    # Construct creative assignment.
    creative_assignment = {
        'active': 'true',
        'creativeId': creative_id,
        'clickThroughUrl': {
            'defaultLandingPage': 'true'
        }
    }
    
  2. Créez un objet CreativeRotation pour stocker les CreativeAssignment. Si vous créez un groupe de rotation, veillez à définir les autres champs de rotation des créations obligatoires.
    # Construct creative rotation.
    creative_rotation = {
        'creativeAssignments': [creative_assignment],
        'type': 'CREATIVE_ROTATION_TYPE_RANDOM',
        'weightCalculationStrategy': 'WEIGHT_STRATEGY_OPTIMIZED'
    }
    
  3. Créez un objet PlacementAssignment pour chaque emplacement auquel cette annonce doit être associée. Veillez à définir le champ PlacementAssignment.active sur "true".
    # Construct placement assignment.
    placement_assignment = {
        'active': 'true',
        'placementId': placement_id,
    }
    
  4. Créez un objet Ad. Définissez la valeur "creativeRotation" dans le champ creativeRotation de l'objet Ad et la valeur "placementAssignments" dans le tableau placementAssignments de l'objet Ad.
    # 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. Enregistrez l'annonce en appelant ads.insert().
    request = service.ads().insert(profileId=profile_id, body=ad)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. Créez un objet CreativeAssignment pour chaque création à laquelle cette annonce doit être associée. Veillez à définir le champ CreativeAssignment.active sur "true".
    # 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. Créez un objet CreativeRotation pour stocker les CreativeAssignment. Si vous créez un groupe de rotation, veillez à définir les autres champs de rotation des créations obligatoires.
    # 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. Créez un objet PlacementAssignment pour chaque emplacement auquel cette annonce doit être associée. Veillez à définir le champ PlacementAssignment.active sur "true".
    # Construct placement assignment.
    placement_assignment =
      DfareportingUtils::API_NAMESPACE::PlacementAssignment.new(
        active: true,
        placement_id: placement_id
      )
    
  4. Créez un objet Ad. Définissez la valeur "creativeRotation" dans le champ creativeRotation de l'objet Ad et la valeur "placementAssignments" dans le tableau placementAssignments de l'objet Ad.
    # 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. Enregistrez l'annonce en appelant ads.insert().
    result = service.insert_ad(profile_id, ad)
    

Implicitement

C#

  1. Créez et enregistrez un Placement.
  2. Créez et enregistrez un Creative.
  3. Associez Creative au même Campaign que celui utilisé pour Placement en appelant campaignCreativeAssociations.insert() (voir l'étape 4 de la section Concevoir une création). Une annonce par défaut associée à la création et à l'emplacement est alors créée.
    // 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. Créez et enregistrez un Placement.
  2. Créez et enregistrez un Creative.
  3. Associez Creative au même Campaign que celui utilisé pour Placement en appelant campaignCreativeAssociations.insert() (voir l'étape 4 de la section Concevoir une création). Une annonce par défaut associée à la création et à l'emplacement est alors créée.
    // 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. Créez et enregistrez un Placement.
  2. Créez et enregistrez un Creative.
  3. Associez Creative au même Campaign que celui utilisé pour Placement en appelant campaignCreativeAssociations.insert() (voir l'étape 4 de la section Concevoir une création). Une annonce par défaut associée à la création et à l'emplacement est alors créée.
    $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. Créez et enregistrez un Placement.
  2. Créez et enregistrez un Creative.
  3. Associez Creative au même Campaign que celui utilisé pour Placement en appelant campaignCreativeAssociations.insert() (voir l'étape 4 de la section Concevoir une création). Une annonce par défaut associée à la création et à l'emplacement est alors créée.
    # 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. Créez et enregistrez un Placement.
  2. Créez et enregistrez un Creative.
  3. Associez Creative au même Campaign que celui utilisé pour Placement en appelant campaignCreativeAssociations.insert() (voir l'étape 4 de la section Concevoir une création). Une annonce par défaut associée à la création et à l'emplacement est alors créée.
    # 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)
    

La création d'une annonce évite implicitement l'étape supplémentaire de création d'une Ad. Notez que vous ne pouvez le faire que si aucune annonce par défaut de la taille spécifiée n'existe encore dans votre campagne.

Rechercher des objets

Pour rechercher des objets, vous pouvez appeler l'opération list() exposée par le service qui définit l'objet à rechercher, en spécifiant les critères facultatifs adaptés à ce type d'objet. Ainsi, pour rechercher des objets Ad, vous devez appeler ads.list(). Les critères facultatifs présentent un ensemble de propriétés adaptées à cet objet ; remplissez autant de propriétés que vous souhaitez effectuer la recherche. La recherche ne renverra que les objets qui répondent à tous vos critères. Vous ne pouvez pas effectuer de recherche qui correspond à un critère. Les chaînes acceptent le caractère générique *, ne sont pas sensibles à la casse et peuvent correspondre à des chaînes plus grandes.

Pour améliorer les performances, vous pouvez demander des réponses partielles à l'aide du paramètre fields. Cela indique au serveur de ne renvoyer que les champs que vous avez spécifiés, plutôt que la représentation complète de la ressource. Pour en savoir plus à ce sujet, consultez les conseils sur l'amélioration des performances.

Paging

Il n'est parfois pas souhaitable de récupérer tous les résultats d'une requête list(). Par exemple, vous ne serez peut-être intéressé que par les 10 annonces les plus récentes parmi plusieurs milliers d'annonces. Pour vous aider, de nombreuses méthodes list() vous permettent de demander moins de résultats via un processus appelé pagination.

Les méthodes compatibles avec la pagination renvoient des sous-ensembles de résultats dans des groupes appelés pages. Le nombre maximal de résultats par page est de 1 000 (valeur par défaut). Vous pouvez modifier le nombre de résultats par page en définissant la maxResults, et itérer d'une page à l'autre en utilisant l'nextPageToken renvoyé dans la réponse:

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

Générer des balises Floodlight

Les balises Floodlight sont des balises HTML intégrées dans une page. Elles permettent d'effectuer le suivi des actions des internautes (par exemple, les achats) sur un site. Pour générer des balises Floodlight, vous avez besoin d'un FloodlightActivity appartenant à FloodlightActivityGroup:

C#

  1. Créez un groupe d'activités Floodlight en transmettant les valeurs pour name, type et floodlightConfigurationId.
    // Create the floodlight activity group.
    FloodlightActivityGroup floodlightActivityGroup = new FloodlightActivityGroup();
    floodlightActivityGroup.Name = groupName;
    floodlightActivityGroup.FloodlightConfigurationId = floodlightConfigurationId;
    floodlightActivityGroup.Type = "COUNTER";
    
  2. Enregistrez le groupe d'activités Floodlight en appelant floodlightActivityGroups.insert(), qui renverra l'ID du nouveau groupe.
    // Insert the activity group.
    FloodlightActivityGroup result =
        service.FloodlightActivityGroups.Insert(floodlightActivityGroup, profileId).Execute();
    
  3. Créez une activité Floodlight et attribuez-lui l'ID du groupe d'activités Floodlight que vous venez de créer, ainsi que tous les autres champs obligatoires.
    // 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. Enregistrez la nouvelle activité en appelant floodlightActivities.insert(), qui renverra l'ID de la nouvelle activité.
    // Create the floodlight tag activity.
    FloodlightActivity result =
        service.FloodlightActivities.Insert(activity, profileId).Execute();
    
  5. Générez les tags en appelant floodlightActivities.generatetag() avec l'floodlightActivityId de votre nouvelle activité. Envoyez les tags au webmaster du site Web de l'annonceur.
    // Generate the floodlight activity tag.
    FloodlightActivitiesResource.GeneratetagRequest request =
        service.FloodlightActivities.Generatetag(profileId);
    request.FloodlightActivityId = activityId;
    
    FloodlightActivitiesGenerateTagResponse response = request.Execute();
    

Java

  1. Créez un groupe d'activités Floodlight en transmettant les valeurs pour name, type et floodlightConfigurationId.
    // Create the floodlight activity group.
    FloodlightActivityGroup floodlightActivityGroup = new FloodlightActivityGroup();
    floodlightActivityGroup.setName(groupName);
    floodlightActivityGroup.setFloodlightConfigurationId(floodlightConfigurationId);
    floodlightActivityGroup.setType("COUNTER");
    
  2. Enregistrez le groupe d'activités Floodlight en appelant floodlightActivityGroups.insert(), qui renverra l'ID du nouveau groupe.
    // Insert the activity group.
    FloodlightActivityGroup result =
        reporting.floodlightActivityGroups().insert(profileId, floodlightActivityGroup).execute();
    
  3. Créez une activité Floodlight et attribuez-lui l'ID du groupe d'activités Floodlight que vous venez de créer, ainsi que tous les autres champs obligatoires.
    // 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. Enregistrez la nouvelle activité en appelant floodlightActivities.insert(), qui renverra l'ID de la nouvelle activité.
    // Create the floodlight tag activity.
    FloodlightActivity result =
        reporting.floodlightActivities().insert(profileId, activity).execute();
    
  5. Générez les tags en appelant floodlightActivities.generatetag() avec l'floodlightActivityId de votre nouvelle activité. Envoyez les tags au webmaster du site Web de l'annonceur.
    // Generate the floodlight activity tag.
    Generatetag request = reporting.floodlightActivities().generatetag(profileId);
    request.setFloodlightActivityId(activityId);
    
    FloodlightActivitiesGenerateTagResponse response = request.execute();
    

PHP

  1. Créez un groupe d'activités Floodlight en transmettant les valeurs pour name, type et floodlightConfigurationId.
    $group = new Google_Service_Dfareporting_FloodlightActivityGroup();
    $group->setFloodlightConfigurationId($values['configuration_id']);
    $group->setName($values['group_name']);
    $group->setType('COUNTER');
    
  2. Enregistrez le groupe d'activités Floodlight en appelant floodlightActivityGroups.insert(), qui renverra l'ID du nouveau groupe.
    $result = $this->service->floodlightActivityGroups->insert(
        $values['user_profile_id'],
        $group
    );
    
  3. Créez une activité Floodlight et attribuez-lui l'ID du groupe d'activités Floodlight que vous venez de créer, ainsi que tous les autres champs obligatoires.
    $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. Enregistrez la nouvelle activité en appelant floodlightActivities.insert(), qui renverra l'ID de la nouvelle activité.
    $result = $this->service->floodlightActivities->insert(
        $values['user_profile_id'],
        $activity
    );
    
  5. Générez les tags en appelant floodlightActivities.generatetag() avec l'floodlightActivityId de votre nouvelle activité. Envoyez les tags au webmaster du site Web de l'annonceur.
    $result = $this->service->floodlightActivities->generatetag(
        $values['user_profile_id'],
        ['floodlightActivityId' => $values['activity_id']]
    );
    

Python

  1. Créez un groupe d'activités Floodlight en transmettant les valeurs pour name, type et floodlightConfigurationId.
    # Construct and save floodlight activity group.
    activity_group = {
        'name': 'Test Floodlight Activity Group',
        'floodlightConfigurationId': floodlight_config_id,
        'type': 'COUNTER'
    }
    
  2. Enregistrez le groupe d'activités Floodlight en appelant floodlightActivityGroups.insert(), qui renverra l'ID du nouveau groupe.
    request = service.floodlightActivityGroups().insert(
        profileId=profile_id, body=activity_group)
    
  3. Créez une activité Floodlight et attribuez-lui l'ID du groupe d'activités Floodlight que vous venez de créer, ainsi que tous les autres champs obligatoires.
    # 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. Enregistrez la nouvelle activité en appelant floodlightActivities.insert(), qui renverra l'ID de la nouvelle activité.
    request = service.floodlightActivities().insert(
        profileId=profile_id, body=floodlight_activity)
    
  5. Générez les tags en appelant floodlightActivities.generatetag() avec l'floodlightActivityId de votre nouvelle activité. Envoyez les tags au webmaster du site Web de l'annonceur.
    # Construct the request.
    request = service.floodlightActivities().generatetag(
        profileId=profile_id, floodlightActivityId=activity_id)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. Créez un groupe d'activités Floodlight en transmettant les valeurs pour name, type et 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. Enregistrez le groupe d'activités Floodlight en appelant floodlightActivityGroups.insert(), qui renverra l'ID du nouveau groupe.
    # Insert the floodlight activity group.
    result = service.insert_floodlight_activity_group(profile_id, activity_group)
    
  3. Créez une activité Floodlight et attribuez-lui l'ID du groupe d'activités Floodlight que vous venez de créer, ainsi que tous les autres champs obligatoires.
    # 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. Enregistrez la nouvelle activité en appelant floodlightActivities.insert(), qui renverra l'ID de la nouvelle activité.
    # Insert the floodlight activity.
    result = service.insert_floodlight_activity(profile_id, activity)
    
  5. Générez les tags en appelant floodlightActivities.generatetag() avec l'floodlightActivityId de votre nouvelle activité. Envoyez les tags au webmaster du site Web de l'annonceur.
    # Construct the request.
    result = service.generatetag_floodlight_activity(profile_id,
      floodlight_activity_id: activity_id)
    

Générer des tags d'emplacement

La dernière étape consiste à générer des tags HTML à envoyer à l'éditeur pour qu'il diffuse vos annonces. Pour générer les tags via l'API, envoyez une requête à placements.generatetags(), en spécifiant un ensemble de placementIds et tagFormats.

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])