Attività di trafficking comuni

Questa pagina descrive come eseguire alcune delle attività di gestione del traffico più comuni utilizzando l'API DCM/DFA Reporting e Trafficking.

Suggerimenti generali di programmazione

  • Proprietà e parametri obbligatori e facoltativi: consulta la documentazione di riferimento per sapere se per una chiamata API sono necessari una proprietà o un parametro.
  • Ricerche di nomi con caratteri jolly: puoi utilizzare il carattere jolly asterisco (*) durante la ricerca di oggetti in base a nomi. Un asterisco corrisponde a zero o più caratteri di qualsiasi tipo. L'API supporta anche una ricerca implicita di sottostringhe, quindi una ricerca di "abc" cercherà implicitamente "*abc*".
  • Aggiornamento e applicazione di patch: per modificare un oggetto esistente, hai due opzioni:
    1. Aggiornamento: quando aggiorni un oggetto, tutti i campi vengono sovrascritti al momento dell'inserimento. È importante caricare l'oggetto da aggiornare e apportarvi eventuali modifiche. In caso contrario, i campi che non sono presenti nella richiesta di aggiornamento verranno annullati.
    2. Patching: durante l'applicazione di patch, solo i campi specificati verranno sovrascritti al momento dell'inserimento. In questo caso, puoi creare un nuovo oggetto, assegnargli lo stesso ID dell'oggetto da aggiornare, impostare i campi da aggiornare ed eseguire la richiesta di patch.
  • Dimensioni: le dimensioni fisiche sono rappresentate da un oggetto Size definito dal servizio delle dimensioni. L'account fornisce un insieme di dimensioni standard a cui puoi aggiungere le tue dimensioni personalizzate.
  • Date e ore: puoi salvare date e ore nel formato RFC 3339 utilizzando i fusi orari locali. Tutti i valori restituiti dall'API sono in UTC. È diverso dal sito web in cui le date e gli orari sono indicati nel fuso orario configurato (ora di America/New York, per impostazione predefinita).

Creazione di un inserzionista

C#

  1. Crea un oggetto Advertiser e imposta le proprietà obbligatorie name e status.
    // Create the advertiser structure.
    Advertiser advertiser = new Advertiser();
    advertiser.Name = advertiserName;
    advertiser.Status = "APPROVED";
    
  2. Chiama advertisers.insert() per salvare l'inserzionista.
    // Create the advertiser.
    Advertiser result = service.Advertisers.Insert(advertiser, profileId).Execute();
    

Java

  1. Crea un oggetto Advertiser e imposta le proprietà obbligatorie name e status.
    // Create the advertiser structure.
    Advertiser advertiser = new Advertiser();
    advertiser.setName(advertiserName);
    advertiser.setStatus("APPROVED");
    
  2. Chiama advertisers.insert() per salvare l'inserzionista.
    // Create the advertiser.
    Advertiser result = reporting.advertisers().insert(profileId, advertiser).execute();
    

PHP

  1. Crea un oggetto Advertiser e imposta le proprietà obbligatorie name e status.
    $advertiser = new Google_Service_Dfareporting_Advertiser();
    $advertiser->setName($values['advertiser_name']);
    $advertiser->setStatus('APPROVED');
    
  2. Chiama advertisers.insert() per salvare l'inserzionista.
    $result = $this->service->advertisers->insert(
        $values['user_profile_id'],
        $advertiser
    );
    

Python

  1. Crea un oggetto Advertiser e imposta le proprietà obbligatorie name e status.
    # Construct and save advertiser.
    advertiser = {
        'name': 'Test Advertiser',
        'status': 'APPROVED'
    }
    
  2. Chiama advertisers.insert() per salvare l'inserzionista.
    request = service.advertisers().insert(
        profileId=profile_id, body=advertiser)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. Crea un oggetto Advertiser e imposta le proprietà obbligatorie name e 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. Chiama advertisers.insert() per salvare l'inserzionista.
    # Insert the advertiser.
    result = service.insert_advertiser(profile_id, advertiser)
    

Creare una campagna

C#

  1. Crea un oggetto Campaign e imposta le relative proprietà obbligatorie:

    • advertiserId: l'inserzionista a cui associare la campagna.
    • name: deve essere univoco in tutte le campagne dell'inserzionista.
    • defaultLandingPageId: una pagina di destinazione a cui vengono indirizzati gli utenti quando fanno clic su un annuncio della campagna, se non ne è stato assegnato uno. Puoi cercare le pagine di destinazione esistenti chiamando il numero advertiserLandingPages.list o crearne una nuova chiamando il numero advertiserLandingPages.insert.
    • Date di inizio e fine: devono essere nel futuro e possono essere precise per fino al giorno. Per ulteriori dettagli, consulta il punto elenco con date e orari in Informazioni generali sulla programmazione. Le date dei singoli annunci possono superare la data di fine per consentire a un publisher di provare a rispettare un contratto per un numero specificato di azioni, se non è stato compilato entro la data di fine specificata per la campagna.
    // 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. Chiama il numero campaigns.insert() per salvare la campagna.

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

Java

  1. Crea un oggetto Campaign e imposta le relative proprietà obbligatorie:

    • advertiserId: l'inserzionista a cui associare la campagna.
    • name: deve essere univoco in tutte le campagne dell'inserzionista.
    • defaultLandingPageId: una pagina di destinazione a cui vengono indirizzati gli utenti quando fanno clic su un annuncio della campagna, se non ne è stato assegnato uno. Puoi cercare le pagine di destinazione esistenti chiamando il numero advertiserLandingPages.list o crearne una nuova chiamando il numero advertiserLandingPages.insert.
    • Date di inizio e fine: devono essere nel futuro e possono essere precise per fino al giorno. Per ulteriori dettagli, consulta il punto elenco con date e orari in Informazioni generali sulla programmazione. Le date dei singoli annunci possono superare la data di fine per consentire a un publisher di provare a rispettare un contratto per un numero specificato di azioni, se non è stato compilato entro la data di fine specificata per la campagna.
    // 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. Chiama il numero campaigns.insert() per salvare la campagna.

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

PHP

  1. Crea un oggetto Campaign e imposta le relative proprietà obbligatorie:

    • advertiserId: l'inserzionista a cui associare la campagna.
    • name: deve essere univoco in tutte le campagne dell'inserzionista.
    • defaultLandingPageId: una pagina di destinazione a cui vengono indirizzati gli utenti quando fanno clic su un annuncio della campagna, se non ne è stato assegnato uno. Puoi cercare le pagine di destinazione esistenti chiamando il numero advertiserLandingPages.list o crearne una nuova chiamando il numero advertiserLandingPages.insert.
    • Date di inizio e fine: devono essere nel futuro e possono essere precise per fino al giorno. Per ulteriori dettagli, consulta il punto elenco con date e orari in Informazioni generali sulla programmazione. Le date dei singoli annunci possono superare la data di fine per consentire a un publisher di provare a rispettare un contratto per un numero specificato di azioni, se non è stato compilato entro la data di fine specificata per la campagna.
    $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. Chiama il numero campaigns.insert() per salvare la campagna.

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

Python

  1. Crea un oggetto Campaign e imposta le relative proprietà obbligatorie:

    • advertiserId: l'inserzionista a cui associare la campagna.
    • name: deve essere univoco in tutte le campagne dell'inserzionista.
    • defaultLandingPageId: una pagina di destinazione a cui vengono indirizzati gli utenti quando fanno clic su un annuncio della campagna, se non ne è stato assegnato uno. Puoi cercare le pagine di destinazione esistenti chiamando il numero advertiserLandingPages.list o crearne una nuova chiamando il numero advertiserLandingPages.insert.
    • Date di inizio e fine: devono essere nel futuro e possono essere precise per fino al giorno. Per ulteriori dettagli, consulta il punto elenco con date e orari in Informazioni generali sulla programmazione. Le date dei singoli annunci possono superare la data di fine per consentire a un publisher di provare a rispettare un contratto per un numero specificato di azioni, se non è stato compilato entro la data di fine specificata per la campagna.
    # 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. Chiama il numero campaigns.insert() per salvare la campagna.

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

Ruby

  1. Crea un oggetto Campaign e imposta le relative proprietà obbligatorie:

    • advertiserId: l'inserzionista a cui associare la campagna.
    • name: deve essere univoco in tutte le campagne dell'inserzionista.
    • defaultLandingPageId: una pagina di destinazione a cui vengono indirizzati gli utenti quando fanno clic su un annuncio della campagna, se non ne è stato assegnato uno. Puoi cercare le pagine di destinazione esistenti chiamando il numero advertiserLandingPages.list o crearne una nuova chiamando il numero advertiserLandingPages.insert.
    • Date di inizio e fine: devono essere nel futuro e possono essere precise per fino al giorno. Per ulteriori dettagli, consulta il punto elenco con date e orari in Informazioni generali sulla programmazione. Le date dei singoli annunci possono superare la data di fine per consentire a un publisher di provare a rispettare un contratto per un numero specificato di azioni, se non è stato compilato entro la data di fine specificata per la campagna.
    # 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. Chiama il numero campaigns.insert() per salvare la campagna.

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

Creare un posizionamento

C#

  1. Crea un oggetto Placement e imposta le proprietà di posizionamento obbligatorie (tra cui campaignId e siteId). Inoltre, assicurati di impostare accuratamente il tipo e le dimensioni del posizionamento per il posizionamento negoziato con il tuo sito 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. Crea un nuovo oggetto PricingSchedule da assegnare al posizionamento.
    // 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. Salva l'oggetto Placement chiamando placements.insert(). Assicurati di conservare l'ID restituito se intendi utilizzarlo per assegnarlo a un annuncio o a una creatività.
    // Insert the placement.
    Placement result = service.Placements.Insert(placement, profileId).Execute();
    

Java

  1. Crea un oggetto Placement e imposta le proprietà di posizionamento obbligatorie (tra cui campaignId e siteId). Inoltre, assicurati di impostare accuratamente il tipo e le dimensioni del posizionamento per il posizionamento negoziato con il tuo sito 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. Crea un nuovo oggetto PricingSchedule da assegnare al posizionamento.
    // 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. Salva l'oggetto Placement chiamando placements.insert(). Assicurati di conservare l'ID restituito se intendi utilizzarlo per assegnarlo a un annuncio o a una creatività.
    // Insert the placement.
    Placement result = reporting.placements().insert(profileId, placement).execute();
    

PHP

  1. Crea un oggetto Placement e imposta le proprietà di posizionamento obbligatorie (tra cui campaignId e siteId). Inoltre, assicurati di impostare accuratamente il tipo e le dimensioni del posizionamento per il posizionamento negoziato con il tuo sito 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. Crea un nuovo oggetto PricingSchedule da assegnare al posizionamento.
    // 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. Salva l'oggetto Placement chiamando placements.insert(). Assicurati di conservare l'ID restituito se intendi utilizzarlo per assegnarlo a un annuncio o a una creatività.
    // Insert the placement.
    $result = $this->service->placements->insert(
        $values['user_profile_id'],
        $placement
    );
    

Python

  1. Crea un oggetto Placement e imposta le proprietà di posizionamento obbligatorie (tra cui campaignId e siteId). Inoltre, assicurati di impostare accuratamente il tipo e le dimensioni del posizionamento per il posizionamento negoziato con il tuo sito 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. Crea un nuovo oggetto PricingSchedule da assegnare al posizionamento.
    # Set the pricing schedule for the placement.
    placement['pricingSchedule'] = {
        'startDate': campaign['startDate'],
        'endDate': campaign['endDate'],
        'pricingType': 'PRICING_TYPE_CPM'
    }
    
  3. Salva l'oggetto Placement chiamando placements.insert(). Assicurati di conservare l'ID restituito se intendi utilizzarlo per assegnarlo a un annuncio o a una creatività.
    request = service.placements().insert(profileId=profile_id, body=placement)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. Crea un oggetto Placement e imposta le proprietà di posizionamento obbligatorie (tra cui campaignId e siteId). Inoltre, assicurati di impostare accuratamente il tipo e le dimensioni del posizionamento per il posizionamento negoziato con il tuo sito 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. Crea un nuovo oggetto PricingSchedule da assegnare al posizionamento.
    # 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. Salva l'oggetto Placement chiamando placements.insert(). Assicurati di conservare l'ID restituito se intendi utilizzarlo per assegnarlo a un annuncio o a una creatività.
    # Insert the placement strategy.
    result = service.insert_placement(profile_id, placement)
    

Carica risorse

Puoi caricare molti tipi di asset tramite una procedura nota come caricamento dei contenuti multimediali. Sebbene questo processo sia simile per tutti i tipi di creatività, per alcuni tipi di creatività potrebbe essere necessario trasferire determinate proprietà come metadati per poterle utilizzare correttamente.

C#

  1. Crea un assetIdentifieroggetto e imposta le proprietà richieste. Per tutti gli asset, indipendentemente dal tipo o da come utilizzato, è necessario specificare un assetIdentifier. Quando assegni l'asset a una creatività, questo oggetto viene utilizzato per fare riferimento all'asset. Le seguenti proprietà sono obbligatorie:

    • La proprietà name, che sarà il nome dell'asset sul server. Il nome deve includere un'estensione che indichi il tipo di file come .png o .gif e sarà esposto al browser come nome dell'asset, ma non deve essere necessariamente uguale al nome del file originale. Tieni presente che questo nome potrebbe essere modificato da Campaign Manager 360 per renderlo univoco sul server; controlla il valore restituito per verificare se è stato modificato.
    • La proprietà type, che identifica il tipo di risorsa. Questa proprietà determinerà i tipi di creatività a cui può essere associato questo asset.
    // Create the creative asset ID and Metadata.
    CreativeAssetId assetId = new CreativeAssetId();
    assetId.Name = Path.GetFileName(assetFile);
    assetId.Type = assetType;
    
  2. Carica il file chiamando il numero creativeAssets.insert(). Esegui un caricamento multiparte, trasmettendo sia il assetIdentifier sia i contenuti del file come parte della stessa richiesta. Se l'operazione va a buon fine, verrà restituita una risorsa CreativeAsset, con un assetIdentifier che userai per assegnare questo asset a una creatività.

    // 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. Crea un assetIdentifieroggetto e imposta le proprietà richieste. Per tutti gli asset, indipendentemente dal tipo o da come utilizzato, è necessario specificare un assetIdentifier. Quando assegni l'asset a una creatività, questo oggetto viene utilizzato per fare riferimento all'asset. Le seguenti proprietà sono obbligatorie:

    • La proprietà name, che sarà il nome dell'asset sul server. Il nome deve includere un'estensione che indichi il tipo di file come .png o .gif e sarà esposto al browser come nome dell'asset, ma non deve essere necessariamente uguale al nome del file originale. Tieni presente che questo nome potrebbe essere modificato da Campaign Manager 360 per renderlo univoco sul server; controlla il valore restituito per verificare se è stato modificato.
    • La proprietà type, che identifica il tipo di risorsa. Questa proprietà determinerà i tipi di creatività a cui può essere associato questo asset.
    // Create the creative asset ID and Metadata.
    CreativeAssetId assetId = new CreativeAssetId();
    assetId.setName(assetName);
    assetId.setType(assetType);
    
  2. Carica il file chiamando il numero creativeAssets.insert(). Esegui un caricamento multiparte, trasmettendo sia il assetIdentifier sia i contenuti del file come parte della stessa richiesta. Se l'operazione va a buon fine, verrà restituita una risorsa CreativeAsset, con un assetIdentifier che userai per assegnare questo asset a una creatività.

    // 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. Crea un assetIdentifieroggetto e imposta le proprietà richieste. Per tutti gli asset, indipendentemente dal tipo o da come utilizzato, è necessario specificare un assetIdentifier. Quando assegni l'asset a una creatività, questo oggetto viene utilizzato per fare riferimento all'asset. Le seguenti proprietà sono obbligatorie:

    • La proprietà name, che sarà il nome dell'asset sul server. Il nome deve includere un'estensione che indichi il tipo di file come .png o .gif e sarà esposto al browser come nome dell'asset, ma non deve essere necessariamente uguale al nome del file originale. Tieni presente che questo nome potrebbe essere modificato da Campaign Manager 360 per renderlo univoco sul server; controlla il valore restituito per verificare se è stato modificato.
    • La proprietà type, che identifica il tipo di risorsa. Questa proprietà determinerà i tipi di creatività a cui può essere associato questo asset.
    $assetId = new Google_Service_Dfareporting_CreativeAssetId();
    $assetId->setName($asset['name']);
    $assetId->setType($type);
    
  2. Carica il file chiamando il numero creativeAssets.insert(). Esegui un caricamento multiparte, trasmettendo sia il assetIdentifier sia i contenuti del file come parte della stessa richiesta. Se l'operazione va a buon fine, verrà restituita una risorsa CreativeAsset, con un assetIdentifier che userai per assegnare questo asset a una creatività.

    $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. Crea un assetIdentifieroggetto e imposta le proprietà richieste. Per tutti gli asset, indipendentemente dal tipo o da come utilizzato, è necessario specificare un assetIdentifier. Quando assegni l'asset a una creatività, questo oggetto viene utilizzato per fare riferimento all'asset. Le seguenti proprietà sono obbligatorie:

    • La proprietà name, che sarà il nome dell'asset sul server. Il nome deve includere un'estensione che indichi il tipo di file come .png o .gif e sarà esposto al browser come nome dell'asset, ma non deve essere necessariamente uguale al nome del file originale. Tieni presente che questo nome potrebbe essere modificato da Campaign Manager 360 per renderlo univoco sul server; controlla il valore restituito per verificare se è stato modificato.
    • La proprietà type, che identifica il tipo di risorsa. Questa proprietà determinerà i tipi di creatività a cui può essere associato questo asset.
    # Construct the creative asset metadata
    creative_asset = {'assetIdentifier': {'name': asset_name, 'type': asset_type}}
    
  2. Carica il file chiamando il numero creativeAssets.insert(). Esegui un caricamento multiparte, trasmettendo sia il assetIdentifier sia i contenuti del file come parte della stessa richiesta. Se l'operazione va a buon fine, verrà restituita una risorsa CreativeAsset, con un assetIdentifier che userai per assegnare questo asset a una creatività.

    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. Crea un assetIdentifieroggetto e imposta le proprietà richieste. Per tutti gli asset, indipendentemente dal tipo o da come utilizzato, è necessario specificare un assetIdentifier. Quando assegni l'asset a una creatività, questo oggetto viene utilizzato per fare riferimento all'asset. Le seguenti proprietà sono obbligatorie:

    • La proprietà name, che sarà il nome dell'asset sul server. Il nome deve includere un'estensione che indichi il tipo di file come .png o .gif e sarà esposto al browser come nome dell'asset, ma non deve essere necessariamente uguale al nome del file originale. Tieni presente che questo nome potrebbe essere modificato da Campaign Manager 360 per renderlo univoco sul server; controlla il valore restituito per verificare se è stato modificato.
    • La proprietà type, che identifica il tipo di risorsa. Questa proprietà determinerà i tipi di creatività a cui può essere associato questo asset.
    # 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. Carica il file chiamando il numero creativeAssets.insert(). Esegui un caricamento multiparte, trasmettendo sia il assetIdentifier sia i contenuti del file come parte della stessa richiesta. Se l'operazione va a buon fine, verrà restituita una risorsa CreativeAsset, con un assetIdentifier che userai per assegnare questo asset a una creatività.

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

Generazione di una creatività

Un oggetto Creative esegue il wrapping di un asset esistente. A seconda di come utilizzerai le creatività nella pagina host, puoi creare Creative oggetti di diversi tipi di creatività. Consulta la documentazione di riferimento per determinare il tipo più adatto al tuo caso.

Il seguente esempio mostra come sviluppare una nuova creatività display HTML5.

C#

  1. Carica gli asset. Creatività diverse richiedono tipi e quantità di asset differenti; consulta la sezione Caricare asset per ulteriori dettagli. Ogni volta che carichi correttamente un asset, riceverai un assetIdenfitier nella risposta; utilizzerai il nome e il tipo di file archiviati per fare riferimento a questi asset nella tua creatività, anziché un ID tradizionale.
  2. Genera una creatività e assegna i valori appropriati. Crea un'istanza Creative e imposta il valore type corretto. Non puoi modificare il tipo di un oggetto Creative dopo averlo salvato. Specifica gli asset tramite i relativi AssetIdentifier e 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. Salva la creatività. Per farlo, chiama il numero creatives.insert(). È necessario specificare un ID inserzionista a cui associare questa creatività.
    Creative result = service.Creatives.Insert(creative, profileId).Execute();
    
  4. (Facoltativo) Associa la creatività a una campagna. Per farlo, occorre chiamare campaignCreativeAssociations.insert() e trasmettere gli ID campagna e creatività.
    // 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. Carica gli asset. Creatività diverse richiedono tipi e quantità di asset differenti; consulta la sezione Caricare asset per ulteriori dettagli. Ogni volta che carichi correttamente un asset, riceverai un assetIdenfitier nella risposta; utilizzerai il nome e il tipo di file archiviati per fare riferimento a questi asset nella tua creatività, anziché un ID tradizionale.
  2. Genera una creatività e assegna i valori appropriati. Crea un'istanza Creative e imposta il valore type corretto. Non puoi modificare il tipo di un oggetto Creative dopo averlo salvato. Specifica gli asset tramite i relativi AssetIdentifier e 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. Salva la creatività. Per farlo, chiama il numero creatives.insert(). È necessario specificare un ID inserzionista a cui associare questa creatività.
    Creative result = reporting.creatives().insert(profileId, creative).execute();
    
  4. (Facoltativo) Associa la creatività a una campagna. Per farlo, occorre chiamare campaignCreativeAssociations.insert() e trasmettere gli ID campagna e creatività.
    // 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. Carica gli asset. Creatività diverse richiedono tipi e quantità di asset differenti; consulta la sezione Caricare asset per ulteriori dettagli. Ogni volta che carichi correttamente un asset, riceverai un assetIdenfitier nella risposta; utilizzerai il nome e il tipo di file archiviati per fare riferimento a questi asset nella tua creatività, anziché un ID tradizionale.
  2. Genera una creatività e assegna i valori appropriati. Crea un'istanza Creative e imposta il valore type corretto. Non puoi modificare il tipo di un oggetto Creative dopo averlo salvato. Specifica gli asset tramite i relativi AssetIdentifier e 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. Salva la creatività. Per farlo, chiama il numero creatives.insert(). È necessario specificare un ID inserzionista a cui associare questa creatività.
    $result = $this->service->creatives->insert(
        $values['user_profile_id'],
        $creative
    );
    
  4. (Facoltativo) Associa la creatività a una campagna. Per farlo, occorre chiamare campaignCreativeAssociations.insert() e trasmettere gli ID campagna e creatività.
    $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. Carica gli asset. Creatività diverse richiedono tipi e quantità di asset differenti; consulta la sezione Caricare asset per ulteriori dettagli. Ogni volta che carichi correttamente un asset, riceverai un assetIdenfitier nella risposta; utilizzerai il nome e il tipo di file archiviati per fare riferimento a questi asset nella tua creatività, anziché un ID tradizionale.
  2. Genera una creatività e assegna i valori appropriati. Crea un'istanza Creative e imposta il valore type corretto. Non puoi modificare il tipo di un oggetto Creative dopo averlo salvato. Specifica gli asset tramite i relativi AssetIdentifier e 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. Salva la creatività. Per farlo, chiama il numero creatives.insert(). È necessario specificare un ID inserzionista a cui associare questa creatività.
    request = service.creatives().insert(profileId=profile_id, body=creative)
    
    # Execute request and print response.
    response = request.execute()
    
  4. (Facoltativo) Associa la creatività a una campagna. Per farlo, occorre chiamare campaignCreativeAssociations.insert() e trasmettere gli ID campagna e creatività.
    # 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. Carica gli asset. Creatività diverse richiedono tipi e quantità di asset differenti; consulta la sezione Caricare asset per ulteriori dettagli. Ogni volta che carichi correttamente un asset, riceverai un assetIdenfitier nella risposta; utilizzerai il nome e il tipo di file archiviati per fare riferimento a questi asset nella tua creatività, anziché un ID tradizionale.
  2. Genera una creatività e assegna i valori appropriati. Crea un'istanza Creative e imposta il valore type corretto. Non puoi modificare il tipo di un oggetto Creative dopo averlo salvato. Specifica gli asset tramite i relativi AssetIdentifier e 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. Salva la creatività. Per farlo, chiama il numero creatives.insert(). È necessario specificare un ID inserzionista a cui associare questa creatività.
    # Insert the creative.
    result = service.insert_creative(profile_id, creative)
    
  4. (Facoltativo) Associa la creatività a una campagna. Per farlo, occorre chiamare campaignCreativeAssociations.insert() e trasmettere gli ID campagna e creatività.
    # 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)
    

Crea un annuncio

Un Ad è il collegamento tra un Creative e un Placement. Un Ad può essere collegato a uno o più posizionamenti e può contenere una o più creatività.

Puoi creare un Ad in modo esplicito o implicito.

Esplicitamente

C#

  1. Crea un oggetto CreativeAssignment per ogni creatività a cui deve essere associato l'annuncio. Assicurati di impostare il campo CreativeAssignment.active su 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. Crea un oggetto CreativeRotation per archiviare i CreativeAssignment. Se crei un gruppo di rotazione, assicurati di impostare gli altri campi di rotazione creatività obbligatori.
    // Create a creative rotation.
    CreativeRotation creativeRotation = new CreativeRotation();
    creativeRotation.CreativeAssignments = new List<CreativeAssignment>() {
        creativeAssignment
    };
    
  3. Crea un oggetto PlacementAssignment per ogni posizionamento a cui deve essere associato l'annuncio. Assicurati di impostare il campo PlacementAssignment.active su true.
    // Create a placement assignment.
    PlacementAssignment placementAssignment = new PlacementAssignment();
    placementAssignment.Active = true;
    placementAssignment.PlacementId = placementId;
    
  4. Crea un oggetto Ad. Imposta il valore creativeRotazione nel campo creativeRotation dell'oggetto Ad e il valore positionAssignments nell'array placementAssignments dell'oggetto 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. Salva l'annuncio chiamando il numero ads.insert().
    // Insert the rotation group.
    Ad result = service.Ads.Insert(rotationGroup, profileId).Execute();
    

Java

  1. Crea un oggetto CreativeAssignment per ogni creatività a cui deve essere associato l'annuncio. Assicurati di impostare il campo CreativeAssignment.active su 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. Crea un oggetto CreativeRotation per archiviare i CreativeAssignment. Se crei un gruppo di rotazione, assicurati di impostare gli altri campi di rotazione creatività obbligatori.
    // Create a creative rotation.
    CreativeRotation creativeRotation = new CreativeRotation();
    creativeRotation.setCreativeAssignments(ImmutableList.of(creativeAssignment));
    
  3. Crea un oggetto PlacementAssignment per ogni posizionamento a cui deve essere associato l'annuncio. Assicurati di impostare il campo PlacementAssignment.active su true.
    // Create a placement assignment.
    PlacementAssignment placementAssignment = new PlacementAssignment();
    placementAssignment.setActive(true);
    placementAssignment.setPlacementId(placementId);
    
  4. Crea un oggetto Ad. Imposta il valore creativeRotazione nel campo creativeRotation dell'oggetto Ad e il valore positionAssignments nell'array placementAssignments dell'oggetto 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. Salva l'annuncio chiamando il numero ads.insert().
    // Insert the rotation group.
    Ad result = reporting.ads().insert(profileId, rotationGroup).execute();
    

PHP

  1. Crea un oggetto CreativeAssignment per ogni creatività a cui deve essere associato l'annuncio. Assicurati di impostare il campo CreativeAssignment.active su 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. Crea un oggetto CreativeRotation per archiviare i CreativeAssignment. Se crei un gruppo di rotazione, assicurati di impostare gli altri campi di rotazione creatività obbligatori.
    // Create a creative rotation.
    $creativeRotation = new Google_Service_Dfareporting_CreativeRotation();
    $creativeRotation->setCreativeAssignments([$creativeAssignment]);
    
  3. Crea un oggetto PlacementAssignment per ogni posizionamento a cui deve essere associato l'annuncio. Assicurati di impostare il campo PlacementAssignment.active su true.
    // Create a placement assignment.
    $placementAssignment =
        new Google_Service_Dfareporting_PlacementAssignment();
    $placementAssignment->setActive(true);
    $placementAssignment->setPlacementId($values['placement_id']);
    
  4. Crea un oggetto Ad. Imposta il valore creativeRotazione nel campo creativeRotation dell'oggetto Ad e il valore positionAssignments nell'array placementAssignments dell'oggetto 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. Salva l'annuncio chiamando il numero ads.insert().
    $result = $this->service->ads->insert($values['user_profile_id'], $ad);
    

Python

  1. Crea un oggetto CreativeAssignment per ogni creatività a cui deve essere associato l'annuncio. Assicurati di impostare il campo CreativeAssignment.active su true.
    # Construct creative assignment.
    creative_assignment = {
        'active': 'true',
        'creativeId': creative_id,
        'clickThroughUrl': {
            'defaultLandingPage': 'true'
        }
    }
    
  2. Crea un oggetto CreativeRotation per archiviare i CreativeAssignment. Se crei un gruppo di rotazione, assicurati di impostare gli altri campi di rotazione creatività obbligatori.
    # Construct creative rotation.
    creative_rotation = {
        'creativeAssignments': [creative_assignment],
        'type': 'CREATIVE_ROTATION_TYPE_RANDOM',
        'weightCalculationStrategy': 'WEIGHT_STRATEGY_OPTIMIZED'
    }
    
  3. Crea un oggetto PlacementAssignment per ogni posizionamento a cui deve essere associato l'annuncio. Assicurati di impostare il campo PlacementAssignment.active su true.
    # Construct placement assignment.
    placement_assignment = {
        'active': 'true',
        'placementId': placement_id,
    }
    
  4. Crea un oggetto Ad. Imposta il valore creativeRotazione nel campo creativeRotation dell'oggetto Ad e il valore positionAssignments nell'array placementAssignments dell'oggetto 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. Salva l'annuncio chiamando il numero ads.insert().
    request = service.ads().insert(profileId=profile_id, body=ad)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. Crea un oggetto CreativeAssignment per ogni creatività a cui deve essere associato l'annuncio. Assicurati di impostare il campo CreativeAssignment.active su 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. Crea un oggetto CreativeRotation per archiviare i CreativeAssignment. Se crei un gruppo di rotazione, assicurati di impostare gli altri campi di rotazione creatività obbligatori.
    # 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. Crea un oggetto PlacementAssignment per ogni posizionamento a cui deve essere associato l'annuncio. Assicurati di impostare il campo PlacementAssignment.active su true.
    # Construct placement assignment.
    placement_assignment =
      DfareportingUtils::API_NAMESPACE::PlacementAssignment.new(
        active: true,
        placement_id: placement_id
      )
    
  4. Crea un oggetto Ad. Imposta il valore creativeRotazione nel campo creativeRotation dell'oggetto Ad e il valore positionAssignments nell'array placementAssignments dell'oggetto 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. Salva l'annuncio chiamando il numero ads.insert().
    result = service.insert_ad(profile_id, ad)
    

Implicito

C#

  1. Crea e salva un Placement.
  2. Crea e salva un Creative.
  3. Associa Creative allo stesso Campaign utilizzato per Placement richiamando campaignCreativeAssociations.insert() (vedi il passaggio 4 nella sezione Creazione di una creatività). In questo modo viene creato un annuncio predefinito associato sia alla creatività sia al posizionamento.
    // 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. Crea e salva un Placement.
  2. Crea e salva un Creative.
  3. Associa Creative allo stesso Campaign utilizzato per Placement richiamando campaignCreativeAssociations.insert() (vedi il passaggio 4 nella sezione Creazione di una creatività). In questo modo viene creato un annuncio predefinito associato sia alla creatività sia al posizionamento.
    // 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. Crea e salva un Placement.
  2. Crea e salva un Creative.
  3. Associa Creative allo stesso Campaign utilizzato per Placement richiamando campaignCreativeAssociations.insert() (vedi il passaggio 4 nella sezione Creazione di una creatività). In questo modo viene creato un annuncio predefinito associato sia alla creatività sia al posizionamento.
    $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. Crea e salva un Placement.
  2. Crea e salva un Creative.
  3. Associa Creative allo stesso Campaign utilizzato per Placement richiamando campaignCreativeAssociations.insert() (vedi il passaggio 4 nella sezione Creazione di una creatività). In questo modo viene creato un annuncio predefinito associato sia alla creatività sia al posizionamento.
    # 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. Crea e salva un Placement.
  2. Crea e salva un Creative.
  3. Associa Creative allo stesso Campaign utilizzato per Placement richiamando campaignCreativeAssociations.insert() (vedi il passaggio 4 nella sezione Creazione di una creatività). In questo modo viene creato un annuncio predefinito associato sia alla creatività sia al posizionamento.
    # 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 creazione di un annuncio salva implicitamente il passaggio aggiuntivo della creazione di un Ad. Tieni presente che questa operazione può essere eseguita solo se nella campagna non esiste già un annuncio predefinito delle dimensioni specificate.

Cerca oggetti

Puoi cercare gli oggetti chiamando l'operazione list() esposta dal servizio che definisce l'oggetto da trovare, specificando criteri facoltativi appropriati per quel tipo di oggetto. Quindi, ad esempio, per cercare oggetti degli annunci, devi chiamare ads.list(). I criteri facoltativi mostrano un insieme di proprietà adatte all'oggetto; puoi compilare tutte le proprietà che vuoi cercare. La ricerca restituirà solo gli oggetti che soddisfano tutti i criteri; non puoi effettuare una ricerca corrispondente a nessun criterio. Le stringhe supportano il carattere jolly *, non sono sensibili alle maiuscole e corrispondono all'interno di stringhe più grandi.

Per migliorare le prestazioni, è possibile richiedere risposte parziali utilizzando il parametro fields. Indica al server di restituire solo i campi specificati, anziché la rappresentazione completa della risorsa. Per ulteriori informazioni su questo argomento, consulta la guida Suggerimenti per il rendimento.

Paging

A volte non è consigliabile recuperare tutti i risultati di una richiesta list(). Ad esempio, potresti essere interessato solo ai 10 annunci più recenti di un gruppo di migliaia. Per aiutarti, molti metodi list() ti consentono di richiedere meno risultati tramite un processo noto come paging.

I metodi che supportano il paging restituiscono sottoinsiemi di risultati in gruppi chiamati pagine. Il numero massimo di risultati per pagina è 1000 (valore predefinito). Puoi modificare il numero di risultati per pagina impostando maxResults e puoi eseguire l'iterazione delle pagine utilizzando il nextPageToken restituito nella risposta:

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

Genera tag Floodlight

I tag Floodlight sono tag HTML incorporati in una pagina, utilizzati per monitorare le azioni degli utenti (ad esempio gli acquisti) all'interno di un sito. Per generare tag Floodlight, è necessario un FloodlightActivity che appartenga a un FloodlightActivityGroup:

C#

  1. Crea un nuovo gruppo attività Floodlight, inserendo i valori per name, type e floodlightConfigurationId.
    // Create the floodlight activity group.
    FloodlightActivityGroup floodlightActivityGroup = new FloodlightActivityGroup();
    floodlightActivityGroup.Name = groupName;
    floodlightActivityGroup.FloodlightConfigurationId = floodlightConfigurationId;
    floodlightActivityGroup.Type = "COUNTER";
    
  2. Salva il gruppo attività Floodlight chiamando floodlightActivityGroups.insert(), che restituirà l'ID del nuovo gruppo.
    // Insert the activity group.
    FloodlightActivityGroup result =
        service.FloodlightActivityGroups.Insert(floodlightActivityGroup, profileId).Execute();
    
  3. Crea una nuova attività Floodlight e assegnale l'ID del gruppo attività Floodlight appena creato, nonché tutti gli altri campi obbligatori.
    // 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. Salva la nuova attività chiamando floodlightActivities.insert(), che restituirà l'ID della nuova attività.
    // Create the floodlight tag activity.
    FloodlightActivity result =
        service.FloodlightActivities.Insert(activity, profileId).Execute();
    
  5. Genera i tag chiamando floodlightActivities.generatetag() con il floodlightActivityId della nuova attività. Invia i tag al webmaster sul sito web dell'inserzionista.
    // Generate the floodlight activity tag.
    FloodlightActivitiesResource.GeneratetagRequest request =
        service.FloodlightActivities.Generatetag(profileId);
    request.FloodlightActivityId = activityId;
    
    FloodlightActivitiesGenerateTagResponse response = request.Execute();
    

Java

  1. Crea un nuovo gruppo attività Floodlight, inserendo i valori per name, type e floodlightConfigurationId.
    // Create the floodlight activity group.
    FloodlightActivityGroup floodlightActivityGroup = new FloodlightActivityGroup();
    floodlightActivityGroup.setName(groupName);
    floodlightActivityGroup.setFloodlightConfigurationId(floodlightConfigurationId);
    floodlightActivityGroup.setType("COUNTER");
    
  2. Salva il gruppo attività Floodlight chiamando floodlightActivityGroups.insert(), che restituirà l'ID del nuovo gruppo.
    // Insert the activity group.
    FloodlightActivityGroup result =
        reporting.floodlightActivityGroups().insert(profileId, floodlightActivityGroup).execute();
    
  3. Crea una nuova attività Floodlight e assegnale l'ID del gruppo attività Floodlight appena creato, nonché tutti gli altri campi obbligatori.
    // 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. Salva la nuova attività chiamando floodlightActivities.insert(), che restituirà l'ID della nuova attività.
    // Create the floodlight tag activity.
    FloodlightActivity result =
        reporting.floodlightActivities().insert(profileId, activity).execute();
    
  5. Genera i tag chiamando floodlightActivities.generatetag() con il floodlightActivityId della nuova attività. Invia i tag al webmaster sul sito web dell'inserzionista.
    // Generate the floodlight activity tag.
    Generatetag request = reporting.floodlightActivities().generatetag(profileId);
    request.setFloodlightActivityId(activityId);
    
    FloodlightActivitiesGenerateTagResponse response = request.execute();
    

PHP

  1. Crea un nuovo gruppo attività Floodlight, inserendo i valori per name, type e floodlightConfigurationId.
    $group = new Google_Service_Dfareporting_FloodlightActivityGroup();
    $group->setFloodlightConfigurationId($values['configuration_id']);
    $group->setName($values['group_name']);
    $group->setType('COUNTER');
    
  2. Salva il gruppo attività Floodlight chiamando floodlightActivityGroups.insert(), che restituirà l'ID del nuovo gruppo.
    $result = $this->service->floodlightActivityGroups->insert(
        $values['user_profile_id'],
        $group
    );
    
  3. Crea una nuova attività Floodlight e assegnale l'ID del gruppo attività Floodlight appena creato, nonché tutti gli altri campi obbligatori.
    $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. Salva la nuova attività chiamando floodlightActivities.insert(), che restituirà l'ID della nuova attività.
    $result = $this->service->floodlightActivities->insert(
        $values['user_profile_id'],
        $activity
    );
    
  5. Genera i tag chiamando floodlightActivities.generatetag() con il floodlightActivityId della nuova attività. Invia i tag al webmaster sul sito web dell'inserzionista.
    $result = $this->service->floodlightActivities->generatetag(
        $values['user_profile_id'],
        ['floodlightActivityId' => $values['activity_id']]
    );
    

Python

  1. Crea un nuovo gruppo attività Floodlight, inserendo i valori per name, type e floodlightConfigurationId.
    # Construct and save floodlight activity group.
    activity_group = {
        'name': 'Test Floodlight Activity Group',
        'floodlightConfigurationId': floodlight_config_id,
        'type': 'COUNTER'
    }
    
  2. Salva il gruppo attività Floodlight chiamando floodlightActivityGroups.insert(), che restituirà l'ID del nuovo gruppo.
    request = service.floodlightActivityGroups().insert(
        profileId=profile_id, body=activity_group)
    
  3. Crea una nuova attività Floodlight e assegnale l'ID del gruppo attività Floodlight appena creato, nonché tutti gli altri campi obbligatori.
    # 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. Salva la nuova attività chiamando floodlightActivities.insert(), che restituirà l'ID della nuova attività.
    request = service.floodlightActivities().insert(
        profileId=profile_id, body=floodlight_activity)
    
  5. Genera i tag chiamando floodlightActivities.generatetag() con il floodlightActivityId della nuova attività. Invia i tag al webmaster sul sito web dell'inserzionista.
    # Construct the request.
    request = service.floodlightActivities().generatetag(
        profileId=profile_id, floodlightActivityId=activity_id)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. Crea un nuovo gruppo attività Floodlight, inserendo i valori per name, type e 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. Salva il gruppo attività Floodlight chiamando floodlightActivityGroups.insert(), che restituirà l'ID del nuovo gruppo.
    # Insert the floodlight activity group.
    result = service.insert_floodlight_activity_group(profile_id, activity_group)
    
  3. Crea una nuova attività Floodlight e assegnale l'ID del gruppo attività Floodlight appena creato, nonché tutti gli altri campi obbligatori.
    # 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. Salva la nuova attività chiamando floodlightActivities.insert(), che restituirà l'ID della nuova attività.
    # Insert the floodlight activity.
    result = service.insert_floodlight_activity(profile_id, activity)
    
  5. Genera i tag chiamando floodlightActivities.generatetag() con il floodlightActivityId della nuova attività. Invia i tag al webmaster sul sito web dell'inserzionista.
    # Construct the request.
    result = service.generatetag_floodlight_activity(profile_id,
      floodlight_activity_id: activity_id)
    

Genera tag di posizionamento

L'ultimo passaggio consiste nel generare i tag HTML da inviare al publisher per mostrare gli annunci. Per generare i tag tramite l'API, invia una richiesta a placements.generatetags(), specificando un insieme di placementIds e 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])