4.4 ניהול קמפיינים

מבוא


חשוב לאפשר למוכרים לבצע שינויים בקמפיין שלהם אחרי שיוצרים אותו. אלה ההיבטים הקריטיים ביותר שלפיהם אמורה להיות אפשרות לשנות:

  • תקציב
  • סטטוס (השהיה, הפעלה, הסרה)
  • טירגוט גיאוגרפי (מומלץ אבל אופציונלי)
  • כל שדה אחר שנכלל בממשק ליצירת קמפיין

הדרכה בנושא חוויית המשתמש


הצגת רשימת הקמפיינים בדף הסקירה הכללית ובדף נפרד, כחלק מהדיווח על ביצועי הקמפיינים. המשתמשים יכולים להשהות, למחוק ולערוך קמפיינים.

pmax_campaign

עריכת קמפיין צריכה לאפשר למוכר לשנות את אותם שדות שהם סיפקו במהלך יצירת הקמפיין. דוגמה לדרך שבה זה יכול להיראות:

edit_pmax

הדרכה טכנית


אחרי שיוצרים קמפיין למיקסום הביצועים לקמעונאים, אפשר לשנות את ההגדרות הבאות:

  • שם הקמפיין
  • תקציב הקמפיין
  • סטטוס הקמפיין
  • קריטריוני טירגוט של קמפיין

תוכלו למצוא סקירה כללית מפורטת על שינוי המשאבים במדריך למפתחים. אפשר לשנות משאב מסוים באמצעות נקודת הקצה (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