Tugas Proses Iklan Umum

Halaman ini menjelaskan cara melakukan sejumlah tugas proses iklan yang paling umum menggunakan API Pelaporan dan Proses Iklan DCM/DFA.

Tips umum coding

  • Properti dan parameter wajib dan opsional - Lihat dokumentasi referensi untuk mengetahui apakah properti atau parameter diperlukan untuk panggilan API.
  • Penelusuran nama karakter pengganti - Anda dapat menggunakan karakter pengganti tanda bintang (*) saat menelusuri nama objek. Tanda bintang cocok dengan nol atau beberapa karakter apa pun. API ini juga mendukung penelusuran substring tersirat, sehingga penelusuran untuk "abc" akan secara implisit menelusuri "*abc*".
  • Mengupdate vs. patching - Untuk mengubah objek yang ada, Anda memiliki dua opsi:
    1. Mengupdate - Saat mengupdate objek, semua kolom akan ditimpa saat penyisipan. Anda harus memuat objek yang ingin diupdate dan membuat perubahan pada objek tersebut. Jika tidak, kolom yang tidak ada dalam permintaan update akan dibatalkan penetapannya.
    2. Patching - Saat patching, hanya kolom yang ditentukan yang akan ditimpa saat penyisipan. Dalam hal ini, Anda dapat membuat objek baru, menetapkan ID yang sama dengan objek yang akan diperbarui, menyetel kolom yang akan diperbarui, dan menjalankan permintaan patch.
  • Ukuran - Dimensi fisik diwakili oleh objek Size yang ditentukan oleh layanan ukuran. Akun menyediakan sekumpulan ukuran standar, dan Anda dapat menambahkan ukuran kustom Anda sendiri ke daftar ini.
  • Tanggal dan waktu - Anda dapat menyimpan tanggal/waktu dalam format RFC 3339 menggunakan zona waktu lokal; semua nilai yang ditampilkan oleh API menggunakan UTC. Situs ini berbeda dengan situs yang menampilkan tanggal dan waktu dalam zona waktu yang Anda konfigurasi (waktu Amerika/New York, secara default).

Membuat pengiklan

C#

  1. Buat objek Advertiser dan tetapkan properti nama dan status yang diperlukan.
    // Create the advertiser structure.
    Advertiser advertiser = new Advertiser();
    advertiser.Name = advertiserName;
    advertiser.Status = "APPROVED";
    
  2. Panggil advertisers.insert() untuk menyimpan pengiklan.
    // Create the advertiser.
    Advertiser result = service.Advertisers.Insert(advertiser, profileId).Execute();
    

Java

  1. Buat objek Advertiser dan tetapkan properti nama dan status yang diperlukan.
    // Create the advertiser structure.
    Advertiser advertiser = new Advertiser();
    advertiser.setName(advertiserName);
    advertiser.setStatus("APPROVED");
    
  2. Panggil advertisers.insert() untuk menyimpan pengiklan.
    // Create the advertiser.
    Advertiser result = reporting.advertisers().insert(profileId, advertiser).execute();
    

PHP

  1. Buat objek Advertiser dan tetapkan properti nama dan status yang diperlukan.
    $advertiser = new Google_Service_Dfareporting_Advertiser();
    $advertiser->setName($values['advertiser_name']);
    $advertiser->setStatus('APPROVED');
    
  2. Panggil advertisers.insert() untuk menyimpan pengiklan.
    $result = $this->service->advertisers->insert(
        $values['user_profile_id'],
        $advertiser
    );
    

Python

  1. Buat objek Advertiser dan tetapkan properti nama dan status yang diperlukan.
    # Construct and save advertiser.
    advertiser = {
        'name': 'Test Advertiser',
        'status': 'APPROVED'
    }
    
  2. Panggil advertisers.insert() untuk menyimpan pengiklan.
    request = service.advertisers().insert(
        profileId=profile_id, body=advertiser)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. Buat objek Advertiser dan tetapkan properti nama dan status yang diperlukan.
    # Create a new advertiser resource to insert.
    advertiser = DfareportingUtils::API_NAMESPACE::Advertiser.new(
      name: format('Example Advertiser #%s', SecureRandom.hex(3)),
      status: 'APPROVED'
    )
    
  2. Panggil advertisers.insert() untuk menyimpan pengiklan.
    # Insert the advertiser.
    result = service.insert_advertiser(profile_id, advertiser)
    

Membuat kampanye

C#

  1. Buat objek Campaign dan tetapkan properti yang diperlukan:

    • advertiserId - Pengiklan yang akan dikaitkan dengan kampanye ini.
    • name - Nama ini harus unik di semua kampanye untuk pengiklan ini.
    • defaultLandingPageId - Halaman landing tempat pengguna akan diarahkan saat mengklik iklan dalam kampanye ini, jika iklan tidak ditetapkan untuk iklan tersebut. Anda dapat mencari halaman landing yang sudah ada dengan memanggil advertiserLandingPages.list atau membuat yang baru dengan memanggil advertiserLandingPages.insert.
    • Tanggal mulai dan akhir - Tanggal ini harus tanggal di masa mendatang dan dapat akurat hingga hari itu. Lihat butir tanggal dan waktu di Informasi coding umum untuk detail selengkapnya. Tanggal iklan individual dapat melebihi tanggal akhir, sehingga penayang dapat berupaya memenuhi kontrak untuk sejumlah tindakan yang ditentukan, jika belum diisi sebelum tanggal akhir kampanye yang ditentukan.
    // 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. Panggil campaigns.insert() untuk menyimpan kampanye.

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

Java

  1. Buat objek Campaign dan tetapkan properti yang diperlukan:

    • advertiserId - Pengiklan yang akan dikaitkan dengan kampanye ini.
    • name - Nama ini harus unik di semua kampanye untuk pengiklan ini.
    • defaultLandingPageId - Halaman landing tempat pengguna akan diarahkan saat mengklik iklan dalam kampanye ini, jika iklan tidak ditetapkan untuk iklan tersebut. Anda dapat mencari halaman landing yang sudah ada dengan memanggil advertiserLandingPages.list atau membuat yang baru dengan memanggil advertiserLandingPages.insert.
    • Tanggal mulai dan akhir - Tanggal ini harus tanggal di masa mendatang dan dapat akurat hingga hari itu. Lihat butir tanggal dan waktu di Informasi coding umum untuk detail selengkapnya. Tanggal iklan individual dapat melebihi tanggal akhir, sehingga penayang dapat berupaya memenuhi kontrak untuk sejumlah tindakan yang ditentukan, jika belum diisi sebelum tanggal akhir kampanye yang ditentukan.
    // 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. Panggil campaigns.insert() untuk menyimpan kampanye.

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

PHP

  1. Buat objek Campaign dan tetapkan properti yang diperlukan:

    • advertiserId - Pengiklan yang akan dikaitkan dengan kampanye ini.
    • name - Nama ini harus unik di semua kampanye untuk pengiklan ini.
    • defaultLandingPageId - Halaman landing tempat pengguna akan diarahkan saat mengklik iklan dalam kampanye ini, jika iklan tidak ditetapkan untuk iklan tersebut. Anda dapat mencari halaman landing yang sudah ada dengan memanggil advertiserLandingPages.list atau membuat yang baru dengan memanggil advertiserLandingPages.insert.
    • Tanggal mulai dan akhir - Tanggal ini harus tanggal di masa mendatang dan dapat akurat hingga hari itu. Lihat butir tanggal dan waktu di Informasi coding umum untuk detail selengkapnya. Tanggal iklan individual dapat melebihi tanggal akhir, sehingga penayang dapat berupaya memenuhi kontrak untuk sejumlah tindakan yang ditentukan, jika belum diisi sebelum tanggal akhir kampanye yang ditentukan.
    $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. Panggil campaigns.insert() untuk menyimpan kampanye.

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

Python

  1. Buat objek Campaign dan tetapkan properti yang diperlukan:

    • advertiserId - Pengiklan yang akan dikaitkan dengan kampanye ini.
    • name - Nama ini harus unik di semua kampanye untuk pengiklan ini.
    • defaultLandingPageId - Halaman landing tempat pengguna akan diarahkan saat mengklik iklan dalam kampanye ini, jika iklan tidak ditetapkan untuk iklan tersebut. Anda dapat mencari halaman landing yang sudah ada dengan memanggil advertiserLandingPages.list atau membuat yang baru dengan memanggil advertiserLandingPages.insert.
    • Tanggal mulai dan akhir - Tanggal ini harus tanggal di masa mendatang dan dapat akurat hingga hari itu. Lihat butir tanggal dan waktu di Informasi coding umum untuk detail selengkapnya. Tanggal iklan individual dapat melebihi tanggal akhir, sehingga penayang dapat berupaya memenuhi kontrak untuk sejumlah tindakan yang ditentukan, jika belum diisi sebelum tanggal akhir kampanye yang ditentukan.
    # 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. Panggil campaigns.insert() untuk menyimpan kampanye.

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

Ruby

  1. Buat objek Campaign dan tetapkan properti yang diperlukan:

    • advertiserId - Pengiklan yang akan dikaitkan dengan kampanye ini.
    • name - Nama ini harus unik di semua kampanye untuk pengiklan ini.
    • defaultLandingPageId - Halaman landing tempat pengguna akan diarahkan saat mengklik iklan dalam kampanye ini, jika iklan tidak ditetapkan untuk iklan tersebut. Anda dapat mencari halaman landing yang sudah ada dengan memanggil advertiserLandingPages.list atau membuat yang baru dengan memanggil advertiserLandingPages.insert.
    • Tanggal mulai dan akhir - Tanggal ini harus tanggal di masa mendatang dan dapat akurat hingga hari itu. Lihat butir tanggal dan waktu di Informasi coding umum untuk detail selengkapnya. Tanggal iklan individual dapat melebihi tanggal akhir, sehingga penayang dapat berupaya memenuhi kontrak untuk sejumlah tindakan yang ditentukan, jika belum diisi sebelum tanggal akhir kampanye yang ditentukan.
    # 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. Panggil campaigns.insert() untuk menyimpan kampanye.

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

Membuat penempatan

C#

  1. Buat objek Placement dan tetapkan properti penempatan yang diperlukan (termasuk campaignId dan siteId). Selain itu, pastikan untuk menetapkan jenis dan ukuran penempatan secara akurat untuk penempatan yang telah dinegosiasikan dengan situs Anda.
    // 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. Buat objek PricingSchedule baru untuk ditetapkan ke penempatan.
    // 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. Simpan objek Placement dengan memanggil placements.insert(). Pastikan untuk menyimpan ID yang ditampilkan jika Anda ingin menggunakannya untuk ditetapkan ke Iklan atau Materi Iklan.
    // Insert the placement.
    Placement result = service.Placements.Insert(placement, profileId).Execute();
    

Java

  1. Buat objek Placement dan tetapkan properti penempatan yang diperlukan (termasuk campaignId dan siteId). Selain itu, pastikan untuk menetapkan jenis dan ukuran penempatan secara akurat untuk penempatan yang telah dinegosiasikan dengan situs Anda.
    // 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. Buat objek PricingSchedule baru untuk ditetapkan ke penempatan.
    // 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. Simpan objek Placement dengan memanggil placements.insert(). Pastikan untuk menyimpan ID yang ditampilkan jika Anda ingin menggunakannya untuk ditetapkan ke Iklan atau Materi Iklan.
    // Insert the placement.
    Placement result = reporting.placements().insert(profileId, placement).execute();
    

PHP

  1. Buat objek Placement dan tetapkan properti penempatan yang diperlukan (termasuk campaignId dan siteId). Selain itu, pastikan untuk menetapkan jenis dan ukuran penempatan secara akurat untuk penempatan yang telah dinegosiasikan dengan situs Anda.
    $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. Buat objek PricingSchedule baru untuk ditetapkan ke penempatan.
    // 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. Simpan objek Placement dengan memanggil placements.insert(). Pastikan untuk menyimpan ID yang ditampilkan jika Anda ingin menggunakannya untuk ditetapkan ke Iklan atau Materi Iklan.
    // Insert the placement.
    $result = $this->service->placements->insert(
        $values['user_profile_id'],
        $placement
    );
    

Python

  1. Buat objek Placement dan tetapkan properti penempatan yang diperlukan (termasuk campaignId dan siteId). Selain itu, pastikan untuk menetapkan jenis dan ukuran penempatan secara akurat untuk penempatan yang telah dinegosiasikan dengan situs Anda.
    # 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. Buat objek PricingSchedule baru untuk ditetapkan ke penempatan.
    # Set the pricing schedule for the placement.
    placement['pricingSchedule'] = {
        'startDate': campaign['startDate'],
        'endDate': campaign['endDate'],
        'pricingType': 'PRICING_TYPE_CPM'
    }
    
  3. Simpan objek Placement dengan memanggil placements.insert(). Pastikan untuk menyimpan ID yang ditampilkan jika Anda ingin menggunakannya untuk ditetapkan ke Iklan atau Materi Iklan.
    request = service.placements().insert(profileId=profile_id, body=placement)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. Buat objek Placement dan tetapkan properti penempatan yang diperlukan (termasuk campaignId dan siteId). Selain itu, pastikan untuk menetapkan jenis dan ukuran penempatan secara akurat untuk penempatan yang telah dinegosiasikan dengan situs Anda.
    # 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. Buat objek PricingSchedule baru untuk ditetapkan ke penempatan.
    # 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. Simpan objek Placement dengan memanggil placements.insert(). Pastikan untuk menyimpan ID yang ditampilkan jika Anda ingin menggunakannya untuk ditetapkan ke Iklan atau Materi Iklan.
    # Insert the placement strategy.
    result = service.insert_placement(profile_id, placement)
    

Upload aset

Anda dapat mengupload berbagai jenis aset melalui proses yang disebut upload media. Meskipun proses ini sama untuk semua jenis materi iklan, beberapa jenis mungkin memerlukan properti tertentu untuk diteruskan sebagai metadata agar dapat digunakan dengan benar.

C#

  1. Buat objek assetIdentifier dan tetapkan properti yang diperlukan. Semua aset, apa pun jenisnya atau bagaimana penggunaannya, wajib menentukan assetIdentifier. Saat menetapkan aset ke materi iklan, objek ini akan digunakan untuk merujuk kembali ke aset. Properti berikut wajib diisi:

    • Properti name, yang akan menjadi nama aset di server. Nama harus menyertakan ekstensi yang menunjukkan jenis file seperti .png, atau .gif, dan akan ditampilkan ke browser sebagai nama aset, tetapi tidak harus sama dengan nama file asli. Perhatikan bahwa nama ini dapat diubah oleh Campaign Manager 360 untuk membuatnya unik di server; periksa nilai yang ditampilkan untuk melihat apakah nilai tersebut telah diubah.
    • Properti type, yang mengidentifikasi jenis aset. Properti ini akan menentukan jenis materi iklan yang dapat dikaitkan dengan aset ini.
    // Create the creative asset ID and Metadata.
    CreativeAssetId assetId = new CreativeAssetId();
    assetId.Name = Path.GetFileName(assetFile);
    assetId.Type = assetType;
    
  2. Upload file dengan memanggil creativeAssets.insert(). Lakukan upload multibagian, dengan meneruskan assetIdentifier dan konten file sebagai bagian dari permintaan yang sama. Jika berhasil, aset CreativeAsset akan ditampilkan, dengan assetIdentifier yang akan Anda gunakan untuk menetapkan aset ini ke materi iklan.

    // 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. Buat objek assetIdentifier dan tetapkan properti yang diperlukan. Semua aset, apa pun jenisnya atau bagaimana penggunaannya, wajib menentukan assetIdentifier. Saat menetapkan aset ke materi iklan, objek ini akan digunakan untuk merujuk kembali ke aset. Properti berikut wajib diisi:

    • Properti name, yang akan menjadi nama aset di server. Nama harus menyertakan ekstensi yang menunjukkan jenis file seperti .png, atau .gif, dan akan ditampilkan ke browser sebagai nama aset, tetapi tidak harus sama dengan nama file asli. Perhatikan bahwa nama ini dapat diubah oleh Campaign Manager 360 untuk membuatnya unik di server; periksa nilai yang ditampilkan untuk melihat apakah nilai tersebut telah diubah.
    • Properti type, yang mengidentifikasi jenis aset. Properti ini akan menentukan jenis materi iklan yang dapat dikaitkan dengan aset ini.
    // Create the creative asset ID and Metadata.
    CreativeAssetId assetId = new CreativeAssetId();
    assetId.setName(assetName);
    assetId.setType(assetType);
    
  2. Upload file dengan memanggil creativeAssets.insert(). Lakukan upload multibagian, dengan meneruskan assetIdentifier dan konten file sebagai bagian dari permintaan yang sama. Jika berhasil, aset CreativeAsset akan ditampilkan, dengan assetIdentifier yang akan Anda gunakan untuk menetapkan aset ini ke materi iklan.

    // 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. Buat objek assetIdentifier dan tetapkan properti yang diperlukan. Semua aset, apa pun jenisnya atau bagaimana penggunaannya, wajib menentukan assetIdentifier. Saat menetapkan aset ke materi iklan, objek ini akan digunakan untuk merujuk kembali ke aset. Properti berikut wajib diisi:

    • Properti name, yang akan menjadi nama aset di server. Nama harus menyertakan ekstensi yang menunjukkan jenis file seperti .png, atau .gif, dan akan ditampilkan ke browser sebagai nama aset, tetapi tidak harus sama dengan nama file asli. Perhatikan bahwa nama ini dapat diubah oleh Campaign Manager 360 untuk membuatnya unik di server; periksa nilai yang ditampilkan untuk melihat apakah nilai tersebut telah diubah.
    • Properti type, yang mengidentifikasi jenis aset. Properti ini akan menentukan jenis materi iklan yang dapat dikaitkan dengan aset ini.
    $assetId = new Google_Service_Dfareporting_CreativeAssetId();
    $assetId->setName($asset['name']);
    $assetId->setType($type);
    
  2. Upload file dengan memanggil creativeAssets.insert(). Lakukan upload multibagian, dengan meneruskan assetIdentifier dan konten file sebagai bagian dari permintaan yang sama. Jika berhasil, aset CreativeAsset akan ditampilkan, dengan assetIdentifier yang akan Anda gunakan untuk menetapkan aset ini ke materi iklan.

    $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. Buat objek assetIdentifier dan tetapkan properti yang diperlukan. Semua aset, apa pun jenisnya atau bagaimana penggunaannya, wajib menentukan assetIdentifier. Saat menetapkan aset ke materi iklan, objek ini akan digunakan untuk merujuk kembali ke aset. Properti berikut wajib diisi:

    • Properti name, yang akan menjadi nama aset di server. Nama harus menyertakan ekstensi yang menunjukkan jenis file seperti .png, atau .gif, dan akan ditampilkan ke browser sebagai nama aset, tetapi tidak harus sama dengan nama file asli. Perhatikan bahwa nama ini dapat diubah oleh Campaign Manager 360 untuk membuatnya unik di server; periksa nilai yang ditampilkan untuk melihat apakah nilai tersebut telah diubah.
    • Properti type, yang mengidentifikasi jenis aset. Properti ini akan menentukan jenis materi iklan yang dapat dikaitkan dengan aset ini.
    # Construct the creative asset metadata
    creative_asset = {'assetIdentifier': {'name': asset_name, 'type': asset_type}}
    
  2. Upload file dengan memanggil creativeAssets.insert(). Lakukan upload multibagian, dengan meneruskan assetIdentifier dan konten file sebagai bagian dari permintaan yang sama. Jika berhasil, aset CreativeAsset akan ditampilkan, dengan assetIdentifier yang akan Anda gunakan untuk menetapkan aset ini ke materi iklan.

    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. Buat objek assetIdentifier dan tetapkan properti yang diperlukan. Semua aset, apa pun jenisnya atau bagaimana penggunaannya, wajib menentukan assetIdentifier. Saat menetapkan aset ke materi iklan, objek ini akan digunakan untuk merujuk kembali ke aset. Properti berikut wajib diisi:

    • Properti name, yang akan menjadi nama aset di server. Nama harus menyertakan ekstensi yang menunjukkan jenis file seperti .png, atau .gif, dan akan ditampilkan ke browser sebagai nama aset, tetapi tidak harus sama dengan nama file asli. Perhatikan bahwa nama ini dapat diubah oleh Campaign Manager 360 untuk membuatnya unik di server; periksa nilai yang ditampilkan untuk melihat apakah nilai tersebut telah diubah.
    • Properti type, yang mengidentifikasi jenis aset. Properti ini akan menentukan jenis materi iklan yang dapat dikaitkan dengan aset ini.
    # 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. Upload file dengan memanggil creativeAssets.insert(). Lakukan upload multibagian, dengan meneruskan assetIdentifier dan konten file sebagai bagian dari permintaan yang sama. Jika berhasil, aset CreativeAsset akan ditampilkan, dengan assetIdentifier yang akan Anda gunakan untuk menetapkan aset ini ke materi iklan.

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

Buat materi iklan

Objek Creative menggabungkan aset yang ada. Bergantung pada cara Anda akan menggunakan materi iklan di halaman host, Anda dapat membuat objek Creative dari berbagai jenis materi iklan. Lihat dokumentasi referensi untuk menentukan jenis yang sesuai untuk Anda.

Contoh berikut menunjukkan cara membuat materi iklan display HTML5 baru.

C#

  1. Upload aset. Materi iklan yang berbeda membutuhkan jenis dan jumlah aset yang berbeda. Baca artikel Mengupload Aset untuk mengetahui detailnya. Setiap kali berhasil mengupload aset, Anda akan mendapatkan assetIdenfitier dalam respons; Anda akan menggunakan nama dan jenis file yang disimpan untuk mereferensikan aset ini dalam materi iklan, bukan ID biasa.
  2. Buat materi iklan dan tetapkan nilai yang sesuai. Buat instance Creative dan setel type yang tepat; Anda tidak dapat mengubah jenis objek Creative setelah menyimpannya. Tentukan aset berdasarkan AssetIdentifier dan role-nya.
    // 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. Simpan materi iklan. Lakukan hal ini dengan memanggil creatives.insert(). Diperlukan untuk menentukan ID pengiklan yang akan dikaitkan dengan materi iklan ini.
    Creative result = service.Creatives.Insert(creative, profileId).Execute();
    
  4. (Opsional) Kaitkan materi iklan dengan kampanye. Tindakan ini dapat dilakukan dengan memanggil campaignCreativeAssociations.insert(), yang meneruskan ID kampanye dan materi iklan.
    // 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. Upload aset. Materi iklan yang berbeda membutuhkan jenis dan jumlah aset yang berbeda. Baca artikel Mengupload Aset untuk mengetahui detailnya. Setiap kali berhasil mengupload aset, Anda akan mendapatkan assetIdenfitier dalam respons; Anda akan menggunakan nama dan jenis file yang disimpan untuk mereferensikan aset ini dalam materi iklan, bukan ID biasa.
  2. Buat materi iklan dan tetapkan nilai yang sesuai. Buat instance Creative dan setel type yang tepat; Anda tidak dapat mengubah jenis objek Creative setelah menyimpannya. Tentukan aset berdasarkan AssetIdentifier dan role-nya.
    // 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. Simpan materi iklan. Lakukan hal ini dengan memanggil creatives.insert(). Diperlukan untuk menentukan ID pengiklan yang akan dikaitkan dengan materi iklan ini.
    Creative result = reporting.creatives().insert(profileId, creative).execute();
    
  4. (Opsional) Kaitkan materi iklan dengan kampanye. Tindakan ini dapat dilakukan dengan memanggil campaignCreativeAssociations.insert(), yang meneruskan ID kampanye dan materi iklan.
    // 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. Upload aset. Materi iklan yang berbeda membutuhkan jenis dan jumlah aset yang berbeda. Baca artikel Mengupload Aset untuk mengetahui detailnya. Setiap kali berhasil mengupload aset, Anda akan mendapatkan assetIdenfitier dalam respons; Anda akan menggunakan nama dan jenis file yang disimpan untuk mereferensikan aset ini dalam materi iklan, bukan ID biasa.
  2. Buat materi iklan dan tetapkan nilai yang sesuai. Buat instance Creative dan setel type yang tepat; Anda tidak dapat mengubah jenis objek Creative setelah menyimpannya. Tentukan aset berdasarkan AssetIdentifier dan role-nya.
    $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. Simpan materi iklan. Lakukan hal ini dengan memanggil creatives.insert(). Diperlukan untuk menentukan ID pengiklan yang akan dikaitkan dengan materi iklan ini.
    $result = $this->service->creatives->insert(
        $values['user_profile_id'],
        $creative
    );
    
  4. (Opsional) Kaitkan materi iklan dengan kampanye. Tindakan ini dapat dilakukan dengan memanggil campaignCreativeAssociations.insert(), yang meneruskan ID kampanye dan materi iklan.
    $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. Upload aset. Materi iklan yang berbeda membutuhkan jenis dan jumlah aset yang berbeda. Baca artikel Mengupload Aset untuk mengetahui detailnya. Setiap kali berhasil mengupload aset, Anda akan mendapatkan assetIdenfitier dalam respons; Anda akan menggunakan nama dan jenis file yang disimpan untuk mereferensikan aset ini dalam materi iklan, bukan ID biasa.
  2. Buat materi iklan dan tetapkan nilai yang sesuai. Buat instance Creative dan setel type yang tepat; Anda tidak dapat mengubah jenis objek Creative setelah menyimpannya. Tentukan aset berdasarkan AssetIdentifier dan role-nya.
    # 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. Simpan materi iklan. Lakukan hal ini dengan memanggil creatives.insert(). Diperlukan untuk menentukan ID pengiklan yang akan dikaitkan dengan materi iklan ini.
    request = service.creatives().insert(profileId=profile_id, body=creative)
    
    # Execute request and print response.
    response = request.execute()
    
  4. (Opsional) Kaitkan materi iklan dengan kampanye. Tindakan ini dapat dilakukan dengan memanggil campaignCreativeAssociations.insert(), yang meneruskan ID kampanye dan materi iklan.
    # 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. Upload aset. Materi iklan yang berbeda membutuhkan jenis dan jumlah aset yang berbeda. Baca artikel Mengupload Aset untuk mengetahui detailnya. Setiap kali berhasil mengupload aset, Anda akan mendapatkan assetIdenfitier dalam respons; Anda akan menggunakan nama dan jenis file yang disimpan untuk mereferensikan aset ini dalam materi iklan, bukan ID biasa.
  2. Buat materi iklan dan tetapkan nilai yang sesuai. Buat instance Creative dan setel type yang tepat; Anda tidak dapat mengubah jenis objek Creative setelah menyimpannya. Tentukan aset berdasarkan AssetIdentifier dan role-nya.
    # 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. Simpan materi iklan. Lakukan hal ini dengan memanggil creatives.insert(). Diperlukan untuk menentukan ID pengiklan yang akan dikaitkan dengan materi iklan ini.
    # Insert the creative.
    result = service.insert_creative(profile_id, creative)
    
  4. (Opsional) Kaitkan materi iklan dengan kampanye. Tindakan ini dapat dilakukan dengan memanggil campaignCreativeAssociations.insert(), yang meneruskan ID kampanye dan materi iklan.
    # 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)
    

Buat iklan

Ad adalah link antara Creative dan Placement. Ad dapat ditautkan ke satu atau beberapa penempatan, dan memiliki satu atau beberapa materi iklan.

Anda dapat membuat Ad secara eksplisit atau implisit.

Secara eksplisit

C#

  1. Buat objek CreativeAssignment untuk setiap materi iklan yang akan dikaitkan dengan iklan ini. Pastikan untuk menetapkan kolom CreativeAssignment.active ke benar (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. Buat objek CreativeRotation untuk menyimpan CreativeAssignment. Jika membuat grup rotasi, pastikan untuk menetapkan kolom rotasi materi iklan lain yang diperlukan.
    // Create a creative rotation.
    CreativeRotation creativeRotation = new CreativeRotation();
    creativeRotation.CreativeAssignments = new List<CreativeAssignment>() {
        creativeAssignment
    };
    
  3. Buat objek PlacementAssignment untuk setiap penempatan yang akan dikaitkan dengan iklan ini. Pastikan untuk menetapkan kolom PlacementAssignment.active ke benar (true).
    // Create a placement assignment.
    PlacementAssignment placementAssignment = new PlacementAssignment();
    placementAssignment.Active = true;
    placementAssignment.PlacementId = placementId;
    
  4. Buat objek Ad. Tetapkan CreativeRotation ke kolom creativeRotation objek Ad dan penempatanAssignments ke dalam array placementAssignments objek 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. Simpan iklan dengan memanggil ads.insert().
    // Insert the rotation group.
    Ad result = service.Ads.Insert(rotationGroup, profileId).Execute();
    

Java

  1. Buat objek CreativeAssignment untuk setiap materi iklan yang akan dikaitkan dengan iklan ini. Pastikan untuk menetapkan kolom CreativeAssignment.active ke benar (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. Buat objek CreativeRotation untuk menyimpan CreativeAssignment. Jika membuat grup rotasi, pastikan untuk menetapkan kolom rotasi materi iklan lain yang diperlukan.
    // Create a creative rotation.
    CreativeRotation creativeRotation = new CreativeRotation();
    creativeRotation.setCreativeAssignments(ImmutableList.of(creativeAssignment));
    
  3. Buat objek PlacementAssignment untuk setiap penempatan yang akan dikaitkan dengan iklan ini. Pastikan untuk menetapkan kolom PlacementAssignment.active ke benar (true).
    // Create a placement assignment.
    PlacementAssignment placementAssignment = new PlacementAssignment();
    placementAssignment.setActive(true);
    placementAssignment.setPlacementId(placementId);
    
  4. Buat objek Ad. Tetapkan CreativeRotation ke kolom creativeRotation objek Ad dan penempatanAssignments ke dalam array placementAssignments objek 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. Simpan iklan dengan memanggil ads.insert().
    // Insert the rotation group.
    Ad result = reporting.ads().insert(profileId, rotationGroup).execute();
    

PHP

  1. Buat objek CreativeAssignment untuk setiap materi iklan yang akan dikaitkan dengan iklan ini. Pastikan untuk menetapkan kolom CreativeAssignment.active ke benar (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. Buat objek CreativeRotation untuk menyimpan CreativeAssignment. Jika membuat grup rotasi, pastikan untuk menetapkan kolom rotasi materi iklan lain yang diperlukan.
    // Create a creative rotation.
    $creativeRotation = new Google_Service_Dfareporting_CreativeRotation();
    $creativeRotation->setCreativeAssignments([$creativeAssignment]);
    
  3. Buat objek PlacementAssignment untuk setiap penempatan yang akan dikaitkan dengan iklan ini. Pastikan untuk menetapkan kolom PlacementAssignment.active ke benar (true).
    // Create a placement assignment.
    $placementAssignment =
        new Google_Service_Dfareporting_PlacementAssignment();
    $placementAssignment->setActive(true);
    $placementAssignment->setPlacementId($values['placement_id']);
    
  4. Buat objek Ad. Tetapkan CreativeRotation ke kolom creativeRotation objek Ad dan penempatanAssignments ke dalam array placementAssignments objek 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. Simpan iklan dengan memanggil ads.insert().
    $result = $this->service->ads->insert($values['user_profile_id'], $ad);
    

Python

  1. Buat objek CreativeAssignment untuk setiap materi iklan yang akan dikaitkan dengan iklan ini. Pastikan untuk menetapkan kolom CreativeAssignment.active ke benar (true).
    # Construct creative assignment.
    creative_assignment = {
        'active': 'true',
        'creativeId': creative_id,
        'clickThroughUrl': {
            'defaultLandingPage': 'true'
        }
    }
    
  2. Buat objek CreativeRotation untuk menyimpan CreativeAssignment. Jika membuat grup rotasi, pastikan untuk menetapkan kolom rotasi materi iklan lain yang diperlukan.
    # Construct creative rotation.
    creative_rotation = {
        'creativeAssignments': [creative_assignment],
        'type': 'CREATIVE_ROTATION_TYPE_RANDOM',
        'weightCalculationStrategy': 'WEIGHT_STRATEGY_OPTIMIZED'
    }
    
  3. Buat objek PlacementAssignment untuk setiap penempatan yang akan dikaitkan dengan iklan ini. Pastikan untuk menetapkan kolom PlacementAssignment.active ke benar (true).
    # Construct placement assignment.
    placement_assignment = {
        'active': 'true',
        'placementId': placement_id,
    }
    
  4. Buat objek Ad. Tetapkan CreativeRotation ke kolom creativeRotation objek Ad dan penempatanAssignments ke dalam array placementAssignments objek 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. Simpan iklan dengan memanggil ads.insert().
    request = service.ads().insert(profileId=profile_id, body=ad)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. Buat objek CreativeAssignment untuk setiap materi iklan yang akan dikaitkan dengan iklan ini. Pastikan untuk menetapkan kolom CreativeAssignment.active ke benar (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. Buat objek CreativeRotation untuk menyimpan CreativeAssignment. Jika membuat grup rotasi, pastikan untuk menetapkan kolom rotasi materi iklan lain yang diperlukan.
    # 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. Buat objek PlacementAssignment untuk setiap penempatan yang akan dikaitkan dengan iklan ini. Pastikan untuk menetapkan kolom PlacementAssignment.active ke benar (true).
    # Construct placement assignment.
    placement_assignment =
      DfareportingUtils::API_NAMESPACE::PlacementAssignment.new(
        active: true,
        placement_id: placement_id
      )
    
  4. Buat objek Ad. Tetapkan CreativeRotation ke kolom creativeRotation objek Ad dan penempatanAssignments ke dalam array placementAssignments objek 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. Simpan iklan dengan memanggil ads.insert().
    result = service.insert_ad(profile_id, ad)
    

Secara implisit

C#

  1. Buat dan simpan Placement.
  2. Buat dan simpan Creative.
  3. Kaitkan Creative dengan Campaign yang sama yang digunakan untuk Placement dengan memanggil campaignCreativeAssociations.insert() (lihat langkah 4 di bagian Membuat materi iklan). Tindakan ini akan membuat iklan default yang terkait dengan materi iklan dan penempatan.
    // 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. Buat dan simpan Placement.
  2. Buat dan simpan Creative.
  3. Kaitkan Creative dengan Campaign yang sama yang digunakan untuk Placement dengan memanggil campaignCreativeAssociations.insert() (lihat langkah 4 di bagian Membuat materi iklan). Tindakan ini akan membuat iklan default yang terkait dengan materi iklan dan penempatan.
    // 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. Buat dan simpan Placement.
  2. Buat dan simpan Creative.
  3. Kaitkan Creative dengan Campaign yang sama yang digunakan untuk Placement dengan memanggil campaignCreativeAssociations.insert() (lihat langkah 4 di bagian Membuat materi iklan). Tindakan ini akan membuat iklan default yang terkait dengan materi iklan dan penempatan.
    $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. Buat dan simpan Placement.
  2. Buat dan simpan Creative.
  3. Kaitkan Creative dengan Campaign yang sama yang digunakan untuk Placement dengan memanggil campaignCreativeAssociations.insert() (lihat langkah 4 di bagian Membuat materi iklan). Tindakan ini akan membuat iklan default yang terkait dengan materi iklan dan penempatan.
    # 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. Buat dan simpan Placement.
  2. Buat dan simpan Creative.
  3. Kaitkan Creative dengan Campaign yang sama yang digunakan untuk Placement dengan memanggil campaignCreativeAssociations.insert() (lihat langkah 4 di bagian Membuat materi iklan). Tindakan ini akan membuat iklan default yang terkait dengan materi iklan dan penempatan.
    # 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)
    

Membuat iklan secara implisit akan menyimpan langkah tambahan pembuatan Ad. Perhatikan bahwa hal ini hanya dapat dilakukan jika tidak ada iklan default dengan ukuran yang ditentukan dalam kampanye Anda.

Menelusuri objek

Anda dapat menelusuri objek dengan memanggil operasi list() yang diekspos oleh layanan yang menentukan objek yang akan ditemukan, dengan menentukan kriteria opsional yang sesuai untuk jenis objek tersebut. Jadi, misalnya, untuk menelusuri objek Iklan, Anda akan memanggil ads.list(). Kriteria opsional menampilkan kumpulan properti yang sesuai untuk objek tersebut; isi properti sebanyak yang ingin Anda telusuri. Penelusuran hanya akan menampilkan objek yang memenuhi semua kriteria; Anda tidak dapat melakukan penelusuran yang cocok dengan kriteria apa pun. String mendukung karakter pengganti *, tidak peka huruf besar/kecil, dan cocok dalam string yang lebih besar.

Untuk meningkatkan performa, respons parsial dapat diminta menggunakan parameter fields. Ini akan menginstruksikan server untuk hanya menampilkan kolom yang Anda tentukan, bukan representasi resource lengkap. Info selengkapnya tentang topik ini dapat ditemukan di panduan Tips Performa.

Paging

Terkadang, hal ini tidak diinginkan untuk mengambil semua hasil untuk permintaan list(). Misalnya, Anda mungkin hanya tertarik dengan 10 Iklan terbaru dari kumpulan ribuan. Untuk membantu melakukan hal ini, ada banyak metode list() yang memungkinkan Anda meminta lebih sedikit hasil melalui proses yang dikenal sebagai paging.

Metode yang mendukung paging menampilkan subset hasil dalam grup yang disebut page. Jumlah hasil maksimum per halaman adalah 1.000 (default). Anda dapat mengubah jumlah hasil per halaman dengan menetapkan maxResults, dan Anda dapat melakukan iterasi pada seluruh halaman menggunakan nextPageToken yang ditampilkan dalam respons:

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

Membuat tag Floodlight

Tag Floodlight adalah tag HTML yang disematkan pada halaman, yang digunakan untuk melacak tindakan pengguna (mis., pembelian) dalam situs. Untuk membuat tag Floodlight, Anda memerlukan FloodlightActivity yang termasuk dalam FloodlightActivityGroup:

C#

  1. Buat grup aktivitas Floodlight baru, dengan meneruskan nilai untuk name, type, dan floodlightConfigurationId.
    // Create the floodlight activity group.
    FloodlightActivityGroup floodlightActivityGroup = new FloodlightActivityGroup();
    floodlightActivityGroup.Name = groupName;
    floodlightActivityGroup.FloodlightConfigurationId = floodlightConfigurationId;
    floodlightActivityGroup.Type = "COUNTER";
    
  2. Simpan grup aktivitas Floodlight dengan memanggil floodlightActivityGroups.insert(), yang akan menampilkan ID grup baru.
    // Insert the activity group.
    FloodlightActivityGroup result =
        service.FloodlightActivityGroups.Insert(floodlightActivityGroup, profileId).Execute();
    
  3. Buat aktivitas Floodlight baru, dan tetapkan ID grup aktivitas Floodlight yang baru saja Anda buat, serta semua kolom wajib lainnya.
    // 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. Simpan aktivitas baru dengan memanggil floodlightActivities.insert(), yang akan menampilkan ID aktivitas baru.
    // Create the floodlight tag activity.
    FloodlightActivity result =
        service.FloodlightActivities.Insert(activity, profileId).Execute();
    
  5. Buat tag dengan memanggil floodlightActivities.generatetag() menggunakan floodlightActivityId aktivitas baru Anda. Kirim tag ke webmaster di situs pengiklan.
    // Generate the floodlight activity tag.
    FloodlightActivitiesResource.GeneratetagRequest request =
        service.FloodlightActivities.Generatetag(profileId);
    request.FloodlightActivityId = activityId;
    
    FloodlightActivitiesGenerateTagResponse response = request.Execute();
    

Java

  1. Buat grup aktivitas Floodlight baru, dengan meneruskan nilai untuk name, type, dan floodlightConfigurationId.
    // Create the floodlight activity group.
    FloodlightActivityGroup floodlightActivityGroup = new FloodlightActivityGroup();
    floodlightActivityGroup.setName(groupName);
    floodlightActivityGroup.setFloodlightConfigurationId(floodlightConfigurationId);
    floodlightActivityGroup.setType("COUNTER");
    
  2. Simpan grup aktivitas Floodlight dengan memanggil floodlightActivityGroups.insert(), yang akan menampilkan ID grup baru.
    // Insert the activity group.
    FloodlightActivityGroup result =
        reporting.floodlightActivityGroups().insert(profileId, floodlightActivityGroup).execute();
    
  3. Buat aktivitas Floodlight baru, dan tetapkan ID grup aktivitas Floodlight yang baru saja Anda buat, serta semua kolom wajib lainnya.
    // 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. Simpan aktivitas baru dengan memanggil floodlightActivities.insert(), yang akan menampilkan ID aktivitas baru.
    // Create the floodlight tag activity.
    FloodlightActivity result =
        reporting.floodlightActivities().insert(profileId, activity).execute();
    
  5. Buat tag dengan memanggil floodlightActivities.generatetag() menggunakan floodlightActivityId aktivitas baru Anda. Kirim tag ke webmaster di situs pengiklan.
    // Generate the floodlight activity tag.
    Generatetag request = reporting.floodlightActivities().generatetag(profileId);
    request.setFloodlightActivityId(activityId);
    
    FloodlightActivitiesGenerateTagResponse response = request.execute();
    

PHP

  1. Buat grup aktivitas Floodlight baru, dengan meneruskan nilai untuk name, type, dan floodlightConfigurationId.
    $group = new Google_Service_Dfareporting_FloodlightActivityGroup();
    $group->setFloodlightConfigurationId($values['configuration_id']);
    $group->setName($values['group_name']);
    $group->setType('COUNTER');
    
  2. Simpan grup aktivitas Floodlight dengan memanggil floodlightActivityGroups.insert(), yang akan menampilkan ID grup baru.
    $result = $this->service->floodlightActivityGroups->insert(
        $values['user_profile_id'],
        $group
    );
    
  3. Buat aktivitas Floodlight baru, dan tetapkan ID grup aktivitas Floodlight yang baru saja Anda buat, serta semua kolom wajib lainnya.
    $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. Simpan aktivitas baru dengan memanggil floodlightActivities.insert(), yang akan menampilkan ID aktivitas baru.
    $result = $this->service->floodlightActivities->insert(
        $values['user_profile_id'],
        $activity
    );
    
  5. Buat tag dengan memanggil floodlightActivities.generatetag() menggunakan floodlightActivityId aktivitas baru Anda. Kirim tag ke webmaster di situs pengiklan.
    $result = $this->service->floodlightActivities->generatetag(
        $values['user_profile_id'],
        ['floodlightActivityId' => $values['activity_id']]
    );
    

Python

  1. Buat grup aktivitas Floodlight baru, dengan meneruskan nilai untuk name, type, dan floodlightConfigurationId.
    # Construct and save floodlight activity group.
    activity_group = {
        'name': 'Test Floodlight Activity Group',
        'floodlightConfigurationId': floodlight_config_id,
        'type': 'COUNTER'
    }
    
  2. Simpan grup aktivitas Floodlight dengan memanggil floodlightActivityGroups.insert(), yang akan menampilkan ID grup baru.
    request = service.floodlightActivityGroups().insert(
        profileId=profile_id, body=activity_group)
    
  3. Buat aktivitas Floodlight baru, dan tetapkan ID grup aktivitas Floodlight yang baru saja Anda buat, serta semua kolom wajib lainnya.
    # 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. Simpan aktivitas baru dengan memanggil floodlightActivities.insert(), yang akan menampilkan ID aktivitas baru.
    request = service.floodlightActivities().insert(
        profileId=profile_id, body=floodlight_activity)
    
  5. Buat tag dengan memanggil floodlightActivities.generatetag() menggunakan floodlightActivityId aktivitas baru Anda. Kirim tag ke webmaster di situs pengiklan.
    # Construct the request.
    request = service.floodlightActivities().generatetag(
        profileId=profile_id, floodlightActivityId=activity_id)
    
    # Execute request and print response.
    response = request.execute()
    

Ruby

  1. Buat grup aktivitas Floodlight baru, dengan meneruskan nilai untuk name, type, dan 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. Simpan grup aktivitas Floodlight dengan memanggil floodlightActivityGroups.insert(), yang akan menampilkan ID grup baru.
    # Insert the floodlight activity group.
    result = service.insert_floodlight_activity_group(profile_id, activity_group)
    
  3. Buat aktivitas Floodlight baru, dan tetapkan ID grup aktivitas Floodlight yang baru saja Anda buat, serta semua kolom wajib lainnya.
    # 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. Simpan aktivitas baru dengan memanggil floodlightActivities.insert(), yang akan menampilkan ID aktivitas baru.
    # Insert the floodlight activity.
    result = service.insert_floodlight_activity(profile_id, activity)
    
  5. Buat tag dengan memanggil floodlightActivities.generatetag() menggunakan floodlightActivityId aktivitas baru Anda. Kirim tag ke webmaster di situs pengiklan.
    # Construct the request.
    result = service.generatetag_floodlight_activity(profile_id,
      floodlight_activity_id: activity_id)
    

Buat tag penempatan

Langkah terakhir adalah membuat tag HTML untuk dikirim ke penayang guna menampilkan iklan Anda. Untuk membuat tag melalui API, buat permintaan ke placements.generatetags(), dengan menentukan kumpulan placementIds dan 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])