Webマーケティングはあらゆる事業者にとって当たり前なものになり、様々なツールやプラットフォームなどが進化した今では、Webに関する技術的な知識を持たない方でも誰でもWebマーケティング施策を自らの手で実行できるようになりました。技術知識がなくとも、商品企画や販売促進などのスキルとセンスがあれば誰でも商品を売ることができるのは素晴らしいことですが、反面、技術識が全くないために起こしてしまう事故もあります。
技術知識がほんの少しでもあれば防げることもある、そんな問題のうちの一つであるURLクエリパラメータについて今回は書きます。
技術に詳しい人は読んでも得るものありませんのでどうぞ #JADEの日常 でもご覧ください。
URLクエリパラメータとは
例えば次の中では、
https://ja.dev/?hogehoge=1234
?hogehoge=1234 にあたる部分です。
hogehoge がパラメータで、1234が値です。
複数ある場合もあり、次の中には、
https://ja.dev/?hogehoge=1234&fugafuga=5678
hogehoge=1234 と fugafuga=5678 の2つがある、ということになります。
パラメータという言葉は、マーケティング、広告文脈ではよく utm_source や gclid といったような、アクセス解析や広告のトラッキングなどのために使われる言葉として聞くことが多いですが、パラメータは解析のためにだけにあるのではなく、Webサイトの表示にも使われることがあります。
また、URLはWebサイトの運用において様々なことに使われるとても重要な情報の一つです。
パラメータはなんとなくつけてはいけないですし、思いついたものを好きなようにつけてはいけません。
あらゆる影響範囲を想定してからでないとつけてはいけないものです。
解析のために様々なパラメータがつくことをあらかじめ作られているWebサイトも多いので事故が起きることも少ないですが、なんとなくつけたら重大な事故を起こすということもあります。
パラメータによって起きる事故例、問題例
URLを直接入力するとページは表示されるのに、配信した広告をクリックしたら404 Not Found になった
次のURLを開いても問題はなかったのに、
https://ja.dev/
次のURLになったらページが開けなかった、という問題です。
https://ja.dev/?gclid=hogehoge
Web広告はクリックされたら自動でつくパラメータや、クリックされたらつく任意のパラメータを手動で設定しておくことができるものがあります。
URLクエリパラメータをページの表示内容に使っているWebサイトや、予期せぬ文字列があると正常に動作しないWebサイトなどでこのような問題が起きることがあります。
Web広告によって付与される様々なパラメータを想定して作られているWebサイトは多いのでそう多く起きる問題ではないですが、仕様をしっかり理解していないWebサイトでは注意したい問題です。
広告のトラッキングのためのパラメータがついたら表示されないようでは広告プロモーションができないので、Webサイトの仕様を改修するべきことにはなります。
アクセス解析レポートの処理に支障が出た
Web技術というには少し違いますがアクセス解析には影響が直接的に起きやすいことは誰にも想像しやすいかと思います。
例えば次のようなレポートが、
ページ | ページビュー |
---|---|
https://ja.dev/ | 100 |
極端な例としては、次のようになり、本来1つのURLに集約されるべきページビューが分散してしまいます。
ページ | ページビュー |
---|---|
https://ja.dev/ | 1 |
https://ja.dev/?hogehoge=1234 | 1 |
https://ja.dev/?hogehoge=5678 | 1 |
(以下、合計100行) |
また、URLの文字列を条件にグルーピングして解析している場合次のような問題も起きます。
例えば次のようだったところ、
ページグループ | 条件 | ページビュー |
---|---|---|
support ページ | support の文字を含むURL | 1000 |
brand ページ | brand の文字を含むURL | 1000 |
その他 | どの条件にも合致しない | 100 |
?utm_campaign=brand_term というパラメータが発生したら、こうなるかも知れません。
ページグループ | 条件 | ページビュー |
---|---|---|
support ページ | support の文字を含むURL | 1000 |
brand ページ | brand の文字を含むURL | 1100 |
その他 | どの条件にも合致しない | 0 |
前者の問題はパラメータをレポートに表示させないよう処理する、後者の問題はパラメータと値の情報は参照しない定義付けをするといった対応で問題を回避する必要があります。予めパラメータがつくことを想定して処理しておけるとよいですが、すべてを想定しておくことも難しいですし、新たなパラメータをつけるときはレポートのどこかに影響が出ないか、注意したいところです。
検索エンジンにインデックスされてしまった
このURLと、
https://ja.dev/
このURLは
https://ja.dev/?hogehoge=1234
同じコンテンツを表示しますが、URLとしては2つ存在することになります。
検索エンジンで検索すると、検索結果には前者が検索結果として表示されてほしいものですが、後者が表示される可能性もあります。
utmやgclid、yclid、fbclidなど、多くの広告メディアや解析ツールなどで使われているために検索エンジンが認識しやすいパラメータもあり、これらについては何も対応せずとも広告や解析のためのパラメータであるとみなされて処理されることも多いですが、これらのパラメータがついたURLでもインデックスされることは稀にあり、やはりどんなパラメータでも何もせずに上手く処理してもらえると安心できるものではありません。
これを回避するための対応として正規のURLを指し示しておくべきで、基本的には rel="canonical" link タグ を書いておくべきです。
トラッキングのためのパラメータをつけるなら canonical は必須 と考えておくべきです。
ちなみにGoogle 以外の検索エンジンでは、Googleでは問題ないとされる正規化の対応を行なったとしても適切に処理されるとは限らない場合もあります。正規化の対応をすればいいというものではなく、正規化の対応が必要となってしまうようなことは極力避けるべき、なので使うか使わないかわからないようなパラメータをつけるのは慎重に考えましょう。
GTMで設定していたタグが配信されなくなった
GTMを使うということは広告や解析のタグを配信するためであって、広告や解析をするということはもともとパラメータがつく前提でトリガーを設定しているでしょうから、パラメータをつけたらトリガーが動作しなくなった、というような問題は多くはないだろうとは思います。
しかし、例えば utm_source=google という文字列をトリガーの条件として使っていたとして、Google 広告にはutmが不要となったために外したらこのトリガーにはヒットしなくなった、ということは考えられます。どちらかというとパラメータを外すときのほうが問題が起きそうです。
GTMの設定の内容のすべてを把握していないようであれば、影響がないか改めて確認はしたほうがいいでしょう。
トラッキング目的でパラメータをつけるときにチェックすること
新たな計測用パラメータをつけるときは主に次のことを確認しましょう。
確認範囲の概要 | 確認すること |
---|---|
Webサイトの動作、表示への影響はないか | Webページは問題なく開けるか パラメータの順番を変えても問題ないか |
解析レポートへの影響はないか | レポートからパラメータを除外したほうがいいか URLの文字列を使って処理しているレポートがあるか |
検索エンジン向けに問題はないか | canonical は書かれているか URLの正規化は正しく対応されているか |
タグマネージャで配信するタグの設定に影響はないか | パラメータがあるとヒットするトリガーがあるか パラメータがあるとヒットしなくなるトリガーがあるか |
なおこの問題は外部からのリンクだけでなく、同一サイト内のリンクをトラッキングするときでも同様です。しかし、同一サイト内のリンクのクリックをトラッキングするには、URLクエリパラメータによるトラッキングではなく、クリックイベントによるトラッキングをするほうが望ましく、基本的にはサイト内リンクにURLクエリパラメータはつけないほうがいいと考えましょう。
Webマーケティングは多くの場合チームプレイであることを忘れないようにしたい
以上のようなことは、もともと想定したWebサイトの仕様にしておき、各担当者も様々なパラメータがつくことを連想しながら取り組めていればそうそう問題が起きることはありません。
しかし、広告やSNS、メルマガなど集客のプロモーションを担当している方が思いもよらないところで、生ログを分析している人がいて、その人が分析するために組んだロジックに影響を及ぼすかも知れませんし、問題はないにしてもURLをたくさん発生させることで手間は増やしているかも知れません。
使わないパラメータをとりあえずつけておいていいことなんて一切ありません。
制作する人、アクセス解析をする人、SEOをする人、広告担当の人、SNS担当の人、メルマガ担当の人、生ログ分析する人、Webマーケティングには様々な人が関わっていて、自分以外のメンバーが何のためのどんな作業をしているかというと把握できているかというと、そうとは限らないことが多いはずです。
あらゆる影響範囲を想定する技術知識がなくとも、問題を回避することはちょっとした心遣いで対応できます、「このパラメータをつけたいのですが、誰か何か問題起きますか?」と事前に聞けばいいだけです。
何に影響が出るかではなく、誰に影響を与えるかと考えると想像しやすいかも知れません。
社内外問わず、誰と一緒に仕事をしているかを忘れないようにしたいものです。