ユースケース:APIを使用したページパラメータの分析

最終更新日:

URLをパラメータ化しておくと、対象となるパラメータ数が多い場合に時間を大幅に節約できます。またこれが、ページデータを分析できる唯一の現実的な選択肢になることもあります。

パラメータ化しておくと、PendoのUIを使用して、特定のページルールの上位100個のパラメータと、対応するページ閲覧数を表示できます。パラメータの数が100を超える場合も、弊社のアグリゲーションエンドポイントを使用すれば、全パラメータを表示できます。

この記事では、APIを使用してページパラメータを分析する方法を説明します。

要件

以下のガイドラインに進む前に、次のことを確認してください。

  • APIアクセスはPendoの契約に含まれています。ご不明な点があれば、Pendoの担当者までお問い合わせください。
  • Pendoのインテグレーションキーを保有していること。これはPendoのインストールスクリプトに表示されるキーではありません。また、管理者のみがインテグレーションキーを作成できます。Pendo Engageでインテグレーションキーを作成するには、[設定(Settings)]>[インテグレーション(Integrations)]>[インテグレーションキー(Integration Keys)]に移動し、[インテグレーションキーを追加(Add Integration Key)]を選択します。
  • [書き込みアクセスを許可(Allow Write Access)]を選択すれば、そのキーでPendoにデータを正しくプッシュできます。

ヒント:ページパラメータの概念をよくご存じない方は、ページのタグ付けを行うURLを確認されることをお勧めします。

ガイドライン

当社のアグリゲーションエンドポイントのPageEvents ソース(https://app.pendo.io/api/v1/aggregation)では、時間単位または日単位で集計されたさまざまなページパラメータの詳細を確認できます。

まず、[x-pendo-integration-key]の横にあるAPIコールの[ヘッダー(Headers)]セクションにインテグレーションキーを追加します。以下にPostmanを使用した例を示します。

Postman_Example.png

次に、求める成果に基づいてリクエストの本文を入力します。以下に例をいくつか示しますので、必要に応じてコピーしてお使いください。

特定のページや特定の期間のイベントを表示する

以下は、特定のページの前日のイベントをリクエストするコールの例です。ページIDは次のようなページURLで確認できます:https://app.pendo.io/s/SUBSCRIPTION-ID/pages/PAGE-ID

{
   "response": {},
   "request": {
       "name": "ExampleAggregation",
       "pipeline": [
          {
               "source": {
                   "pageEvents": {
                       "pageId": "ENTER PAGE ID"
                  },
                   "timeSeries": {
                       "period": "dayRange",
                       "first": "now()",
                       "count": -1
                  }
              }
          }
      ],
       "requestId": "ExampleAggregation"
  }
}

上記のコールに対する応答例を以下に抜粋します。同じ訪問者が複数のページパラメータにアクセスした場合、複数の応答が返されることがあります。

{
   "startTime": 1647475200000,
   "results": [
      {
           "accountId": "XXX",
           "appId": -323232,
           "day": 1647475200000,
           "pageId": "XXX",
           "numEvents": 1,
           "numMinutes": 1,
           "remoteIp": "XXX",
           "server": "XXX",
           "userAgent": "XXX",
           "visitorId": "XXX",
           "parameters": {
               "parameter": "XXX"
          }
      },
      {
           "accountId": "XXX",
           "appId": -323232,
           "day": 1647475200000,
           "pageId": "XXX",
           "numEvents": 1,
           "numMinutes": 1,
           "remoteIp": "XXX",
           "server": "XXX",
           "userAgent": "XXX",
           "visitorId": "XXX",
           "parameters": {
               "parameter": "XXX"
          }
      }
  ]
}

特定のページの特定のパラメータに対するフィルタリング

特定のページの特定のパラメータをフィルタリングして応答数を制限したい場合は、以下のコールの例を参照してください。

{
   "response": {},
   "request": {
       "name": "ExampleAggregation",
       "pipeline": [
          {
               "source": {
                   "pageEvents": {
                       "pageId": "ENTER PAGE ID"
                  },
                   "timeSeries": {
                       "period": "dayRange",
                       "first": "now()"
                      "count": -1
                  }
              }
          },
          {
               "filter": "parameters.parameter == `ENTER PARAMETER`"
          },
          {
               "limit": 1
          }
      ],
       "requestId": "ExampleAggregation"
  }
}

応答の例を以下に示します。

{
   "startTime": 1647475200000,
   "results": [
      {
           "accountId": "XXX",
           "appId": -323232,
           "day": 1647475200000,
           "pageId": "XXX",
           "numEvents": 1,
           "numMinutes": 1,
           "remoteIp": "XXX",
           "server": "XXX",
           "userAgent": "XXX",
           "visitorId": "XXX",
           "parameters": {
               "parameter": "XXX"
          }
      }
  ]
}

結果を表形式で分析する場合は、以下の部分を変更します。

{
   "response": {},

}

上記を次のように変更します。

{
   "response": {
       "location": "request",
       "mimeType": "text/csv"
  }

}

これで結果をCSV形式のファイルでダウンロードできます。

CSV_Example.png

上位パラメータの表示

Pendo UIでページの詳細を表示する際に、上位パラメータのリストと対応するページ閲覧数を取得することもできます。

コールの例を以下に示します。

{
   "response": {
       "location": "request",
       "mimeType": "text/csv"
  },
   "request": {
       "name": "TopPageParameters",
       "pipeline": [
          {
               "source": {
                   "pageEvents": {
                       "pageId": "ENTER PAGE ID",
                       "blacklist": "apply"
                  },
                   "timeSeries": {
                       "period": "dayRange",
                       "first": "now()",
                       "count": -30
                  }
              }
          },
          {
               "identified": "visitorId"
          },
          {
               "filter": "!isNull(parameters.parameter) && parameters.parameter != \"\""
          },
          {
               "group": {
                   "group": [
                       "pageId",
                       "parameters.parameter"
                  ],
                   "fields": [
                      {
                           "numEvents": {
                               "sum": "numEvents"
                          }
                      }
                  ]
              }
          },
          {
               "sort": [
                   "-numEvents"
              ]
          },
          {
               "limit": 100
          }
      ],
       "requestId": "TopPageParameters"
  }
}

CSV形式の応答の例を以下に示します。

numEvents,pageId,parameters
67,mNZtq33uzglPEMxv1_emyn-ytig,"{""parameter"":""index.html""}"
27,mNZtq33uzglPEMxv1_emyn-ytig,"{""parameter"":""login.html""}"
9,mNZtq33uzglPEMxv1_emyn-ytig,"{""parameter"":""buttons.html""}"
3,mNZtq33uzglPEMxv1_emyn-ytig,"{""parameter"":""tables.html""}"
2,mNZtq33uzglPEMxv1_emyn-ytig,"{""parameter"":""charts.html""}"
1,mNZtq33uzglPEMxv1_emyn-ytig,"{""parameter"":""cards.html""}"
1,mNZtq33uzglPEMxv1_emyn-ytig,"{""parameter"":""utilities-color.html""}"

 

この記事は役に立ちましたか?
1人中0人がこの記事が役に立ったと言っています