4.4 ניהול קמפיינים
מבוא
חשוב לאפשר למוכרים לבצע שינויים בקמפיין שלהם אחרי שיוצרים אותו. אלה ההיבטים הקריטיים ביותר שלפיהם אמורה להיות אפשרות לשנות:
- תקציב
- סטטוס (השהיה, הפעלה, הסרה)
- טירגוט גיאוגרפי (מומלץ אבל אופציונלי)
- כל שדה אחר שנכלל בממשק ליצירת קמפיין
הדרכה בנושא חוויית המשתמש
הצגת רשימת הקמפיינים בדף הסקירה הכללית ובדף נפרד, כחלק מהדיווח על ביצועי הקמפיינים. המשתמשים יכולים להשהות, למחוק ולערוך קמפיינים.
עריכת קמפיין צריכה לאפשר למוכר לשנות את אותם שדות שהם סיפקו במהלך יצירת הקמפיין. דוגמה לדרך שבה זה יכול להיראות:
הדרכה טכנית
אחרי שיוצרים קמפיין למיקסום הביצועים לקמעונאים, אפשר לשנות את ההגדרות הבאות:
- שם הקמפיין
- תקציב הקמפיין
- סטטוס הקמפיין
- קריטריוני טירגוט של קמפיין
תוכלו למצוא סקירה כללית מפורטת על שינוי המשאבים במדריך למפתחים. אפשר לשנות משאב מסוים באמצעות נקודת הקצה (endpoint) של השירות החשוף לשינוי המשאב הזה (לדוגמה, CampaignService.MutateCampaigns
) או לבצע מוטציה במספר משאבים שונים באמצעות הפונקציונליות של שינוי בכמות גדולה שזמינה באמצעות נקודת הקצה GoogleAdsService.Mutate
.
כשהדבר אפשרי, מומלץ לבצע שינויים בכמות גדולה כדי לצמצם את מספר הפעולות הנדרשות לעדכון הקמפיין. לכן כדאי לתכנן את הארכיטקטורה סביב השימוש בנקודת הקצה GoogleAdsService.Mutate
במקום בנקודות קצה (endpoint) נפרדות של משאבים. כך קל יותר להרחיב את הפונקציונליות בעתיד.
הדוגמאות הבאות מבוססות על ההנחה שהמזהים הרלוונטיים כבר שמורים במסד הנתונים המקומי.
שם הקמפיין
כדי לעדכן את השם של הקמפיין, צריך לשנות את השדה 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