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

מבוא


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

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

הנחיות לגבי UX


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

pmax_campaign

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

edit_pmax

הנחיות טכניות


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

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

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