عناصر اختیاری «عملکرد بیشینه»

اهداف تبدیل

وقتی پویش «عملکرد بیشینه» ایجاد می‌کنید، مجموعه‌ای از اهداف تبدیل به‌طور خودکار ایجاد می‌شود که با 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"
      }
    }
  }
});