P-MAX のレポートと同様に、GoogleAdsService.SearchStream を使用してキャンペーンとアセット グループのメタデータを取得し、一般的な問題のトラブルシューティングを行います。
キャンペーンのトラブルシューティング
P-MAX キャンペーンで想定した成果が得られない場合、広告、入札、ターゲティング、コンバージョン トラッキング、キャンペーン設定のいずれかに問題がある可能性があります。トラブルシューティングの手順については、以下のガイドをご覧ください。
ブランド ガイドラインが有効になっているキャンペーン
ブランド ガイドラインを使用すると、P-MAX キャンペーンでブランドがどのように表示されるかを管理できます。Campaign.brand_guidelines_enabled を使用して、キャンペーンでブランド ガイドラインが有効になっていることを確認できます。
Campaign.brand_guidelines_enabled が true に設定されている P-MAX キャンペーンでは、キャンペーン単位のブランド アセット(BUSINESS_NAME、LOGO、LANDSCAPE_LOGO)が使用されます。また、
BUSINESS_NAMEアセットが 1 つだけLOGO個以上のアセット
これらの CampaignAsset リソースを正しくリンクできないと、欠落しているアセットタイプに応じて、CampaignError.REQUIRED_BUSINESS_NAME_ASSET_NOT_LINKED または CampaignError.REQUIRED_LOGO_ASSET_NOT_LINKED のいずれかのエラーが発生します。これらのエラーは、ブランド ガイドラインが有効になっているキャンペーンで、次のいずれかのアクションを行うと発生する可能性があります。
- 同じリクエストで
BUSINESS_NAMEとLOGOの両方をCampaignAssetリソースとして指定せずに、新しいCampaignを作成する。 - 1 つ以上の
CampaignAssetリソースを削除すると、キャンペーンがブランド アセットの最小要件を満たさなくなる。 - 必要な
CampaignAssetリソースをすべて同じリクエストで指定せずに、商品フィードを使用するオンライン販売の目標を設定したアセットなしの P-MAX キャンペーンにアセット グループ単位のアセットを追加する。
ブランド アセットを誤ったレベルでリンクしようとするとエラーが発生します。このエラーは次のように修正できます。
AssetLinkError.BRAND_ASSETS_NOT_LINKED_AT_CAMPAIGN_LEVEL- キャンペーンでブランド ガイドラインが有効になっているため、
CampaignAssetリソースを使用してブランド アセットをリンクします。
- キャンペーンでブランド ガイドラインが有効になっているため、
AssetLinkError.BRAND_ASSETS_NOT_LINKED_AT_ASSET_GROUP_LEVEL- キャンペーンでブランド ガイドラインが有効になっていないため、
AssetGroupAssetリソースを使用してブランド アセットをリンクします。
- キャンペーンでブランド ガイドラインが有効になっていないため、
アセット グループのトラブルシューティング
asset_group.primary_status フィールドと asset_group.primary_status_reasons フィールドを使用して、アセット グループのパフォーマンスに関する分析情報を提供します。
SELECT
asset_group.resource_name,
asset_group.primary_status,
asset_group.primary_status_reasons
FROM asset_group
WHERE asset_group.resource_name = "customers/CUSTOMER_ID/assetGroups/ASSET_GROUP_ID"
同様に、asset_group_asset.primary_status、asset_group_asset.primary_status_details、asset_group_asset.primary_status_reasons の各フィールドを使用して、アセット グループのアセットが配信されているかどうか、または配信されていない理由を表示します。
SELECT
asset_group_asset.resource_name,
asset_group_asset.primary_status,
asset_group_asset.primary_status_reasons,
asset_group_asset.primary_status_details
FROM asset_group_asset
WHERE asset_group_asset.resource_name = "customers/CUSTOMER/assetGroupAssets/ASSET_GROUP_ID~ASSET_ID~FIELD_TYPE"
アセット グループの一般的なエラー
AssetGroup の作成リクエストが AssetGroupError と NOT_ENOUGH で始まる列挙値(AssetGroupError.NOT_ENOUGH_MARKETING_IMAGE_ASSET など)で失敗した場合、AssetGroup が最小アセット要件を満たしていないため、作成されなかったことを意味します。
たとえば、AssetGroupError.NOT_ENOUGH_MARKETING_IMAGE_ASSET エラーは、AssetGroup を作成するリクエストが最小数の MARKETING_IMAGES(この場合は 1 つ)なしで送信されたことを示します。このエラーを修正するには、アセット グループをアセットにリンクするで説明されているように、asset_group_operation と不足している asset_group_asset_operations を含む GoogleAdsService.mutate メソッドを使用して、一括変更リクエストとして AssetGroup を作成するリクエストを再送信します。
この例では、一括変更リクエストの変更オペレーションのリストに、field_type が MARKETING_IMAGE の AssetGroupAsset が 1 つ以上含まれている必要があります。AssetGroupAsset で参照されるアセットは、MARKETING_IMAGE の仕様も満たしている必要があります。
同様に、AssetGroup の作成リクエストが AssetGroupError.SHORT_DESCRIPTION_REQUIRED で失敗した場合、AssetGroup に 60 文字以下の TEXT アセットと field_type の DESCRIPTION がないことを意味します。この問題を解決する手順は、NOT_ENOUGH_MARKETING_IMAGE_ASSET の例で説明した手順と同じです。ただし、リクエストには field_type が DESCRIPTION の AssetGroupAsset を 1 つ以上含める必要があり、AssetGroupAsset で参照されるアセットは 60 文字以下である必要があります。
一般的なエラーとその解決方法については、一般的なエラーをご覧ください。
トラブルシューティングのためにアセットソースを確認する
P-MAX の特徴は、広告主様がアップロードしたアセットと Google が自動生成したアセットを含む広告を配信することです。広告主様は、アセットのソースを把握することで、トラブルシューティングやパフォーマンスの評価に役立てることができます。その場合は、次のように asset_group_asset.source フィールドを使用できます。
SELECT
asset.id,
asset.name,
asset_group.id,
asset_group_asset.source
FROM asset_group_asset
WHERE campaign.id = CAMPAIGN_ID
新規顧客獲得の目標のコンバージョン値
P-MAX キャンペーンまたは検索キャンペーンで新規顧客の獲得を設定している場合、レポートに表示されるコンバージョン値は、手動でアップロードした値よりも高くなることがあります。「新規顧客値」モード(入札単価を高くする)を選択した場合、すべての新規顧客のライフタイム バリューがコンバージョン アクションのコンバージョン値に追加されます。すべての新規顧客のライフタイム バリューは、Google 広告のウェブ インターフェースでのみ確認できます。
すべての新規顧客のライフタイム バリューを除外してコンバージョン値を計算する必要がある場合は、次の疑似コードを参照してください。新しい顧客のライフタイム バリューは、Google 広告のウェブ インターフェースからダウンロードできます。
nonNewCustomerAcquisitionConversionValueTotal = 0;
// For each campaign that has that conversion...
for (campaign in campaigns) {
// If the new customer acquisition value is 'Bid higher', then subtract.
if (bidHigher == true) {
nonNewCustomerAcquisitionConversionValueTotal +=
campaign.allConversionsValue - campaign.allNewCustomerLifetimeValue;
}
// If the new customer acquisition value is 'Only bid' or not set, then don't subtract.
else {
nonNewCustomerAcquisitionConversionValueTotal += campaign.allConversionsValue;
}
}