リダイレクトとは、ユーザーの介入なしでブラウザーを新しい場所に転送することです。リダイレクトは Web ブラウザー(クライアントサイドのリダイレクト)または Web サーバー(サーバーサイドのリダイレクト)で実行されます。
リダイレクトとは、ユーザーの介入なしでブラウザーを新しい場所に転送することです。リダイレクトは Web ブラウザー(クライアントサイドのリダイレクト)または Web サーバー(サーバーサイドのリダイレクト)で実行されます。
リダイレクトにはユーザーの介入が不要なので、多くの場合、実行の際にユーザーに通知されることはありません。リダイレクトがおこなわれたかどうかを判断する唯一の方法は、ブラウザーのアドレスバーを確認することです。アドレスバーには、ブラウザーが最初に要求したリンクとは異なる URL が表示されます。
リダイレクトのタイプは 2 つのみですが、実装方法は様々です。例えば、ユーザーがブラウザーの転送先として指定した Web ページに、ブラウザーを別の URL にリダイレクトするスクリプトや特殊な HTML コードが含まれている場合は、クライアントサイドのリダイレクトをおこなうことができます。サーバーサイドのスクリプトがページに含まれている場合や、ユーザーを別の URL に転送するように Web サーバーが設定されている場合は、サーバーサイドのリダイレクトをおこなうことができます。
Analytics では、一部のデータをブラウザーから収集し、特定のブラウザープロパティを使用します。これらのプロパティのうちの 2 つである「参照 URL」(リファラー)と「現在の URL」は、サーバーサイドのリダイレクトによって変更できます。ブラウザーは、ある URL が要求されたにもかかわらず別の URL が返されたことを認識しているので、参照 URL をクリアします。結果として参照 URL は空白になり、Analytics では、ページのリファラーが存在しないと報告される場合があります。
次に示す仮定のシナリオについて検討してください。このシナリオでは、ユーザーがリダイレクトされることはありません。
www.google.com
を参照し、検索フィールドに「discount airline tickets」と入力して、「検索」ボタンをクリックします。https://www.google.com/search?hl=en&ie=UTF-8&q=discount+airline+tickets
)。検索語句は、https://www.google.com/search?
の後に続く URL クエリー文字列パラメーターに含まれます。https://www.google.com/search?hl=en&ie=UTF-8&q=discount+airline+tickets
)および現在の URL(https://www.example.com/
)を収集します。リダイレクトを使用すると、ブラウザーで実際の参照 URL を空白にすることができます。次のシナリオについて検討してください。
https://www.google.com
を参照し、検索フィールドに「discount airline tickets」と入力して、「検索」ボタンをクリックします。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/
にリダイレクトするように設定されます。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
)からサイトに渡される情報が保持されます。
以下のコードスニペットには、s_referrer
と s_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 を使用すると 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"
リファラー、発信元 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 に表示されていることを確認したら、検索語句および(リダイレクト前の)オリジナルの参照ドメインがレポートにトラフィックを登録していることを確認すると有用です。