4.4 Pengelolaan Kampanye

Pengantar


Penting untuk memberi penjual kemampuan untuk membuat perubahan pada kampanye mereka setelah dibuat. Aspek terpenting yang harus dapat diubah adalah sebagai berikut:

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

Panduan UX


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

pmax_campaign

Mengedit kampanye harus memungkinkan penjual mengubah kolom yang sama dengan memberikan masukan selama pembuatan kampanye. Contoh yang dapat menunjukkan ditampilkan di bawah ini:

edit_pmax

Panduan Teknologi


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

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

Anda dapat menemukan ringkasan mendetail tentang cara mengubah resource di Panduan Developer. Anda dapat mengubah resource tertentu menggunakan layanan terekspos untuk mengubah resource tersebut (misalnya, CampaignService.MutateCampaigns) atau bermutasi di beberapa resource 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 pemikiran ini, Anda harus mendesain arsitektur Anda menggunakan endpoint GoogleAdsService.Mutate setiap endpoint resource. Hal ini juga memungkinkan perpanjangan yang lebih mudah fungsionalitasnya di masa mendatang.

Contoh berikutnya mengasumsikan bahwa Anda sudah memiliki ID yang relevan di lokal Anda di skrip untuk menyiapkan database.

Nama kampanye

Untuk memperbarui nama kampanye, Anda harus memutasikan Campaign.name kolom tersebut.

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

Anggaran kampanye

Ini dianggap sebagai praktik terbaik untuk memperbarui anggaran yang ada daripada mengganti dengan anggaran baru. Dengan begitu, kampanye Anda akan membelanjakan anggaran seperti yang diharapkan dan tidak menyebabkan penayangan berlebih.

Anda hanya boleh memperbarui nilai anggaran dan tidak mengubah kolom lainnya, 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 Campaign.status dan tetapkan status yang relevan dari enum CampaignStatus.

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

Kriteria kampanye

Saat memperbarui kriteria kampanye, Anda hanya perlu memberikan kemampuan untuk memperbarui kriteria yang diekspos ke pengguna, minimumnya adalah Penargetan geografis dan mungkin Penargetan bahasa. Anda dapat menemukan contoh pembaruan kriteria kampanye dalam kode contoh untuk perbarui pengubah bid kriteria kampanye.

Untuk memperbarui kriteria penargetan geografis, Anda 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