コンバージョン・イベント属性が正しく取得できない
コンバージョン/イベントが計測できているにも関わらず、コンバージョン・イベント属性が正しく取得できない場合は、主に以下のような原因が考えられます。
※「全く取得できない場合」、および「一部のコンバージョン/イベントだけで計測できない場合」の両方について扱っています
コンバージョン・イベント属性の欄が空欄になる場合
ユーザ一覧画面において、取得したいコンバージョン・イベント属性が空欄になってしまっている場合、単純にコンバージョン・イベント属性値の取得設定が欠如しているか、または問題のコンバージョン発生時に USERGRAM が空の値を受け取っていることが考えられます。
具体的には、以下のような状態になっていないかを確認してください。
1) 計測タグを設置後、コンバージョン・イベント属性を埋め込む処理を実装していない
USERGRAM でコンバージョン・イベント属性を取得するためには、計測タグをそのまま設置するだけではなく、取得したい値を埋め込むために 貴社サーバで追加の実装を行う必要があります。
これら実装が行われていない場合、値が空のまま計測されてしまう場合があります。その場合は、こちらのページからマニュアル「【USERGRAM】計測タグの設置と動作確認方法.pdf」をダウンロードし、作業の詳細を確認の上でご対応ください。
2) 計測タグに、取得したいコンバージョン・イベント属性の記述が無い
計測タグに期待するコンバージョン・イベント属性を取得するための記述が含まれていない場合、その計測タグへとコンバージョン・イベント属性を埋め込む実装を行うことが出来ませんから、 1) と同じ理由から値は空のまま計測されることになります。
この場合は、USERGRAM の管理画面から、 必要なコンバージョン・イベント属性にチェックを入れたうえで該当のコンバージョンタグ/イベントタグを取り出し直し、設置をし直してください。 その後、 1) と同様に 貴社サーバ上の実装が必要です。
※コンバージョン・イベント属性なしで計測タグを設置した後、追加でコンバージョン・イベント属性の計測を始めたい場合は、安全のために計測タグの一部を書き換えるのではなく、タグ全体を上記の手順で取り出し直してください
3) 貴社サーバから空の値が渡されている
USERGRAM の計測タグは、埋め込まれた値をそのまま計測しますので、空の値が渡された場合はそのまま空の値が記録されます。
貴社サーバの処理に問題があり、コンバージョン・イベント属性の埋め込み時に空の値を出力してしまう場合が存在しないかを確認してください。
4) 属性値の合計文字数が約 500 文字を超えている
USERGRAM 内部システムの仕様上、属性値の文字数が合計で約 500 文字を超えるコンバージョン/イベントデータが送信されると、属性値が保存できる上限を超えてしまい、送信されたすべての属性値が無効となってしまう場合があります。
上限に近い文字数を送信してしまっている場合は、埋め込む値の一部を省略する等して、上限に達しないような調整を行ってください。
5) タグの変更不可部分を変更している
コンバージョン・イベント属性の埋め込みを行う際は、取り出した計測タグ内の「●●●●」の部分をコンバージョン・イベント属性の値で置き換えていただく必要がございますが、その他の部分に変更を加える必要はございません。
例えば、属性を格納する配列の key 名 (prop1, prop2, …) を書き換えてしまいますと、属性値が正しく取得できなくなりますので、「●●●●」以外の部分は変更しないようご注意ください。
6) 対象のコンバージョン・イベント属性の計測が停止中である
コンバージョン・イベント属性の実装自体が正しかったとしても、対象のコンバージョン・イベント属性の計測が停止中ですと計測が行われません。
計測を再開したい場合は こちら の手順を参考に計測再開してください。
7) タグマネージャの設定が正しく出来ていない
タグマネージャーを使用して USERGRAM の計測タグを配信している場合、計測タグへとコンバージョン・イベント属性値を直接埋め込むことが出来ないため、タグマネージャーの設定を介した埋め込みが必要となります。そのため、仮に貴社サーバからの値が正しく吐き出されていても、タグマネージャー上の設定が出来てないと値は空のまま記録されてしまう場合があり得ます。
タグマネージャーの設定に関しては、弊社では詳細のサポートは出来かねますが、Google タグマネージャでの設定例については、 こちらのページで提供している両タグマネージャー用の簡易マニュアルに設定例の記載がありますので、必要に応じてご参照の上で設定を行ってください。
8) 下記「”undefined”という値が取得される場合」のいずれかに該当する
コンバージョン・イベント属性の欄が空欄になる場合の要因としまして、実装次第では、下記でご案内している「”undefined”という値が取得される場合」のいずれかによって引き起こる場合もございます。
特にタグマネージャーをご利用になっているときには、「”undefined”という値が取得される場合」の各項目もご確認いただくとよいかと存じます。
”undefined”という値が取得される場合
空欄ではなく、 “undefined”という値が取得されてしまう場合、これは JavaScript のソースコード上で、定義されていない変数を参照した場合のエラーと思われます。
そのため、計測タグへの属性値の埋め込みに JavaScript を使用している、あるいはタグマネージャーを介して JavaScript 変数を参照している場合に、それらの実装が正しく行えてない可能性が考えられます。
具体的には、以下のような状態になっていないかを確認してください。
1) 貴社サーバの実装で、必要な JavaScript 変数を出力していない (場合がある)
計測タグやタグマネージャーから JavaScript 変数を参照する設定が正しくても、その 参照先の変数を貴社サーバが出力していない場合、未定義の変数への参照となって “undefined” が記録されてしまいます。
特に、貴社サーバ上で「全く実装が行われていない」場合だけでなく、「条件によっては、変数が出力されない」ような場合が無いかについては、よく注意してください。
2) 定義している変数名と、それを参照している変数名が異なっている
計測タグやタグマネージャーから JavaScript 変数を参照する実装と、貴社サーバからの変数を出力する実装と、両者が適切に行われていても、互いの変数名が一致しない場合、未定義の変数への参照となって “undefined” が記録されてしまいます。
変数名の「細かな綴り」「大文字小文字」等がきちんと一致しているか、改めて確認してください。
3) 参照する JavaScript 変数が、計測タグの設置・配信よりも後に定義されている
通常、 HTML 文書とそこに含まれる JavaScript コードは上から順番に実行されていくため、もしも計測タグ、あるいは計測タグを配信するためのタグマネージャーのコンテナタグが上に、計測したいコンバージョン・イベント属性の変数定義が下に存在してしまうと、「計測タグの発火時には、まだコンバージョン・イベント属性の変数が存在しない」という状態になり、結果として “undefined” が記録されてしまうことになります。
特にタグマネージャーを使用している場合、一般にタグマネージャー自身の実行タイミングは非同期となるため、「時々コンバージョン・イベント属性が取得できる (変数の定義後のタイミングで計測タグが配信される) が、 undefined で取得される場合 (変数の定義が終わる前に計測タグが配信される) もある」という現象が発生することもあります。
必ず、計測タグが実行されるよりも前に参照先の JavaScript 変数が定義されるようにしてください。
4) お客様実装の JavaScript の処理に異常が存在する
その他、何らかの複雑なお客様実装の JavaScript コードを経由してコンバージョン・イベント属性を取得している場合、そのコードの途中で異常が存在することで、最終的な結果が “undefined” になってしまう場合があり得ます。
そういった実装をしている場合、改めてコードに異常が無いかを確認してください。
”●●●●” という値が取得される場合
USERGRAM でコンバージョン・イベント属性を取得するためには、計測タグをそのまま設置するだけではなく、取得したい値を埋め込むために貴社サーバで追加の実装を行う必要があります。
これらの実装を行わないまま設置している場合は、値の埋め込み場所を示す「●●●●」という文字列がそのまま属性値として記録されてしまいます。
その場合は、こちらのページからマニュアル「【USERGRAM】計測タグの設置と動作確認方法.pdf」をダウンロードし、作業の詳細を確認の上でご対応ください。
上記以外の文字列が固定で取得される場合
それ以外のなんらかの文字列が出力される場合は、貴社サーバ側での埋め込み実装に失敗した結果、エラー値や意図しない値がコンバージョン・イベント属性値として記録されている可能性があります。
主には次のような例がありますが、他にも何かサーバ上での処理に問題が無いかを総合的に確認してください。
- JavaScript 変数を参照するとき、
variableName
と書くべきところを、"variableName"
'variableName'
とクォートで囲んでしまっている - 貴社サーバでのテンプレート処理がうまくいかず、
{$variable}
や%variable%
のようなサーバ上で動作するはずのテンプレート書式がそのまま記録されてしまっている