Googleユニバーサルアナリティクス/カスタムキャンペーンを日本語で表示したい問題
GoogleアナリティクスでGoogleAdWords以外のプロモーションを効果測定するときに、誰もがぶち当たる
「カスタムキャンペーンを日本語で表示したい問題」
例に漏れなく、でぶててもぶち当たりました。
そして、どうにか回避できないかと思ったらできちゃった話です。
※ユニバーサルアナリティクスのコードを設定したアカウントが多重エンコードに非対応になったことがそもそもの原因。改悪。
- 対象:GAカスタムキャンペーンを日本語で見たい人、もしくはGTMが好きな人
- 材料:Googleタグマネージャ、ユニバーサルアナリティクス
- 費用:0円
<目次>
- GAカスタムキャンペーンって何?
- 本題)日本語で表記されるようにするには?
- キャンペーンパラメータを取得するマクロを作成
- デコードするマクロを作成
- ユニバーサルアナリティクスの設定調整
- 結果は・・・?
GAカスタムキャンペーンって何?
公式ページが何だかんだいって一番わかりやすいです。
その上で、いざ設定しようとすると「utm_~ が長いっ!何か嫌だ!」「他のパラメータ(クエリ)と揃えたい!」と欲もでてきます。GTMがあれば、対応可。
細かい説明や補足もありますが、それはまた別にまとめます(気が向いたら(オイ
本題)日本語で表記されるようにするには?
今回は、Yahoo!リスティング広告でパラメータをUTF-8で二重エンコードした場合と仮定。
カスタムキャンペーンのキャンペーンパラメータは、「utm_campaign」のままとします。
キャンペーンパラメータを取得するマクロを作成
キャンペーンパラメータの右辺(utm_campaign=××× の×××の部分)の文字列を取得します。
- マクロ名: 任意 ※例)query_parameter_campaign
- マクロのタイプ: URL
- コンポーネントのタイプ: クエリ
- クエリキー: utm_campaign
設定すると、こんな感じ。
デコードするマクロを作成
utm_campaignの右辺の文字列をデコードします。(今回は2回デコード)
- マクロ名: 任意 ※例)decondeURL
- マクロのタイプ: カスタムJavaScript
- カスタムJavaScript: 下記参照
function() { var str = {{query_parameter_campaign}}; //{{}}内には上で設定したマクロ名を入力する str = decodeURI(str); str = decodeURI(str); return str; }
設定すると、こんな感じ。
ユニバーサルアナリティクスの設定調整
ユニバーサルアナリティクスにデコードした文字列を渡す設定をすれば、完了!
場所は、タグ > ユニバーサルアナリティクス > 設定するフィールド
- フィールド名: campaignName
- 値: {{decodeURL}} ※デコードするマクロのマクロ名を入力
設定すると、こんな感じ。
結果は・・・?
これで、日本語化が【完了】です。
もともとクラシックアナリティクス(ユニバーサルアナリティクスの前のバージョン)では、URLの多重エンコードに対応していたが、ユニバーサルアナリティクスから対応しなくなったことが原因です(2回目)。GTMを使うことで回避できるので、使わない手はないでしょう。
※画像を載せようと思いましたが、クライアントさんのアカウントなのでやめました。
ストレス軽減に繋がりますかね?
GA側で自動デコードされる訳ではなく、GTM上に設置したjavascriptでデコードするので文字化けは起きにくいと思います。無理矢理感はあるので完璧ではないでしょう。それでも日本語で見られるほうがストレスは軽減されるはず。この記事で、読者の八つ当たりの回数が減ることを期待します。