4.4 Pengelolaan Kampanye

Pengantar


Sebaiknya berikan kemampuan kepada penjual untuk melakukan perubahan pada kampanye mereka setelah kampanye dibuat. Aspek paling penting yang harus dapat diubah adalah sebagai berikut:

  • Anggaran
  • Status (menjeda, mengaktifkan, menghapus)
  • Penargetan geografis (direkomendasikan, tetapi opsional)
  • Kolom lain yang Anda sertakan di antarmuka pembuatan kampanye

Panduan UX


Tampilkan daftar kampanye di halaman ringkasan dan di halaman terpisah sebagai bagian dari pelaporan performa kampanye. Izinkan pengguna untuk menjeda, menghapus, dan mengedit kampanye.

pmax_campaign

Dengan mengedit kampanye, penjual dapat mengubah kolom yang sama dengan yang mereka berikan input saat pembuatan kampanye. Contoh tampilannya ditampilkan di bawah ini:

edit_pmax

Panduan Teknologi


Setelah membuat kampanye Performa Maksimal untuk Retail, Anda dapat mengubah setelan kampanye berikut:

  • Nama kampanye
  • Anggaran kampanye
  • Campaign status
  • Kriteria penargetan kampanye

Anda dapat menemukan ringkasan mendetail tentang cara mengubah resource dalam Panduan Developer. Anda dapat mengubah resource tertentu menggunakan endpoint layanan yang terekspos untuk mengubah resource tersebut (misalnya, CampaignService.MutateCampaigns) atau bermutasi di beberapa resource yang berbeda menggunakan fungsi mutasi massal yang tersedia menggunakan endpoint GoogleAdsService.Mutate.

Jika memungkinkan, sebaiknya mutasi secara massal untuk mengurangi jumlah operasi yang diperlukan untuk memperbarui kampanye. Dengan mempertimbangkan hal ini, Anda harus mendesain arsitektur menggunakan endpoint GoogleAdsService.Mutate, bukan endpoint resource individual. Hal ini juga memungkinkan ekstensi fungsi yang lebih mudah di masa mendatang.

Contoh selanjutnya mengasumsikan bahwa Anda memiliki ID yang relevan yang sudah tersimpan di database lokal.

Nama kampanye

Untuk memperbarui nama kampanye, Anda harus mengubah kolom Campaign.name.

Elemen ini tidak boleh berisi karakter null (titik kode 0x0), feed baris NL (titik kode 0xA), atau karakter enter (titik kode 0xD).

Anggaran kampanye

Memperbarui anggaran yang ada dianggap sebagai praktik terbaik, bukan menggantinya dengan anggaran baru. Hal ini memastikan pembelanjaan kampanye Anda seperti yang diharapkan dan tidak menyebabkan penayangan berlebihan.

Anda hanya boleh memperbarui nilai anggaran dan tidak mengubah kolom lain, sehingga meningkatkan nilai pembelanjaan HARIAN.

Python
budget_resource_name = client.get_service(
        "CampaignBudgetService"
    ).campaign_budget_path(customer_id, budget_id)

mutate_operation = client.get_type("MutateOperation")
campaign_budget = mutate_operation.campaign_budget_operation.update

campaign_budget.resource_name = budget_resource_name

# update the budget amount to the new value

campaign_budget.amount_micros = 50000000

client.copy_from(
    mutate_operation.campaign_budget_operation.update_mask,
    protobuf_helpers.field_mask(None, campaign_budget._pb),
)
return mutate_operation

Campaign status

Untuk memperbarui status (mengaktifkan/menjeda/menghapus) kampanye, Anda harus mengubah kolom Campaign.status dan menetapkan status yang relevan dari enum CampaignStatus.

Anda dapat menemukan contoh perubahan status kampanye di kode contoh untuk memperbarui kampanye.

Kriteria kampanye

Saat memperbarui kriteria kampanye, Anda hanya perlu memberikan kemampuan untuk memperbarui kriteria yang ditampilkan kepada pengguna, ini minimal merupakan Penargetan geografis dan mungkin Penargetan bahasa. Anda dapat menemukan contoh pembaruan kriteria kampanye dalam kode contoh untuk memperbarui pengubah bid kriteria kampanye.

Untuk memperbarui kriteria penargetan geografis, Anda perlu memperbarui CampaignCriterion.location ke nilai konstanta target geografis yang baru.

Python
criterion_rname = client.get_service(
    "CampaignCriterionService"
    ).campaign_criterion_path(
    customer_id, campaign_id, criterion_id
)

mutate_operation = client.get_type("MutateOperation")
campaign_criterion = mutate_operation.campaign_criterion_operation.update

campaign_criterion.resource_name = criterion_rname

# Set the geo to the update geo targeting

campaign_criterion.location.geo_target_constant = (
   geo_target_constant_service.geo_target_constant_path("1022762")
) # Brooklyn

client.copy_from(
    mutate_operation.campaign_criterion_operation.update_mask,
    protobuf_helpers.field_mask(None, campaign_criterion._pb),
)
return mutate_operation

Untuk memperbarui kriteria penargetan bahasa, Anda perlu memperbarui nilai nilai CampaignCriterion.language dengan konstanta bahasa baru.

Python
campaign_criterion_service = client.get_service("CampaignCriterionService")

criterion_rname = campaign_criterion_service.campaign_criterion_path(
   customer_id, campaign_id, criterion_id
)

mutate_operation = client.get_type("MutateOperation")
campaign_criterion = mutate_operation.campaign_criterion_operation.update

campaign_criterion.resource_name = criterion_rname

# Set the language to the updated language
# For a list of all language codes, see:
# https://developers.google.com/google-ads/api/data/codes-formats#languages
campaign_criterion.language.language_constant = (
    googleads_service.language_constant_path("1000")
)  # English

client.copy_from(
    mutate_operation.campaign_criterion_operation.update_mask,
    protobuf_helpers.field_mask(None, campaign_criterion._pb),
)
return mutate_operation