コンバージョントラッキング

Metaピクセルを使用して、ウェブサイト利用者のアクションをトラッキングすることができます(コンバージョントラッキング)。トラッキングされたコンバージョンはFacebook広告マネージャFacebookイベントマネージャに表示され、コンバージョンファネルの効果を分析したり、広告投資収益率を計算したりするために使用できます。また、トラッキングされたコンバージョンを使用して、カスタムオーディエンスを定義して広告を最適化したり、Advantage+カタログ広告キャンペーンを定義したりすることもできます。カスタムオーディエンスを定義すると、それを使用してコンバージョンが発生しそうなほかのFacebookユーザーを特定し、広告のターゲットに設定することができます。

ピクセルを使用してコンバージョンをトラッキングするには、次の3つの方法があります。

  • 標準イベント。これはFacebookが定義した訪問者アクションであり、報告はピクセル関数を呼び出すことによって行われます
  • カスタムイベント。これは開発者が独自に定義した訪問者アクションであり、報告はピクセル関数を呼び出すことによって行われます
  • カスタムコンバージョン。これはウェブサイトの参照元のURLを解析することによって自動的にトラッキングされる訪問者アクションです

要件

コンバージョンをトラッキングするすべてのページにピクセルのベースコードを事前にインストールしておく必要があります。

標準イベント

標準イベントは、コンバージョン関連の一般的なアクティビティ(商品の検索、商品の閲覧、商品の購入など)に対応する事前定義された訪問者アクションです。標準イベントではパラメーターがサポートされます。パラメーターを使用すると、イベントに関する追加情報(商品ID、カテゴリ、購入した商品の数など)を含むオブジェクトを組み込むことができます。

標準イベントの完全なリストについては、ピクセルの標準イベントのリファレンスをご覧ください。コンバージョントラッキングと標準イベントについて詳しくは、Blueprintをご確認ください。

標準イベントのトラッキング

すべての標準イベントは、イベント名と(オプションで)JSONオブジェクトをパラメーターとして指定してピクセルのfbq('track')関数を呼び出すことによってトラッキングされます。例えば、以下は利用者が購入イベントを完了したときにトラッキングする関数呼び出しです。この呼び出しでは、パラメーターとして通貨と値が含まれています。

fbq('track', 'Purchase', {currency: "USD", value: 30.00});

その関数を呼び出すと、イベントマネージャで購入イベントとしてトラッキングされます。

ページが読み込まれたとき、または訪問者がボタンをクリックするなどの操作を完了したときに、ウェブページの<body>の開始タグと終了タグの間の任意の場所でfbq('track')関数を呼び出すことができます。

例えば、訪問者が購入を完了した後、標準の購入イベントをトラッキングする場合は、次のように購入確認ページfbq('track')関数を呼び出せます。

<body>
  ...
  <script>
    fbq('track', 'Purchase', {currency: "USD", value: 30.00});
  </script>
  ...
</body>

代わりに利用者が購入ボタンをクリックしたときに標準の購入イベントをトラッキングする場合は、次のようにチェックアウトページfbq('track')関数呼び出しを購入ボタンと結び付けることができます。

<button id="addToCartButton">Purchase</button>
<script type="text/javascript">
  $('#addToCartButton').click(function() {
    fbq('track', 'Purchase', {currency: "USD", value: 30.00});
  });
</script>

上記の例ではjQueryを使用して関数呼び出しをトリガーしていますが、関数呼び出しのトリガーには任意のメソッドを使用することができる点に注意してください。

カスタムイベント

Facebookの事前定義されている標準イベントでニーズに対応できない場合は、独自のカスタムイベントをトラッキングすることができます。カスタムイベントを使用してカスタムオーディエンスを定義し、広告を最適化することもできます。カスタムイベントではパラメーターもサポートされます。これを組み込むことで、各カスタムイベントに関する追加情報を指定できます。

コンバージョントラッキングとカスタムイベントについて詳しくは、Blueprintをご確認ください。

カスタムイベントのトラッキング

カスタムイベントは、カスタムイベント名と(オプションで)JSONオブジェクトをパラメーターとして指定してピクセルのfbq('trackCustom')関数を呼び出すことによってトラッキングすることができます。標準イベントと同様、ページが読み込まれたとき、または利用者がボタンをクリックするなどのアクションを実行したときに、ウェブページの<body>の開始タグと終了タグの間の任意の場所でfbq('trackCustom')関数を呼び出すことができます。

例えば、割引を取得するためにプロモーションをシェアしている利用者をトラッキングしたい場合があります。その場合、次のようなカスタムイベントを使用してトラッキングできます。

fbq('trackCustom', 'ShareDiscount', {promotion: 'share_discount_10%'});

カスタムイベント名は長さが50文字未満の文字列でなければなりません。

カスタムコンバージョン

ピクセルが読み込まれるたびに、自動的にfbq('track', 'PageView')を呼び出してPageView標準イベントをトラッキングします。PageView標準イベントは、関数呼び出しをトリガーしたページの参照元のURLを記録します。記録したそのURLをイベントマネージャで使用して、トラッキング対象の利用者のアクションを定義することができます。

例えば、メーリングリストに登録している訪問者をサンキューページにリダイレクトするとします。そのためには、URLに/thank-youが含まれているページを閲覧したウェブサイト訪問者をトラッキングするカスタムコンバージョンを設定します。URLに/thank-youが含まれているページがサンキューページだけであり、かつそのページにピクセルがインストールされている場合、そのページを閲覧した人はそのカスタムコンバージョンを使ってトラッキングされます。

一度トラッキングすると、カスタムコンバージョンを使って広告キャンペーンを最適化したり、カスタムオーディエンスを定義したり、標準イベントやカスタムイベントを使用してカスタムオーディエンスをさらに絞り込んだりできるようになります。カスタムコンバージョンについて詳しくは、Blueprintをご確認ください。

カスタムコンバージョンはURLの全体または一部に依存するため、ウェブサイトのURLの一意の文字列のみに基づいて訪問者のアクションを定義できるようにする必要があります。

カスタムコンバージョンの作成

カスタムコンバージョンの作成は、イベントマネージャ内だけで完結します。作成方法については、広告主ヘルプドキュメントを参照してください。

ルールベースのカスタムコンバージョン

Metaピクセルのベースコードに何も追加せずに、アクションの最適化とアクションのトラッキングを行います。これは、17個の標準イベント以外に追加で実行できます。

  1. カスタムコンバージョンは、/{AD_ACCOUNT_ID}/customconversionsに作成します。
  2. イベントを表すURLまたはURLの一部を、pixel_ruleに指定してください。例えば、購入後にthankyou.htmlというページが表示されるとします。

次の例は、'thankyou.html'が表示された時点でPURCHASEコンバージョンを記録します。

use FacebookAds\Object\CustomConversion;
use FacebookAds\Object\Fields\CustomConversionFields;

$custom_conversion = new CustomConversion(null, 'act_<AD_ACCOUNT_ID>');
$custom_conversion->setData(array(
  CustomConversionFields::NAME => 'Example Custom conversion',
  CustomConversionFields::PIXEL_ID => <PIXEL_ID>,
  CustomConversionFields::PIXEL_RULE => array(
    'url' => array('i_contains' => 'thank-you.html'),
  ),
  CustomConversionFields::CUSTOM_EVENT_TYPE => 'PURCHASE',
));
$custom_conversion->create();
from facebookads.adobjects.customconversion import CustomConversion

    custom_conversion = CustomConversion(parent_id='act_<AD_ACCOUNT_ID>')
    custom_conversion.update({
        CustomConversion.Field.name: 'Example Custom Conversion',
        CustomConversion.Field.pixel_id: <PIXEL_ID>,
        CustomConversion.Field.pixel_rule: {
            'url': {'i_contains': 'thankyou.html'},
        },
        CustomConversion.Field.custom_event_type: 'PURCHASE',
    })

    custom_conversion.remote_create()
curl \
  -F 'name=Example Custom conversion' \
  -F 'pixel_id=<PIXEL_ID>' \
  -F 'pixel_rule={"url":{"i_contains":"thank-you.html"}}' \
  -F 'custom_event_type=PURCHASE' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.8/act_<AD_ACCOUNT_ID>/customconversions

その後、目的としてCONVERSIONSを使用してキャンペーンを作成できます。

広告セットレベルで、同じカスタムコンバージョン(pixel_idpixel_rulecustom_event_type)をpromoted_objectに指定します。

カスタムコンバージョンのインサイト

広告インサイトは、カスタムコンバージョンに関する情報を返します。

curl -i -G \
-d 'fields=actions,action_values' \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v2.7/<AD_ID>/insights

標準コンバージョンとカスタムコンバージョンの両方が返されます。

{
  "data": [
    {
      "actions": [
        {
          "action_type": "offsite_conversion.custom.17067367629523",
          "value": 1225
        },
        {
          "action_type": "offsite_conversion.fb_pixel_purchase",
          "value": 205
        }
      ],
      "action_values": [
        {
          "action_type": "offsite_conversion.custom.1706736762929507",
          "value": 29390.89
        },
        {
          "action_type": "offsite_conversion.fb_pixel_purchase",
          "value": 29390.89
        }
      ],
      "date_start": "2016-07-28",
      "date_stop": "2016-08-26"
    }
  ],
  "paging": {
    "cursors": {
      "before": "MAZDZD",
      "after": "MjQZD"
    },
    "next": "https://graph.facebook.com/v2.7/<AD_ID>/insights?access_token=<ACCESS_TOKEN>&amp;pretty=0&amp;fields=actions%2Caction_values&amp;date_preset=last_30_days&amp;level=adset&amp;limit=25&amp;after=MjQZD"
  }
}

カスタムコンバージョンには一意のIDがあり、そのIDをクエリして特定のコンバージョン(ルールベースのコンバージョンなど)を検索できます。

curl -i -G \
-d 'fields=name,pixel,pixel_aggregation_rule' \
-d 'access_token=ACCESS-TOKEN' \
https://graph.facebook.com/v2.7/<CUSTOM_CONVERSION_ID>

カスタムコンバージョンの制限

広告アカウント当たりのカスタムコンバージョンの最大数は100です。広告インサイトAPIを使用してカスタムコンバージョンの指標を取得する場合は、次の制限があります。

  • 商品ID別の内訳の取得はサポートされていません。
  • ユニークアクション数の取得はサポートされていません。

オフサイトコンバージョンのトラッキング

広告のtracking_specパラメーターにfb_pixelフィールドを追加することにより、ピクセルでオフサイトコンバージョンをトラッキングします。詳しくはこちらをご覧ください。

use FacebookAds\Object\Ad;
use FacebookAds\Object\Fields\AdFields;

$ad = new Ad(null, 'act_<AD_ACCOUNT_ID>');
$ad->setData(array(
  AdFields::ADSET_ID => <AD_SET_ID>,
  AdFields::CREATIVE => array(
    'creative_id' => <CREATIVE_ID>,
  ),
  AdFields::NAME => 'Offsite Conversions Ad',
  AdFields::TRACKING_SPECS => array(array(
    'action.type' => 'offsite_conversion',
    'fb_pixel' => <PIXEL_ID>,
  )),
));

$ad->create();
from facebookads.adobjects.ad import Ad

ad = Ad(parent_id='act_<AD_ACCOUNT_ID>')
ad.update({
    Ad.Field.adset_id: <AD_SET_ID>,
    Ad.Field.name: 'Offsite Conversions Ad',
    Ad.Field.creative: {
        'creative_id': <CREATIVE_ID>,
    },
    Ad.Field.tracking_specs: [
        {
            'action.type': 'offsite_conversion',
            'fb_pixel': <PIXEL_ID>,
        },
    ],
})
ad.remote_create(params={
    'status': Ad.Status.paused,
})
Ad ad = new AdAccount(act_<AD_ACCOUNT_ID>, context).createAd()
  .setAdsetId(<AD_SET_ID>)
  .setCreative(
    new AdCreative()
      .setFieldId(<CREATIVE_ID>)
  )
  .setName("Offsite Conversions Ad")
  .setTrackingSpecs("{\"action.type\":\"offsite_conversion\",\"fb_pixel\":\"" + <PIXEL_ID> + "\"}")
  .execute();
String ad_id = ad.getId();
curl \
  -F 'adset_id=<AD_SET_ID>' \
  -F 'creative={"creative_id":"<CREATIVE_ID>"}' \
  -F 'name=Offsite Conversions Ad' \
  -F 'tracking_specs=[{"action.type":"offsite_conversion","fb_pixel":"<PIXEL_ID>"}]' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/act_<AD_ACCOUNT_ID>/ads

パラメーター

パラメーターは、JSON形式の任意のオブジェクトであり、標準イベントとカスタムイベントをトラッキングするときに含めることができます。パラメーターを使用することで、ウェブサイト訪問者のアクションに関する追加情報を提供することができます。一度トラッキングすると、パラメーターを使用して、作成するカスタムオーディエンスをより細かく定義できるようになります。パラメーターについて詳しくは、Blueprintをご確認ください。

標準イベントまたはカスタムイベントがあるパラメーターオブジェクトを含めるには、JSONを使ってパラメーターデータをオブジェクトとしてフォーマットし、fbq('track')またはfbq('trackCustom')関数を呼び出すときに3番目の関数パラメーターとして組み込みます。

例えば、プロモーションの結果として複数の商品を購入した訪問者をトラッキングしたい場合があります。その場合は次のようにします。

fbq('track', 'Purchase',
  // begin parameter object data
  {
    value: 115.00,
    currency: 'USD',
    contents: [
      {
        id: '301',
        quantity: 1
      },
      {
        id: '401',
        quantity: 2
      }],
    content_type: 'product'
  }
  // end parameter object data
);

カスタムオーディエンスを定義するときにイベントパラメーターに含まれるデータを使用する場合は、キー値にスペースを含めないでください

オブジェクトのプロパティ

事前定義されている以下のオブジェクトプロパティは、どのカスタムイベントにも含められます。また、そのプロパティをサポートしている標準イベントにも含めることができます。JSONを使ってパラメーターのオブジェクトデータをフォーマットします。

プロパティキー値のタイプパラメーターの説明

content_category

文字列

ページまたは商品のカテゴリ

content_ids

整数または文字列の配列

SKUなどのイベントに関連付けられた商品ID。例: ['ABC123', 'XYZ789']

content_name

文字列

ページ/商品の名前。

content_type

文字列

渡されるcontent_idsまたはcontentsに応じて、この値はproductまたはproduct_groupになります。content_idsまたはcontentsパラメーターに指定して渡されるIDが商品のIDである場合、この値はproductになります。商品グループのIDが渡される場合、この値はproduct_groupになります。

contents

オブジェクトの配列

イベントに関連付けられたEAN (International Article Number) (該当する場合)またはその他の商品やコンテンツID、および商品の数量と価格を含むJSONオブジェクトの配列。必須: idおよびquantity

例: [{'id': 'ABC123', 'quantity': 2}, {'id': 'XYZ789', 'quantity': 2}]

currency

文字列

指定したvalueの通貨。

delivery_category

文字列

配信のカテゴリ。使用できる値は以下のとおりです。

  • in_store — 購入した商品の受け取りは、店舗内で行われます。
  • curbside — 購入した商品の受け取りは、駐車場で行われます(カーブサイドピックアップ)。
  • home_delivery — 購入した商品は、お客様の家まで配達されます。

num_items

整数

チェックアウトが開始されたときのアイテム数。InitiateCheckoutイベントで使用します。

predicted_ltv

整数、Float

広告主によって定義された登録者の予想顧客生涯価値。正確な値として表されます。

search_string

文字列

利用者が検索のために入力した文字列。Searchイベントで使用します。

status

ブーリアン

CompleteRegistrationイベントで使用します。登録のステータスを示します。

value

整数または浮動小数点

購入イベントや値の最適化を活用したイベントの場合に必須。イベントに関連付けられている数値。これは金額を表している必要があります。

カスタムプロパティ

事前定義されているオブジェクトプロパティで対応できない場合は、独自のカスタムプロパティを含めることができます。カスタムプロパティは、標準イベントとカスタムイベントの両方で使用でき、カスタムオーディエンスをより細かく定義できます。

例えば、まずほかの商品と比較してから、複数の商品を購入した利用者をトラッキングしたい場合があります。その場合は次のようにします。

fbq('track', 'Purchase',
  // begin parameter object data
  {
    value: 115.00,
    currency: 'USD',
    contents: [
      {
        id: '301',
        quantity: 1
      },
      {
        id: '401',
        quantity: 2
      }],
    content_type: 'product',
    compared_product: 'recommended-banner-shoes',  // custom property
    delivery_category: 'in_store'
  }
  // end parameter object data
);

次のステップ

コンバージョンのトラッキングに合わせて、カスタムオーディエンスを定義することをおすすめします。そうすることで、ウェブサイトコンバージョンに応じて広告を最適化できます。

詳しくはこちら

  • コンバージョントラッキングについて詳しくは、Blueprintをご確認ください。