Show Menu
トピック×

getValOnce

getValOnce プラグインは、特定の変数が以前に定義された値に設定されないようにします。これは、cookie を使用して変数の最後の表示値を判断します。現在の値が cookie の値と一致する場合、その変数はブランク文字列で上書きされた後でアドビの処理サーバーに送信されます。このプラグインは、ユーザーがページをリフレッシュした場合または「戻る」ボタンをクリックした場合に、コンバージョン変数のインスタンスが膨張するのを防ぐのに役立ちます。
このプラグインは、 JavaScript 版 AppMeasurement との互換性が検証されていません。 AppMeasurement プラグインのサポート を参照してください。
パラメーター
s.eVar1=s.getValOnce(variable,cookie,expiration,minute);

  • Variable: ​確認される変数です。これは通常、定義されている変数と同じです。
  • Cookie: ​比較対象である以前の値を保持する cookie の名前です。cookie は任意の値です。
  • (オプション) Expiration: cookie の有効期限が切れる日数です。設定されない、または 0 に設定された場合、デフォルトの有効期限はブラウザーのセッションとなります。
  • (オプション) Minute: ​これを文字列の値 m に設定すると、有効期限の値は日数ではなく分数で定義されます。設定しなかった場合、 days がデフォルトの有効期限になります。
プロパティ
  • このプラグインは一般にコンバージョン変数に使われます。ただし、任意の Analytics 変数で使用することができます。
  • JavaScript がこの関数に遭遇すると、定義された値と cookie に保存されている値とが比較されます。定義された値が cookie の値と異なる場合、定義された値が設定されます。定義された値が cookie の値と同じである場合、空白の文字列が返されます。
  • cookie は単一の値しか保存できません。つまり、プラグインは最後に定義された値しか見ることができません。
  • プラグインでは、変数が定義された後、すべての値で変数が定義されるのを防ぐわけではありません。プラグインは、前の値で連続して何度も設定されるのを防ぐだけです。
  • エンドユーザーが cookie をブロックまたは拒否した場合、元の値が常に返されます。
  • プラグインのセッションは、Analytics が定義するセッション(または訪問)とは異なります。Analytics は、12 時間の操作状態または 30 分間の無操作状態が続くとセッションを停止します。プラグインはブラウザーのセッション定義を使用するので、ユーザーがタブを閉じるかブラウザーを閉じた場合にのみセッションを停止します。
    • ユーザーがサイトのページを閉じた後、別のタブを開いて 30 分以内に再度サイトにアクセスすると、プラグインでは新たなセッションを作成しますが、Analytics の訪問は開いたままになります。
    • ユーザーがブラウザーウィンドウを開いたまま 30 分間リンクをクリックしなかった場合、Analytics の訪問は有効期限が切れますが、ブラウザーセッションは開いたままになります。
後述の説明では、実際のサイトに合わせてデータ収集コードを変更する必要があります。変更は、サイトでのデータ収集に影響が及ぶ可能性があるので、Analytics の使用と導入の経験がある開発者のみがおこなうようにしてください。

実装

組織でマーケティングチャネルを使用しており、 s.campaign を基にルールを設定している場合は、 s.campaign の値を設定する際に getValOnce プラグインを使用しないことをお勧めします。このプラグインを使用すると、二次的なキャンペーンのクリックスルーに間違ったチャネルが割り当てられる場合があります。
このプラグインを導入するには、次のコードを s_code.js ファイル内に置きます。
/******************************************************************** 
 * 
 * Main Plug-in code (should be in Plug-ins section) 
 * 
 *******************************************************************/ 
/* 
 * Plugin: getValOnce_v1.11 
 */ 
s.getValOnce=new Function("v","c","e","t","" 
+"var s=this,a=new Date,v=v?v:'',c=c?c:'s_gvo',e=e?e:0,i=t=='m'?6000" 
+"0:86400000,k=s.c_r(c);if(v){a.setTime(a.getTime()+e*i);s.c_w(c,v,e" 
+"==0?0:a);}return v==k?'':v");

上記のコートを導入した後、 getValOnce 関数を使用して目的の変数を定義します。次は導入のいくつかの例です。
cookie が設定されてから 30 日未満で重複する値が検知された場合に、同じキャンペーン値が定義されるのを防ぎます。 s.campaign=s.getValOnce(s.campaign,'s_cmp',30); cookie が設定されてから 30 分以内に重複する値が検出された場合、同じ eVar1 値が定義されるのを防ぎます。 s.eVar1=s.getValOnce(s.eVar1,'s_ev1',30,'m'); 同じブラウザーセッションで同じ eVar2 値が複数回定義されるのを防ぎます。 s.eVar2=s.getValOnce(s.eVar2,'s_ev2'); メモ
  • 必ず、プラグインでデータの収集が希望どおりに実行されることを十分にテストし確認してから、実稼動環境に実装してください。
  • テストでは cookie を削除するか、新しい固有値を使用してください。そうでないと、変数が送信されません。