リダイレクトとエイリアス

リダイレクトとは、ユーザーの介入なしでブラウザーを新しい場所に転送することです。リダイレクトは Web ブラウザー(クライアントサイドのリダイレクト)または Web サーバー(サーバーサイドのリダイレクト)で実行されます。

リダイレクトとエイリアス

リダイレクトとは、ユーザーの介入なしでブラウザーを新しい場所に転送することです。リダイレクトは Web ブラウザー(クライアントサイドのリダイレクト)または Web サーバー(サーバーサイドのリダイレクト)で実行されます。

リダイレクトにはユーザーの介入が不要なので、多くの場合、実行の際にユーザーに通知されることはありません。リダイレクトがおこなわれたかどうかを判断する唯一の方法は、ブラウザーのアドレスバーを確認することです。アドレスバーには、ブラウザーが最初に要求したリンクとは異なる URL が表示されます。

リダイレクトのタイプは 2 つのみですが、実装方法は様々です。例えば、ユーザーがブラウザーの転送先として指定した Web ページに、ブラウザーを別の URL にリダイレクトするスクリプトや特殊な HTML コードが含まれている場合は、クライアントサイドのリダイレクトをおこなうことができます。サーバーサイドのスクリプトがページに含まれている場合や、ユーザーを別の URL に転送するように Web サーバーが設定されている場合は、サーバーサイドのリダイレクトをおこなうことができます。

Analytics とリダイレクト

Analytics では、一部のデータをブラウザーから収集し、特定のブラウザープロパティを使用します。これらのプロパティのうちの 2 つである「参照 URL」(リファラー)と「現在の URL」は、サーバーサイドのリダイレクトによって変更できます。ブラウザーは、ある URL が要求されたにもかかわらず別の URL が返されたことを認識しているので、参照 URL をクリアします。結果として参照 URL は空白になり、Analytics では、ページのリファラーが存在しないと報告される場合があります。

例:リダイレクトを使用しない場合のブラウザーでの表示

次に示す仮定のシナリオについて検討してください。このシナリオでは、ユーザーがリダイレクトされることはありません。

  1. ユーザーがブラウザーで www.google.com を参照し、検索フィールドに「discount airline tickets」と入力して、「検索」ボタンをクリックします。
  2. サイト https://www.example.com/ へのリンクを含む検索結果がブラウザーに表示されます。検索結果が表示された後、ブラウザーのアドレスバーには、ユーザーが検索フィールドに入力した検索語句が表示されます(https://www.google.com/search?hl=en&ie=UTF-8&q=discount+airline+tickets)。検索語句は、https://www.google.com/search? の後に続く URL クエリー文字列パラメーターに含まれます。
  3. ユーザーが仮想サイト https://www.example.com/ へのリンクをクリックします。ユーザーがこのリンクをクリックして Web サイト example.com を参照すると、Analytics では JavaScript を使用して参照 URL(https://www.google.com/search?hl=en&ie=UTF-8&q=discount+airline+tickets)および現在の URL(https://www.example.com/)を収集します。
  4. Analytics は、この処理で収集した情報を様々なレポート(参照ドメイン、検索エンジン、Search Keywords)で報告します。

例:リダイレクトを使用する場合のブラウザーでの表示

リダイレクトを使用すると、ブラウザーで実際の参照 URL を空白にすることができます。次のシナリオについて検討してください。

  1. ユーザーがブラウザーで https://www.google.com を参照し、検索フィールドに「discount airline tickets」と入力して、「検索」ボタンをクリックします。
  2. ブラウザーウィンドウのアドレスバーには、ユーザーが検索フィールドに入力した検索語句が表示されます(https://www.google.com/search?hl=en&ie=UTF-8&q=discount+airline+tickets)。検索語句は、https://www.google.com/search? の後に続く URL クエリー文字列パラメーターに含まれます。また、ブラウザーには、いずれかのドメイン名へのリンク (https://www.flytohawaiiforfree.com/) が記載された検索結果を含むページが表示されます。この「バニティ」ドメインは、ユーザーを https://www.example.com/ にリダイレクトするように設定されます。
  3. ユーザーがリンク https://www.flytohawaiiforfree.com/ をクリックすると、サーバーによってメインサイト https://www.example.com にリダイレクトされます。このリダイレクトが発生すると、ブラウザーが参照 URL をクリアするので、Analytics のデータ収集にとって重要なデータが失われます。したがって、Analytics レポートで使用されるオリジナルの検索情報(参照ドメイン、検索エンジン、検索キーワードなど)が失われます。

リダイレクトの実装

リダイレクトから Analytics データを取り込むには、リダイレクトを生成するコードと JavaScript 版 ファイル用 AppMeasurement に、4 つの小規模な変更をおこなう必要があります。

以下の手順を実行すると、オリジナルリファラー(前述のシナリオでは https://www.google.com/search?hl=en&ie=UTF-8&q=discount+airline+tickets)からサイトに渡される情報が保持されます。

リファラーに優先する JavaScript コードの設定

以下のコードスニペットには、s_referrers_pageURL という 2 つの JavaScript 変数が含まれています。このコードは、リダイレクトの最終的なランディングページに配置します。

<script language="JavaScript" src="//INSERT-DOMAIN-AND-PATH-TO-CODE-HERE/AppMeasurement.js"></script> 
<script language="JavaScript"><!-- 
/* You may give each page an identifying name, server, and channel on 
the next lines. */ 
s.pageName="" 
s.server="" 
s.campaign="" 
s.referrer="" 
s.pageURL=""
重要

ページで 1 回だけ s.referrer を設定します。トラッキングコールごとに、またはトラッキングされるリンククリックごとに複数回設定すると、リファラーおよび関連するディメンション(検索エンジンとキーワードなど)が二重カウントされる原因になります。

getQueryParam を使用したリダイレクト

getQueryParam を使用すると Analytics 変数にクエリー文字列の値を容易に設定できますが、クエリー文字列が空の場合に正規のリファラーが上書きされないように、一時変数と共にそのプラグインを導入する必要があります。getQueryParam を使用する最善の方法は、次の擬似コードで説明するとおりに、getValue プラグインと組み合わせることです。

// AppMeasurement 1.x 
var tempVar=s.Util.getQueryParam('origref') 
if(tempVar) 
  s.referrer=tempVar;
// H Code 
var tempVar=s.getQueryParam('origref') 
if(tempVar) 
  s.referrer=tempVar;

リダイレクトのメカニズムの変更

ブラウザーによって参照元 URL が取り除かれるので、リダイレクトをおこなうメカニズム(Web サーバー、サーバーサイドのコード、クライアントサイドのコードなど)で、オリジナルリファラーの情報が渡されるように設定する必要があります。エイリアスリンクの URL も記録したい場合、この URL も最終的なランディングページに渡す必要があります。 s_pageURL 変数を使用して、現在の URL に優先させます。

リダイレクトの実装には多くの方法があるので、Web オペレーショングループやオンライン広告パートナーと協力して、貴社の Web サイトでリダイレクトが実行されるメカニズムを特定する必要があります。

オリジナルリファラーの取り込み

通常、Analytics はブラウザーの document.referrer プロパティから参照元 URL を取得し、document.location プロパティから現在の URL を取得します。referrer および pageURL 変数に値を渡すことで、デフォルトの処理を上書きできます。referrer 変数に値を渡すと、document.referrer プロパティのリファラー情報を無視し、指定した別の値を使用するよう Analytics に指示することになります。

したがって、「discount airline tickets」のシナリオで示される問題を修正するには、最終バージョンのランディングページに次のコードを含める必要があります。

<script language="JavaScript" src="https://INSERT-DOMAIN-AND-PATH-TO-CODE-HERE/AppMeasurement.js"></script> 
<script language="JavaScript"><!-- 
/* You may give each page an identifying name, server, and channel on 
the next lines. */ 
s.pageName="" 
s.server="" 
s.campaign="" 
s.referrer="https://www.google.com/search?hl=en&ie=UTF-8&q=discount+airline+tickets" 
// Setting the s.pageURL variable is optional.
s.pageURL="https://www.flytohawaiiforfree.com"

Adobe Debugger によるリファラーの確認

リファラー、発信元 URL(s_server)およびキャンペーン変数が取り込まれていることを確認するために、テストを実行します。

Experience Cloud デバッガーでは、これらの変数が次のパラメーターで表されます。

URL またはクエリー文字列の値 DigitalPulse Debugger に表示される値

オリジナルリファラー

https://www.google.com/search%3F hl%3Den %26ie%3DUTF826q%3 Ddiscount%2Bairline%2Btickets

r=https:/ref=www.google.com/search?hl=en&ie=UTF -8&q=discount+airline+tickets

ページ URL

https://www.flytohawaiiforfree.com

g=https://www.flytohawaiiforfree.com

pageURL 変数を使用している場合、この値は DigitalPulse Debugger に表示されます。

最終的なランディングページ URL

https://www.example.com

pageURL 変数を使用している場合、この値は DigitalPulse Debugger に表示されません。

デバッガーに表示されるテキストは次の例のようになります。

Image 
 
https://examplecom.112.2o7.net/b/ss/examplecom/1/JS-1.4/s61944015791667?[AQB] 
ndh=1 
t=4/8/2014 13:34:28 4 360 
pageName=Welcome to example.com 
r=https://ref=www.google.com/search?hl=en&ie=UTF-8&q=discount+airline+tickets 
cc=USD 
g=https://www.flytohawaiiforfree.com 
s=1280x1024 
c=32 
j=1.3 
v=Y 
k=Y 
bw=1029 
bh=716 
ct=lan 
hp=N 
[AQE]

これらの変数が Adobe Debugger に表示されていることを確認したら、検索語句および(リダイレクト前の)オリジナルの参照ドメインがレポートにトラフィックを登録していることを確認すると有用です。

このページ