רכיבים אופציונליים של קמפיינים למיקסום הביצועים

יעדי המרה

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

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

// Query for a campaign by name. Update this logic to pull the campaigns you'd
// like to edit
const campaignName = "My PMax campaign";
let campaignId = "";

const search = AdsApp.search(`SELECT campaign.id FROM campaign WHERE campaign.name = "${campaignName}"`);
if (search.hasNext()) {
  campaignId = search.next().campaign.id;
  console.log(`Updating conversion goals for ${campaignName}: ${campaignId}`);
}
else
{
  console.log(`No campaign named "${campaignName}" found`);
  // Perform further error handling here
}

// Query for a list of customer conversion goals
const searchResults = AdsApp.search(
  `SELECT
     customer_conversion_goal.category,
     customer_conversion_goal.origin
   FROM customer_conversion_goal`
);

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

מומלץ להגדיר יעדי המרה בעסקה נפרדת משאר התהליך של יצירת הקמפיין. CampaignConversionGoalOperation כדי להשתמש בשיטה הזו, צריך להגדיר את הערך של partialFailure בבקשה ל-false. אם רוצים להריץ את הקוד הזה באותה טרנזקציה שבה יוצרים את הקמפיין, צריך להגדיר את כל מערך הפעולות כך שהאפשרות 'כישלון חלקי' תהיה מושבתת. בדוגמת הקוד הזו מוצג איך לבצע את הפעולה הזו בטרנזקציה נפרדת.

operations = [];
while (searchResults.hasNext()) {
  const row = searchResults.next();
  const conversionGoal = row.customerConversionGoal;

  operations.push({
    "campaignConversionGoalOperation": {
      "update": {
        "resourceName": `customers/${customerId}/campaignConversionGoals/${campaignId}~${conversionGoal.category}~${conversionGoal.origin}`,
        // Insert your logic here to determine whether you want this particular
        // campaign conversion goal to be biddable or not.
        // This code will just default everything to being biddable, but that
        // is not necessarily best for your use case.
        "biddable": true
      },
      "updateMask": "biddable"
    }
  });
}

AdsApp.mutateAll(operations, {partialFailure: false});

טירגוט קמפיין

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

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

אפשר ליצור את הקריטריונים האלה יחד עם הקמפיין עצמו כחלק מאותה קריאה ל-mutateAll. בדוגמה הזו של הקוד אנחנו מניחים שזו הדרך שבה אתם יוצרים את המבנה של הקוד.

operations.push({
  "campaignCriterionOperation": {
    "create": {
      "campaign": campaignOperation.campaignOperation.create.resourceName,
      "negative": false,
      "location": {
        // 1023191 represents New York City
        "geoTargetConstant": "geoTargetConstants/1023191"
      }
    }
  }
});

אותות של קבוצת נכסים

לפני שמתחילים, כדאי לקרוא על אותות של קבוצות נכסים במסמכי התיעוד של ה-API. ההגדרות האלה נקבעות על ידי קישור קבוצת נכסים לקריטריון קיים של AudienceInfo או של SearchThemeInfo. אם רוצים להשתמש בקהל במקום זאת, מציינים את השדה audience במקום השדה searchTheme עם שם המשאב של הקהל.

operations.push({
  "assetGroupSignalOperation": {
    "create": {
      "assetGroup": assetGroupOperation.assetGroupOperation.create.resourceName,
      "searchTheme": {
        "text": "mars cruise"
      }
    }
  }
});