デマンド ジェネレーションの必須コンポーネント

デマンド ジェネレーション キャンペーンをゼロから作成するには、少なくとも次のものを作成する必要があります。

キャンペーンと予算はあらゆる種類のキャンペーン タイプを作成するのに役立ちますが、広告グループの広告内の一部の設定は、デマンド ジェネレーション キャンペーンの作成に特に役立ちます。スクリプトを使用してアセットを作成する方法については、デマンド ジェネレーションのアセットガイドをご覧ください。

このガイドでは、ミューテートで使用する JavaScript オブジェクトのみを提供するため、ミューテート戦略をよく理解しておいてください。

予算

予算は共有されておらず、アカウント内で一意の名前が付けられている必要があります。コンバージョンに基づく入札戦略では、1 日の予算を推定アクション単価の 15 倍以上に設定することをおすすめします。価値に基づく入札戦略では、1 日の予算を、予想される平均コンバージョン値を目標広告費用対効果で割った値の 20 倍以上に設定します。CampaignBudgetOperation を使用して予算を作成します。

const budgetOperation = {
  "campaignBudgetOperation": {
    "create": {
      "resourceName": `customers/${customerId}/campaignBudgets/${getNextTempId()}`,
      "name": "Demand Gen campaign budget",
      "amountMicros": "50000000",
      "deliveryMethod": "STANDARD",
      "explicitlyShared": false
    }
  }
}
operations.push(budgetOperation);

キャンペーン

キャンペーンは予算を参照する必要があるため、前の手順で作成した予算リソースの正確な名前を使用して、その特定の予算オブジェクトを識別して使用する必要があります。CampaignOperation を使用します。

const campaignOperation = {
  "campaignOperation": {
    "create": {
      "resourceName": `customers/${customerId}/campaigns/${getNextTempId()}`,
      "name": "Demand Gen campaign",
      "status": "PAUSED",
      "advertisingChannelType": "DEMAND_GEN",
      "campaignBudget": budgetOperation.campaignBudgetOperation.create.resourceName,
      "biddingStrategyType": "TARGET_CPA",
      "startDate": "20240314",
      "endDate": "20250313",
      "urlExpansionOptOut": false,
      "targetCpa": {
        "targetCpaMicros": 1000000
      },
      "containsEuPoliticalAdvertising": "DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING"
    }
  }
}
operations.push(campaignOperation);

広告グループ

広告グループはキャンペーンを参照する必要があるため、前の手順で作成したキャンペーン オブジェクトを特定して使用するには、キャンペーン リソース名を正確に指定する必要があります。広告グループ自体の一時 ID も必要です。これは、広告グループ広告を作成するときに使用できるように、新しい変数として保存するのが最適です。

デマンド ジェネレーション キャンペーンの広告グループを作成する際に、チャネル管理を設定して、広告の掲載場所を指定することもできます。他のキャンペーン タイプとは異なり、デマンド ジェネレーションでは、キャンペーンごとに複数の広告グループを設定することをおすすめします。これは、システムが広告グループのパフォーマンスに基づいて予算を割り当てるためです。今のところは、AdGroupOperation を使用して 1 つの広告グループを作成するだけでかまいません。

const adGroupId = getNextTempId();
const adGroupOperation = {
  "adGroupOperation": {
    "create": {
      "resourceName": `customers/${customerId}/adGroups/${adGroupId}`,
      "name": "Demand Gen ad group",
      "status": "PAUSED",
      "campaign": campaignOperation.campaignOperation.create.resourceName,
      "demand_gen_ad_group_settings": {
        "channel_controls": {
          "selected_channels": {
            "gmail": false,
            "discover": false,
            "display": false,
            "youtube_in_feed": true,
            "youtube_in_stream": true,
            "youtube_shorts": true
          }
        }
      }
    }
  }
}
operations.push(adGroupOperation);

ネストされた広告を含む広告グループの広告

この手順では、広告グループと広告を結合する広告グループ広告が作成されます。広告グループ広告は広告グループを参照する必要があるため、前の手順で設定したリソース名を正確に指定する必要があります。同じオペレーション内で広告を作成できます。ここに示されている例では、DemandGenVideoResponsiveAdInfo を使用してデマンド ジェネレーションの動画レスポンシブ広告を作成しています。この例を適応させて、DemandGenMultiAssetAdInfo を使用してマルチ アセット広告を作成したり、DemandGenCarouselAdInfo を使用してカルーセル広告を作成したり、DemandGenProductAdInfo を使用して商品広告を作成したりすることもできます。

広告グループ広告を作成するには、前のステップで作成した広告グループ ID 変数と同じ AdGroupAdOperation を使用します。

const adGroupAdOperation = {
  "adGroupAdOperation": {
    "create": {
      "resourceName": `customers/${customerId}/adGroupAds/${adGroupId}~${getNextTempId()}`,
      "adGroup": adGroupOperation.adGroupOperation.create.resourceName,
      "status": "PAUSED",
      "ad": {
        "name": "Demand Gen video responsive ad",
        "finalUrls": [
          "http://www.example.com"
        ],
        "demandGenVideoResponsiveAd": {
          "businessName": {
            "text": "Demand Gen business"
          },
          "videos": [
            { "asset": videoAsset.assetOperation.create.resourceName }
          ],
          "logoImages": [
            { "asset": imageAsset.assetOperation.create.resourceName }
          ],
          "headlines": [
            { "text": "Demand Gen responsive video" }
          ],
          "longHeadlines": [
            { "text": "Make a Demand Gen video responsive ad today" }
          ],
          "description": [
            { "text": "This is an example of a Demand Gen video responsive ad"}
          ]
        }
      }
    }
  }
}
operations.push(adGroupAdOperation);