4.4 إدارة الحملات
مقدمة
من المهم منح التجّار القدرة على إجراء تغييرات على حملاتهم. بعد إنشائها. الجوانب الأكثر أهمية التي يجب أن يكونوا قادرين على تغييرها هي على النحو التالي:
- الميزانية
- الحالة (إيقاف مؤقت، تفعيل، إزالة)
- الاستهداف الجغرافي (موصى به ولكنه اختياري)
- أي حقل آخر أدرجته في واجهة إنشاء الحملة
إرشادات تجربة المستخدم
اعرض قائمة الحملات في صفحة النظرة العامة وعلى صفحة منفصلة كجزء من تقارير أداء الحملة. اسمح للمستخدمين بإيقاف الحملات مؤقتًا وحذفها وتعديلها.
يجب أن يسمح تعديل الحملة للتاجر بتعديل الحقول نفسها التي قدّمنا مدخلات حوله أثناء إنشاء الحملة. مثال على كيف يمكن أن كما هو موضح أدناه:
الإرشادات الفنية
بعد إنشاء "حملة الأداء الأفضل للبيع بالتجزئة"، يمكنك تغيير إعدادات الحملة التالية:
- اسم الحملة
- ميزانية الحملة
- حالة الحملة
- معايير استهداف الحملة
يمكنك العثور على نظرة عامة تفصيلية حول كيفية تغيير الموارد في
دليل المطوِّر. يمكنك تغيير مورد معيّن باستخدام الخدمة التي تم الكشف عنها.
نقطة نهاية لتغيير هذا المورد (على سبيل المثال،
CampaignService.MutateCampaigns
) أو التغيير عبر عدة عناصر
الموارد باستخدام وظيفة التغيير المجمّع المتاحة باستخدام
نقطة النهاية GoogleAdsService.Mutate
.
نقترح متى أمكن التغيير بشكل مجمّع لتقليل عدد
العمليات المطلوبة لتحديث الحملة. مع وضع ذلك في الاعتبار، يجب عليك تصميم
البنية الأساسية حول استخدام نقطة نهاية GoogleAdsService.Mutate
بدلاً من ذلك
من نقاط نهاية الموارد الفردية. وهذا يؤدي أيضًا إلى تسهيل
الوظائف في المستقبل.
تفترض الأمثلة اللاحقة أن لديك أرقام التعريف ذات الصلة التي تم تخزينها في دليل قاعدة البيانات.
اسم الحملة
لتعديل اسم حملة، عليك تغيير Campaign.name
.
.
يجب ألا يحتوي النص على أي قيم فارغة (نقطة الرمز 0x0
)، أو خلاصة سطر NL (نقطة الرمز 0xA
).
أو أحرف الرجوع إلى أول السطر (نقطة الرمز 0xD
).
ميزانية الحملة
من أفضل الممارسات تعديل ميزانية حالية بدلاً من استبدال بميزانية جديدة. ويضمن ذلك إنفاق حملتك على النحو المتوقّع لا يؤدي إلى العرض الزائد.
يجب عليك فقط تحديث قيمة الميزانية وعدم تغيير أي حقول أخرى، زيادة قيمة الإنفاق اليومي.
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
وتعيين الحالة الملائمة من
تعداد CampaignStatus
يمكنك العثور على مثال على تغيير حالة الحملة في نموذج الرمز البرمجي تعديل الحملة.
معايير الحملة
عند تعديل معايير الحملة، ستحتاج فقط إلى توفير إمكانية تحديث المعايير التي تظهر للمستخدم، يكون هذا على الأقل الاستهداف الجغرافي وربما استهداف اللغة. يمكنك العثور على مثال على تحديث معيار حملة في نموذج رمز تحديث معدِّل عروض الأسعار لمعيار الحملة.
لتحديث معايير الاستهداف الجغرافي، يجب تحديث
CampaignCriterion.location
إلى قيمة ثابت الاستهداف الجغرافي الجديد.
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
لتحديث معايير استهداف اللغة، يجب تحديث قيمة
القيمة CampaignCriterion.language
مع ثابت اللغة الجديد.
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