この記事では、URL構文を使用して、ページのタグ付けでルールを作成する方法について説明します。また、ページのタグ付けルールの編集方法の例とガイダンスが含まれています。ページのタグ付けの概要については、Adoptでのページのタグ付けと表示を参照してください。
URL構文
Pendoは標準的なウェブURL構文ルールに従って、ページにタグ付けを行います。URLは複数の部分で構成されています。URLの主要部分は、通信プロトコル、サブドメイン、ドメインもしくはホスト名、およびパスから成ります。たとえば、URL「https://www.example.com/category/user/profile.html
」は、次のように構成されています。
URL構文 | 説明 |
https:// |
ブラウザがウェブサイトにアクセスするために使用する必要がある通信プロトコルまたはスキーム。 |
www. |
サブドメイン。これはドメインを共有するウェブサイトのさまざまな部分をグループ化したものです。これは、www. である必要はありません。たとえば、https://app.example.com のようにapp. とすることも可能です。 |
example.com |
ドメイン名。これはセカンドレベルドメイン( Pendoはデフォルトでワイルドカード( |
/category/user/profile.html |
ウェブサーバー上のリソースへのパス。ドメインの後にあるものはすべてパスです。これは、ドメイン内の特定のコンテンツやフォルダを識別するものです。以下に例を示します。
ほとんどの場合、パスは大文字と小文字が区別されます。このため、Pendoではタグ付けされたページのケース構文を取り込むことをお勧めします。 |
URLはこれより複雑な場合もあれば、そうでない場合もあります。以下の例を参照してください。
フラグメントの例
フラグメントは、ウェブページ内のセクションを参照する内部ページ参照で、名前付きアンカーと呼ばれることもあります。通常、フラグメントはURLの末尾に表示され、ハッシュタグ(#
)で始まり、その後に識別子が続きます。たとえば、URL https://www.example.com#someHeader
には、次の部分が含まれています。
-
https://
は通信プロトコル -
www.
はサブドメイン -
example.com
はドメイン -
#someHeader
はフラグメント
パスフラグメントの例
パスフラグメントとは、ウェブサイトのウェブフレームワーク技術のルーティングとして使用される内部ページ参照のことです。通常、パスフラグメントはURLの末尾に表示され、ハッシュタグ(#
)で始まり、その後に識別子が続きます。たとえば、URL https://www.example.com#products/widgets/12345
には、次の部分が含まれています。
-
https://
は通信プロトコル -
www.
はサブドメイン -
example.com
はドメイン -
#products/widgets/12345
はパスフラグメント
クエリパラメータの例
クエリパラメータは、URLの末尾で渡されるデータに基づいて、特定のコンテンツやアクションを定義します。通常、クエリパラメータはURLの末尾に表示され、疑問符(?
)で始まり、その後にクエリパラメータが続きます。たとえば、URL https://www.example.com?products=widgets
には、次の部分が含まれます。
-
https://
は通信プロトコル -
www.
はサブドメイン -
example.com
はドメイン -
?products=widgets
はクエリパラメータで、キーと値のペア
疑問符(?
)に続く文字列に複数のクエリパラメータがある場合、通常、キーと値のペアはアンパサンド(&
)で区切られます。例:?products=widgets&source=browser-search
パスフラグメントクエリパラメータの例
URLの末尾には、パス、フラグメント、クエリパラメータを組み合わせて記述することが可能です。たとえば、URL https://www.example.com/#products/widgets?item=12345
には、次の部分が含まれています。
-
https://
は通信プロトコル -
www.
はサブドメイン -
example.com
はドメイン -
#products=widgets
は、ウェブフレームワークのルーティングに使用されるパスフラグメント -
?item=12345
は、パスフラグメントのクエリパラメータで、キーと値のペア
URL構文の例
このセクションでは、ビジュアルデザインスタジオ(Visual Design Studio)でページにタグ付けする際に、ルールビルダー、もしくはカスタムURLオプションを使用してルールを作成する場合に使用できるステートメントと同等の構文の概要と例を示します。この2つのオプションについては、Adoptでのページのタグ付けと表示の記事を参照してください。
ルールビルダーのステートメントとURL構文
ビジュアルデザインスタジオ(Visual Design Studio)でページにタグ付けするためのルールビルダーオプションは、タグ付け用に入力したURLの一部にステートメントを適用するオプションを提供することによって、ルールを作成するのに役立ちます。このセクションでは、これらのステートメントについて説明します。
詳細 | 構文 | 説明 |
<Ignore> |
/*/ |
2つのスラッシュ内すべてを無視します。 |
<Ignore after> |
** |
2つのアスタリスクの後のURL内のすべてを無視します。 |
<Contains> |
~contains: |
後続の特定の文字列が含まれます。 |
search_params=_value |
?parameter= value |
パラメータが指定した値と一致する場合。 |
search_params=<anything> |
?parameter |
パラメータが任意の値と一致する場合。 |
カスタムURL構文の例
ビジュアルデザインスタジオでページのタグ付けに、カスタムURLオプションを使用すると、標準のURL構文を使用してページルールを作成できます。このセクションでは、この構文の例をご紹介します。詳細については、本記事のサポートされているURLのセクションを参照してください。
タイプの例 | カスタムURL | 一致する | 一致しない |
サブドメイン | //~contains:pendo.io/** |
および
|
https://www.insert.io/ |
クエリパラメータ |
//www.pendo.io/features?language=english |
|
https://www.pendo.io/features?language=french |
クエリパラメータ | //www.pendo.io/features?language |
および
|
サポートされているURL
次の表に、サポートされている標準のURL構文と例を示します。
説明 | 例 | |
標準URL | ウェブページの完全なアドレス。 | https://www.pendo.io/features/platform/index.html |
ワイルドカード(* ) |
URLに含まれる任意の数の文字と一致するようにするために使用されるシンボル。複数のワイルドカードを使用できます。 |
|
以降は無視(** ) |
2つのワイルドカードの後はすべて無視します。 | https://www.pendo.io/features/platform/index.html/users/** |
フラグメント(# ) |
内部ページの参照。 |
https://domain.com/#page1 。ページルールでは、フラグメント(# )の後にワイルドカード(* )を使用することはできません。 |
パスフラグメント(# もしくは#! ) |
内部ページのルーティング。 |
https://domain.com/#documents/engineering/widgets 。パスフラグメントにワイルドカード(* )を使用できます。 |
含む(~contains: ) |
特定の文字列を含めます。 | https://www.pendo.io/features/platform/index.html/users/~contains:dashboard |
パラメータの存在を照会(? ) |
パラメータが存在するかどうかを照会します。 | https://pendo.io?mobile |
パラメータ値を照会(? および= ) |
パラメータの値を照会します。 | https://pendo.io?language=english |
複数のクエリパラメータ(? 、& 、および= ) |
複数のパラメータの存在と値を照会します。 | https://pendo.io?mobile&language=english |
Pendoはhttps://domain.com/#page1
とhttps://domain.com/#page2
の違いを認識します。ページルールhttps://*
は、両方のURLと一致します。URLがこのように構成されていて、https://domain.com
のみに対応するページルールが必要な場合は、ロケーションAPIについてのドキュメントを確認してください。
サポートされていないURL
以下の表は、サポートされていないURL構文と例を示します。
ページパラメータ(; の後、? または# の前のセクション) |
Pendoは、URLで動的に設定されたページパラメータをスキップします。 |
ページルール内のNOT のあらゆる形式 |
PendoはURL構文でNOT をサポートしていません。 |
クエリ(? )の後に含む(~contains: ) |
PendoはURL構文で |
* は、2つのスラッシュの間で文字列の全体を照合する場合にのみワイルドカードとして機能する |
たとえば、https://www.pendo.io/features はhttps://*/* と一致しますが、//*.pendo.io/features や//www.pendo.io/f*s とは一致しません。 |
* も~contains: も? の後では機能しない
|
ワイルドカードと「Contains」は文字通りに扱われます。 |
クエリパラメータの順序は、? の後では無視される
|
たとえば、https://www.pendo.io?first=one&second=two とhttps://www.pendo.io?second=two&first=one は、どちらもページルール//www.pendo.io?first=one&second=two と一致します。 |
URLの正規化
正規化により、URLをルールに一致した、一貫性と信頼性が高いフォーマットに変換します。具体的には、スペースに対して%20
や+
などの特別なルールを適用します。これは、URLでスペースが伝達される方法ごとに、複数のルールを作成する必要がないようにするためです。また、パスフラグメントに対しては、#
を#!
に正規化します。これは、フラグメントとパスフラグメントを区別するためのものです。
下の表は、元のURLがどのように正規化され、どのようなルールに一致するのかの例を示しています。
元のURL | 正規化済みURL | 一致ルール |
https://www.example.com/foo%20bar |
|
//*/foo%20bar |
https://www.example.com/foo+bar |
|
|
https://www.example.com/?query=foo%20bar |
|
|
https://www.example.com/#path/to/page/ |
|
|
https://domain.com/#documents/123/widgets |
|
|