analytics.jsのsocial hitはnetwork、action、targetを分けてソーシャルボタンを計測する
公開日: 執筆:佐藤
analytics.jsでソーシャルボタンを計測するなら、social hitへnetwork、action、targetを分けて送ります。どのサービスで、何が行われ、何が共有されたかを一つの文字列へ詰め込まないでください。
送信する場所も重要です。ボタンを押した瞬間ではなく、各social networkのJavaScriptが操作完了を通知するcallbackから送ります。clickと共有完了は、同じ出来事ではありません。
social hitは三つの値で操作を表す
analytics.jsのsocial hitには、次の三つが必要です。
| field | 表すもの | 仮の値 |
|---|---|---|
socialNetwork |
操作したnetwork | example-network |
socialAction |
行われた操作 | share |
socialTarget |
操作の対象 | https://example.com/guide/ |
説明用の仮例では、次の一行でsocial hitを送ります。
ga('send', 'social', 'example-network', 'share', 'https://example.com/guide/');
第一引数と第二引数のsend、socialは、social hitを送る命令です。その後の三つを、network、action、targetの順に渡します。順番を入れ替えると、レポートでも別の意味として記録されます。
clickではなく操作完了を送る
ソーシャルボタンのclickをDOMのeventだけで測ると、共有画面を開いたあとで中止した操作も数える場合があります。共有の完了を測りたいなら、各networkが提供するJavaScript APIの完了callbackからga()を呼びます。
次は処理の位置を示す説明用の疑似codeです。onShareCompleteは実在networkのAPI名ではありません。
onShareComplete(function (targetUrl) {
ga('send', 'social', 'example-network', 'share', targetUrl);
});
networkごとに、通知されるevent名、callbackの引数、buttonの読込方法は異なります。analytics.jsの一行だけを共通化し、完了を受け取る部分は各networkの開発資料で確認します。
ボタンの表示数、click数、共有完了数も分けます。表示しただけでsocial hitを送れば操作数ではなく表示数になり、clickで送れば完了前の関心を含みます。何を一件と数えるかを先に決めてください。
network、action、targetの命名を固定する
同じ操作をshare、shared、postのように書き分けると、レポートでは別のactionになります。実装前に命名表を作ります。
| button | network | action | target |
|---|---|---|---|
| 記事共有 | example-network |
share |
記事の代表URL |
| 商品共有 | example-network |
share |
商品の代表URL |
| 評価ボタン | another-network |
like |
評価対象の代表URL |
表の値は説明用です。実際のnetwork名とaction名は、設置するbuttonの仕様に合わせます。
socialTargetは通常URLを使いますが、任意の文字列も送れます。分析単位をページにするなら、計測用parameterや一時的なfragmentを含むURLではなく、同じ内容を同じ文字列へそろえます。URLの正本を決める担当とbuttonを実装する担当は、同じ値を共有してください。
Event TrackingとSocial Interactionsを用途で分ける
Event Trackingは、PDF download、外部link、動画操作など、一般的なサイト内操作を測れます。Social Interactionsは、social network上のactionをnetwork間で同じ三項目にそろえるための仕組みです。
| 測る操作 | 選ぶhit | 理由 |
|---|---|---|
| PDF download | event | social networkの操作ではない |
| 外部linkのclick | event | link操作そのものを測る |
| 共有完了 | social | network、action、targetで比べる |
同じ共有完了をeventとsocialの両方へ送り、二つを合計してはいけません。既存のevent計測がある場合は、何を残し、何をsocial hitへ移すかを一覧にします。
一つのbuttonと一つのtargetから確認する
複数networkを一度に実装すると、callbackの違いと命名の違いが混ざります。最初にbuttonを一つ選び、次の順で確認します。
- 完了callbackが実行されることを確認する。
- network、action、targetを画面上へ一時表示して確認する。
- 同じ値を
ga('send', 'social', ...)へ渡す。 - Google Analyticsで三項目が意図した値へ分かれたか確認する。
- 中止した操作が完了として送られていないか確認する。
Google Analyticsのpropertyとsocial networkのapp設定は、制作会社の所有物にしません。実装を委託する場合も、account、計測仕様、命名表、確認結果を事業者側へ残します。
最初の一手は、計測するbuttonを一つ選び、network、action、target、送信するcallbackを一行の表へ書くことです。codeを書く前に、clickを測るのか共有完了を測るのかを決めてください。
関連記事

