P-MAX のレポートと同様に、
GoogleAdsService.SearchStream
を使用してキャンペーンとアセットグループのメタデータを取得し、一般的な問題のトラブルシューティングを行います。
キャンペーンのトラブルシューティング
P-MAX キャンペーンで想定した成果が得られない場合、広告、入札、ターゲティング、コンバージョン トラッキング、キャンペーン設定のいずれかに問題がある可能性があります。トラブルシューティングの手順については、以下のガイドをご覧ください。
ブランド ガイドラインが有効になっているキャンペーン
ブランド ガイドラインを使用して
、P-MAX キャンペーンでのブランドの表示方法を管理します。
Campaign.brand_guidelines_enabled
を使用して、キャンペーンでブランド ガイドラインが有効になっていることを確認できます。
Campaign.brand_guidelines_enabled が true に設定されている P-MAX キャンペーンでは、キャンペーン単位のブランド アセット(BUSINESS_NAME、LOGO、LANDSCAPE_LOGO)が使用されます。
- 1 つの
BUSINESS_NAMEアセット - 1 つ以上の
LOGOアセット
これらの
CampaignAssetリソースを正しくリンクできない場合は、不足しているアセットのタイプに応じて、
のいずれかのエラーが表示されます。CampaignError.REQUIRED_BUSINESS_NAME_ASSET_NOT_LINKEDCampaignError.REQUIRED_LOGO_ASSET_NOT_LINKEDブランド ガイドラインが有効になっているキャンペーンでは、次のいずれかの操作を行うと、これらのエラーが発生する可能性があります。
- 同じリクエストで
BUSINESS_NAMEとLOGOの両方をCampaignAssetリソースとして指定せずに、新しいCampaignを作成する。 - キャンペーンがブランド アセットの最小要件を満たさなくなるような
CampaignAssetリソースを 1 つ以上削除する。 - 商品フィードを使用したオンライン販売向け P-MAX キャンペーンで、アセット グループ単位のアセットを、同じリクエストで必要な
CampaignAssetリソースをすべて指定せずに、以前アセットがなかった Performance 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の作成リクエストを一括変更リクエストとして再送信します。
この例では、一括変更リクエストの変更オペレーションのリストに、
AssetGroupAsset の
field_type が
MARKETING_IMAGE 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;
}
}