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