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