リファラーがドメイン名のみで困る
アフィリエイトにバリューコマースのリンクを貼っているブログページがあります。バリューコマースの『注文別レポート』に『リファラー』という項目があるのですが、空だったり、URLが表示されるんですが、URLの場合、ドメイン名までで、詳細なページのURLがフルパスで表示されていません。
ちなみに、リファラー(Referrer)は直訳すると「言及する人」や「紹介者」という意味ですが、アクセス解析の観点で言うとその意味は「参照元」となります。ユーザがあるWebページを訪れる際に経由したWebページの事、つまり、あるWebページに訪れる直前にどのWebページを見ていたかという「参照元」のページを指します。
何が売れたかは別としても、どのページで売り上げが発生しているのか?が知りたくていろいろ調べているうちに以下のページを発見しました。
どうやらブラウザ側でReferrerのURLが省略されているっぽいです。
私はてっきり、Valuecommerceの『ITPタグ』(リファラー取得タグ)に原因があると思って勘違いしていました。以下のバリューコマースのヘルプページにもリファラーの取得は『ブラウザによって制限される』という記載がありました。
バリューコマースのヘルプページ
これで解決できた!
<meta>タグで設定する方法
上記の参考ページにあった<meta>
タグをWEBページの<head>
内に入れれば取得できるようになりました。
<meta name="referrer" content="unsafe-url">
または
<meta name="referrer" content="no-referrer-when-downgrade">
複数行指定できるみたいです。ブラウザによって対応していない場合があるので、上記2つとも記載しておけば対応しているどちらかが適用されます。両方対応しているブラウザの場合、最後に記載したものが適用されるようです。なので、一番適用したい値を最後にしておけば良いのではないかと思われます。その挙動は試していません。
content=
についての説明は以下のページが参考になります。
数日後に注文別レポートを開いてみると、タグを埋め込んだ日以降にリファラーが取得できている報酬に関しては、参照元のページのURLがフルパスで表示されていました。
バリューコマース以外のアフィリエイトや、Google Analyticsなどのアクセス解析ツールで、リファラーが取得できていない場合、自分が使用しているツールの問題ではなく、閲覧者のブラウザなどの環境に原因があるのではないかと思います。
<a>タグで設定する方法
リンクに直接リファラーを送信する設定を加えたい場合は、<a>
タグのにrel="no-referrer-when-downgrade
"を加えることでリファラーを送信することができます。
<a href="https://qwerty.work/" rel="no-referrer-when-downgrade">Qwerty.Work</a>
複数指定する場合は『カンマで区切ればいい』と言った記載を見ました。試していませんが、例えば、<a href="https://qwerty.work/" rel="no-referrer-when-downgrade,unsafe-url">
みたいにすると、ブラウザが対応しているものみ適用してくれるかもしれません。どちらも対応している場合の優先順位はわかりません。
以下のページを参考にさせていただきました。
.htaccessで設定する方法
WEBサーバがApatchであれば.htaccessに以下を記述することで、サイト全体にリファラーを送信するように設定できます。
<IfModule mod_headers.c> Header set "Referrer-Policy" "no-referrer-when-downgrade" </IfModule>
複数指定したい場合、2行書くか、カンマで区切ればいいみたいです。また、指定した値がすべて対応していれば、最後に書いたものが適用されるみたいです。
以下のページを参考にさせていただきました。
nginxで設定する場合
Webサーバがnginxの場合、以下の行を設定ファイルに追加することで、Policy-Referrerを設定することができます。
add_header 'Referrer-Policy' 'no-referrer-when-downgrade';
以下のページを参考にさせていただきました。
Referrer-Policyの動作まとめ
値 | 同じ origin | 同じ scheme、http: → https: | https: → http: | 旧仕様の値 |
---|---|---|---|---|
no-referrer | 送信しない | 送信しない | 送信しない | never |
origin | origin のみ | origin のみ | origin のみ | |
no-referrer-when-downgrade | 送信する | 送信する | 送信しない | default |
origin-when-cross-origin | 送信する | origin のみ | origin のみ | |
unsafe-url | 送信する | 送信する | 送信する | always |
とにかくどういう条件であろうとリファラーを送信するのはunsafe-url
。ただしブラウザが対応していればの話で、その次に指定するとしたらno-referrer-when-downgrade
。それぞれ指定する値は条件によって挙動が細かく異なります。その違いは以下が参考になります。
レポートのリファラー欄が空白の場合に考えられること
バリューコマースの注文別レポートのリファラー欄に何も表示されていない場合は、以下の参考ページに記載の原因が考えられます。
しかし、ここに書いてあるような方法でページにアクセスしているとは考えられません。ほとんどのユーザーが検索してから辿り着いていると思っているので、閲覧者のブラウザが標準仕様でReferrerを完全にブロックしているのではないかと感じます。それが何のブラウザでどう対策すればいいのか知りたいところです。