اجزای اختیاری Performance Max

اهداف تبدیل

هنگامی که یک کمپین Performance Max ایجاد می کنید، یک سری اهداف تبدیل به طور خودکار ایجاد می شود که با CustomerConversionGoal در حساب مطابقت دارد. می‌توانید با به‌روزرسانی آن‌ها، آن‌ها را به‌طور خاص برای هر یک از کمپین‌های Performance Max خود سفارشی کنید.

برای انجام این کار، ابتدا باید شناسه کمپین کمپین(های) حداکثر عملکرد و فهرستی از تمام اهداف تبدیل مشتری را دریافت کنید. در اینجا نمونه‌ای از تغییر اهداف یک کمپین آورده شده است، اگرچه می‌توانید کد خود را طوری تنظیم کنید که از طریق چندین کمپین Performance Max حلقه بزند.

// 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`
);

سپس می‌توانید تمام اهداف تبدیلی که دریافت کرده‌اید را تکرار کنید و یک عملیات به‌روزرسانی برای کمپین فعلی Performance Max ایجاد کنید تا هدف‌گیری برای هر هدف را سفارشی کنید. مثال کدی که بعداً در این بخش نشان داده شده است، همه اهداف را به صورت پیشنهادی تنظیم می کند، اما شما می خواهید آن بخش از منطق را برای مطابقت با آنچه می خواهید از کمپین خود بدست آورید، سفارشی کنید.

توصیه می کنیم اهداف تبدیل را در یک تراکنش جداگانه از بقیه مراحل ایجاد کمپین تنظیم کنید. 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});

هدف گذاری کمپین

برای هدف‌یابی کمپین در Performance Max، حتماً راهنمای 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"
      }
    }
  }
});