Open API ドキュメント
1. 共通事項
1.1 概要
Ptengine Open API は RESTful インターフェースを提供し、ヒートマップ分析データをプログラム的にクエリできます。本ドキュメントを AI Agent に提供すると、AI Agent が自然言語の要件に基づいてクエリリクエストを自動構築し、インターフェースを直接呼び出してデータを取得します。
インターフェースベース URL:
https://xbackend.ptengine.com/1.2 認証方式
すべての API リクエストは x-api-key リクエストヘッダーで API Key を渡す必要があります。
x-api-key: pt-your-api-key-hereAPI Key の取得手順:
権限要件:API Key の作成と管理は Admin および Owner ロールのみが可能です。
Ptengine にログイン
Experience モジュールに移動
右上の設定アイコン(⚙)をクリックし、「外部アプリ連携」を選択
「API キー」タブに切り替え
「API キーを作成」をクリックし、名前を入力して権限範囲(データアップロード/データクエリ)を選択
キーをコピーして安全に保管してください(キーは作成時にのみ表示されます)
1.3 リクエスト頻度制限
プランにより制限値が異なります:
Free
3
100
Free Trial
10
1,000
Growth
30
3,000
頻度制限情報はレスポンスヘッダーで返されます:
2. ヒートマップデータクエリ
2.1 ヒートマップデータのクエリ
POST /open-api/v1/heatmap/query
統一クエリエンドポイント。queryType パラメータでクエリタイプを選択します。
リクエストボディ
リクエストパラメータ
queryType
はい
string
クエリタイプ、選択肢:page_metrics(ページ指標)、page_insight(ページ詳細指標)、block_metrics(ブロック指標)、element_metrics(エレメント指標)
profileId
はい
string
サイト ID(8文字の文字列)、API Key に紐づくプロファイルと一致する必要があります。Ptengine の URL から取得できます(例:https://www.ptengine.jp/app/{profileId}/home の 566d12f9)
url
はい
string
データをクエリするページの URL
startDate
はい
string
開始日、フォーマット:YYYY-MM-DD または YYYY/MM/DD
endDate
はい
string
終了日、フォーマット:YYYY-MM-DD または YYYY/MM/DD
deviceType
はい
string
デバイスタイプフィルター、2.4 節を参照
rangeType
いいえ
string
URL マッチモード。MERGE_URL(デフォルト)パラメータを統合してクエリ、URL パラメータの違いを無視;URL 元の URL で正確にクエリ
metrics
いいえ
string[]
指定しない場合はすべての指標を返し、指定した場合は指定した指標のみ返します。利用可能な指標は2.3 節を参照
conversionNames
いいえ
string[]
コンバージョン目標名リスト(あいまい一致)、例:["購入完了", "登録"]
filters
いいえ
object[]
フィルター条件、各項目に name(フィルタータイプ)、op(include/exclude)、value(値の配列)を含みます。下記フィルタータイプ表を参照
lang
いいえ
string
返却ラベルの言語:EN(デフォルト)、ZH(中国語)、JP(日本語)。無効な値の場合は EN にフォールバック
funName
条件付き必須
string
page_insight タイプの場合のみ必須。選択肢:terminalType(デバイスタイプ)、sourceType(トラフィックソース)、visitType(新規/リピーター)、aiName(トラフィック獲得チャネル)、utmCampaign(UTM Campaign)、utmSource(UTM Source)、utmMedium(UTM Medium)、utmTerm(UTM Term)、utmContent(UTM Content)、week(週)、day(日)
フィルター条件(filters)
各フィルター条件のフォーマット:{ "name": "フィルタータイプ", "op": "include または exclude", "value": ["値1", "値2"] }
サポートされるフィルタータイプ:
固定値(filter-values インターフェースの呼び出し不要):
deviceType
デバイスタイプ
PC、Mobile、Tablet
sourceType
ソースタイプ
Direct(ダイレクト)、Search(検索エンジン)、Social(ソーシャルネットワーク)、Referral(外部リンク)、Campaign(広告)、AISearch(AI検索)
visitType
ユーザータイプ
New visits(新規訪問)、Returning visits(リピート訪問)
exitType
離脱タイプ
Bounce visits(直帰訪問)、Non-bounce visits(非直帰訪問)
動的値(filter-values インターフェースで利用可能な値をクエリ):
os
OS
["Windows", "Mac OS X"]
osVersion
OSバージョン
["Windows 10", "Mac OS X 10.15.7", "iOS 17.0"]
browser
ブラウザ
["Chrome", "Mobile Safari", "Edge"]
browserVersion
ブラウザバージョン
["Chrome 124.0.0", "Edge 146.0.0", "Mobile Safari 13.0.3"]
screenResolution
解像度
["1920x1080", "1440x900"]
deviceBrand
ブランド
["Apple", "Samsung"]
country
国/地域
["Japan", "China", "United States"]
region
都道府県/州
["Tokyo", "Beijing", "Hong Kong"]
searchEngine
検索エンジン
["google"]
socialNetwork
ソーシャルネットワーク
["facebook"]
socialUrl
ソーシャルURL
["https://www.facebook.com/"]
aiName
AI名
["ChatGPT", "Perplexity"]
referralSource
外部リンクサイト
["www.muji.com"]
referralUrl
外部リンクURL
["https://www.muji.com/"]
campaignUrl
広告URL
["https://www.google.com/"]
utmCampaign
広告名
["summer_sale"]
utmSource
広告ソース
["google", "facebook"]
utmMedium
広告メディア
["cpc", "email"]
utmTerm
広告キーワード
["heatmap tool"]
utmContent
広告コンテンツ
["banner_a"]
combinedPages
統合パラメータページ
["https://ptengine.jp/app/login"]
originalPages
元ページ
["https://ptengine.jp/app/select_project?from=login"]
conversionName
コンバージョン名
["ptmind"]
eventName
イベント名
["checkout_completed", "product_viewed"]
customDimension
カスタムディメンション
eventVariant と組み合わせて使用、下記説明を参照
eventVariable
カスタムディメンション(イベント名)
eventName と eventVariant と組み合わせて使用、下記説明を参照
例: 検索エンジンからの PC ユーザーデータをクエリ
フィルター利用可能値のクエリ
動的フィルタータイプで利用可能な値が不明な場合、以下のインターフェースでクエリできます:
POST /open-api/v1/heatmap/filter-values
リクエストボディ:
profileId
はい
サイト ID
name
はい
フィルタータイプ(country、browser、sourceType など)
startDate
いいえ
開始日、フォーマット:YYYY-MM-DD または YYYY/MM/DD、指定しない場合はデフォルトで直近30日
endDate
いいえ
終了日、フォーマット:YYYY-MM-DD または YYYY/MM/DD
search
いいえ
あいまい検索キーワード
例:
レスポンス:
カスタムディメンションフィルター
カスタムディメンションは2つのステップで使用します:
ステップ1:カスタムディメンションリストのクエリ
レスポンス:
ステップ2:特定ディメンションの利用可能値のクエリ
レスポンス:
クエリでのフィルター使用:
カスタムディメンション(イベント名)フィルター
カスタムディメンションは3つのステップで使用します:
ステップ1:イベントカスタムディメンションリストのクエリ
レスポンス:
ステップ2:特定ディメンションの利用可能値のクエリ
レスポンス:
ステップ3:クエリでのフィルター使用
2.2 クエリタイプ
2.2.1 page_metrics — ページ基本指標
page_metrics — ページ基本指標指定ページのトラフィック、エンゲージメント、コンバージョンなどの指標データを返します。
デバイスタイプ: ALL(全デバイス)、PC、MOBILE、TABLET をサポート
指標パラメータ: metrics(指定しない場合はすべての指標を返却)
コンバージョンクエリ: すべてのクエリタイプでコンバージョンをサポートしています。metrics に completions(コンバージョン数)または conversionRate(コンバージョン率)を追加し、conversionNames でコンバージョン目標名を指定してください。
リクエスト例:
レスポンス例:
説明:
conversionsにはmetricsでリクエストしたコンバージョン指標のみが返されます。上記の例ではmetricsにconversionRateのみ含まれているため、conversions にはコンバージョン率のみが含まれ、完了数は含まれません。コンバージョン数も同時に返す場合は、metricsにcompletionsを追加してください。
2.2.2 page_insight — ページ詳細指標(ディメンション別グループ化)
page_insight — ページ詳細指標(ディメンション別グループ化)指定ディメンションでグループ化されたページ指標データを返します。
デバイスタイプ: ALL、PC、MOBILE、TABLET をサポート
必須パラメータ: funName(metrics は指定しない場合はすべて返却)
funName の選択肢:
terminalType
デバイスタイプ別グループ化(PC/Smart phone/Tablet)
sourceType
トラフィックソース別グループ化(Direct/Search/Social など)
visitType
訪問タイプ別グループ化(New visits/Returning visits)
aiName
AI名別グループ化
utmCampaign
UTM Campaign 別グループ化
utmSource
UTM Source 別グループ化
utmMedium
UTM Medium 別グループ化
utmTerm
UTM Term 別グループ化
utmContent
UTM Content 別グループ化
week
週別グループ化
day
日別グループ化
リクエスト例(デバイスタイプ別グループ化):
レスポンス例:
2.2.3 block_metrics — ブロック指標
block_metrics — ブロック指標ページ内の各ブロック(セクション)の指標データとスクリーンショットURLを返します。ページが製品内でスキャンされ、ブロックが設定されている必要があります。
デバイスタイプ: PC、MOBILE または TABLET を指定する必要があり、ALL はサポートされていません
metrics パラメータ: 任意。指定しない場合はすべての指標を返し、指定した場合は指定した指標のみ返します。blockName と screenshotUrl は常に返されます。
利用可能な指標: impression、impressionRate、avgDuration、dropoff、dropoffRate、completions、conversionRate
stayTimeFilter: 任意、ブロック滞在時間フィルター(秒)、デフォルトは5秒。
リクエスト例:
レスポンス例:
2.2.4 element_metrics — エレメント指標
element_metrics — エレメント指標ページ内のトラッキングされた各エレメントの指標データを返します。ページが製品内でスキャンされ、エレメントが設定されている必要があります。
デバイスタイプ: PC、MOBILE または TABLET を指定する必要があり、ALL はサポートされていません
metrics パラメータ: 任意。指定しない場合はすべての指標を返し、指定した場合は指定した指標のみ返します。elementName は常に返されます。
利用可能な指標: impression、impressionRate、click、clickRate、completions、conversionRate
リクエスト例:
レスポンス例:
2.3 利用可能な指標
2.3.1 ページ指標(page_metrics と page_insight で使用)
page_metrics と page_insight で使用)metrics 配列で以下のフィールド名を使用します。
トラフィック
visits
ページが閲覧された訪問回数
value
pv
ページが閲覧された回数
value
uv
このページを閲覧したビジター数
value
newVisitsRate
このページを閲覧した新規訪問の割合
rate
entrances
ページがランディングページとして使用された訪問回数。このページが主にトラフィック受け入れに使用されているかどうかを把握できます
value
エンゲージメント
fvRate
ユーザーがページに入った後、スクロールせず、コンバージョンも次のページへの遷移もしなかった割合。ファーストビュー離脱率が高い場合、ページのファーストビューがユーザーを引き留められていないことを意味します
rate
timeOnPage
ページの平均滞在時間。ページのコンテンツが訪問者をより長く滞在させているかどうかを把握できます
time
clicks
ページの総クリック数(リンクの有無に関わらず)
value
clickRate
1PVあたりのクリック数。ユーザーのページに対するインタラクション度を評価できます
rate
ctaClicks
ページ内の主要CTAのクリック数。ヒートマップで主要エレメントをCTAとして設定できます
value
ctaClickRate
ページ内の主要CTAのクリック率。CTAクリック率=CTAクリック数/PV。ヒートマップで主要エレメントをCTAとして設定できます
rate
bounceRate
このページから流入し、他のページに移動せずに離脱した訪問者の割合。ランディングページがユーザーをさらなるページ閲覧に誘導できているかを把握できます
rate
avgPageViews
このページからランディングした訪問者の平均閲覧ページ数。このページからランディングしたユーザーのサイト内での閲覧深度を把握できます
decimal
コンバージョン
completions
このページを訪問し、コンバージョンを完了した訪問数
value
conversionRate
このページを訪問し、コンバージョンを完了した割合。コンバージョン率が高いほど、このページがコンバージョン行動に良い影響を与えていることを示します
rate
注意: コンバージョンデータをクエリする場合、
conversionNamesでコンバージョン目標の名前を必ず指定してください。
2.3.2 ブロック指標(block_metrics で使用)
block_metrics で使用)metrics パラメータを指定しない場合はすべて返され、指定した場合は指定した指標のみ返されます。blockName と screenshotUrl は常に返されます。
blockName
ブロック名
text
screenshotUrl
ブロックスクリーンショットURL
text
impression
ユーザーが画面上で当該ブロックを見始めたPV数
value
impressionRate
ユーザーが画面上で当該ブロックを見始めたPVの割合
rate
dropoff
当該ブロックから離脱し、他のページへのクリックやコンバージョンを完了しなかったPV数
value
dropoffRate
当該ブロックから離脱し、他のページへのクリックやコンバージョンを完了しなかったPVの割合
rate
avgDuration
このブロックを見たユーザーが、このブロックに留まった平均時間。平均滞在時間が長いほど、ユーザーがこのブロックに興味を持っていることを示します
time
completions
各コンテンツブロックに特定時間滞在し、コンバージョンを完了した訪問回数
value
conversionRate
各コンテンツブロックに特定時間滞在した訪問のうち、コンバージョンを完了した訪問の割合
rate
2.3.3 エレメント指標(element_metrics で使用)
element_metrics で使用)metrics パラメータを指定しない場合はすべて返され、指定した場合は指定した指標のみ返されます。elementName は常に返されます。
elementName
エレメント名
text
impression
ユーザーが画面上で当該エレメントを見始めたPV数
value
impressionRate
ユーザーが画面上で当該エレメントを見始めたPVの割合
rate
click
当該エレメントのクリック回数
value
clickRate
クリック数÷インプレッション数。クリック率が高いほど、そのエレメントがユーザーのクリックを引きつけやすいことを示します
rate
completions
各エレメントをクリックし、コンバージョンを完了した訪問回数
value
conversionRate
各エレメントをクリックした訪問のうち、コンバージョンを完了した訪問の割合
rate
2.4 デバイスタイプルール
page_metrics
ALL、PC、MOBILE、TABLET
ALL は全デバイスの集計データを返します
page_insight
ALL、PC、MOBILE、TABLET
ALL は全デバイスの集計データを返します
block_metrics
PC、MOBILE、TABLET
ALL はサポートされていません
element_metrics
PC、MOBILE、TABLET
ALL はサポートされていません
2.5 ブロック・エレメントクエリの前提条件
block_metrics または element_metrics でクエリする前に、Ptengine 製品内でページのスキャン設定を完了する必要があります:
Ptengine ヒートマップで対象ページを開く
ブロック/エレメント検出機能を有効にする
設定を保存する
ページが設定されていない場合、インターフェースはエラーコード 4008(ブロック未設定)または 4016(エレメント未設定)を返します。
2.6 リクエスト例
例 1:ページトラフィック概要のクエリ
例 2:デバイスタイプ別ページ詳細指標のクエリ
例 3:モバイル端末ブロック分析のクエリ
例 4:指定コンバージョン目標データのクエリ
例 5:PC端末エレメントクリック分析のクエリ
2.7 補足事項
時間関連のフィールド(ページの
timeOnPage、ブロックのavgDurationなど)は単位付きの可読文字列で返されます(例:"5s"、"1m 30s")。比率タイプの値は小数(例:
bounceRate: 0.45は 45% を表します)です。conversionNamesはあいまい一致をサポートしており、部分的な名前でも対応するコンバージョン目標にマッチできます。API が使用するデータソースは Ptengine 製品のインターフェースと同一であり、クエリ結果は一致するはずです。
リクエストされた URL が該当プロファイルで未収集の場合、API は
200を返し、すべての指標値が0になります(エラーは返しません)。
3. Experience データクエリ
3.1 体験リストの取得
POST /open-api/v1/experience/list
現在のプロファイル配下にあるすべての体験の基本情報(ゴールやバージョンリストを含む)を取得します。以降のインターフェースで使用する id、goalId、versionId はすべてこのインターフェースの返却値から取得します。
リクエストボディ:
profileId
はい
サイト ID
レスポンス例:
id
体験 ID、レポートインターフェースの id パラメータに使用
name
体験名
status
ステータス:DRAFT / RUNNING / PAUSE / SCHEDULED
type
タイプ:POPUP / STICKY_BAR / INLINE / ADVANCED / REDIRECT
goals
ゴールリスト、A/B テストインターフェースの goalId パラメータに使用
versions
バージョンリスト、フォームインターフェースの versionId パラメータに使用
3.2 ユーザープロパティリストの取得
POST /open-api/v1/experience/user-properties
利用可能なユーザープロパティリストを取得します。ディメンション細分インターフェースの dimension が userProperty の場合、このインターフェースから property パラメータを取得する必要があります。
リクエストボディ:
レスポンス例:
3.3 体験概要指標
POST /open-api/v1/experience/report/overview
複数の体験の指標データを一括クエリします。
リクエストボディ:
profileId
はい
サイト ID
experiences
はい
体験リスト(id + name、list インターフェースから取得)
metrics
いいえ
返却する指標フィールド。指定しない場合はすべてのデフォルト指標を返却。サポートされるフィールドは下記の指標テーブルを参照
lang
いいえ
返却言語:EN(デフォルト)、ZH、JP
metrics でサポートされるフィールド:
viewedUsers
体験が表示されたユーザーの数
value
views
体験を表示した回数
value
clickedUsers
作成されたボタンやリンクをクリックしたユーザーの数
value
clickRate
クリックユーザー数/表示ユーザー数
rate
closedUsers
作成した体験を取り消したユーザーの数
value
closeRate
取り消しユーザー数/表示ユーザー数
rate
formSubmittedUsers
フォームに回答したユーザーの数
value
formSubmitRate
フォーム回答UU/表示ユーザー数
rate
goalReachedUsers
ゴールに到達したユーザーの数
value
goalReachRate
表示したユーザーのうち、ゴールに到達したユーザーの割合
rate
goalStatus
人数の割合、属性の合計、または平均値で目標達成状況を表示
value
avgVisitDuration
表示ユーザーの平均滞在時間
time
avgPagesPerVisit
表示ユーザーの1訪問あたりの平均ページビュー数
decimal
bounceRate
表示ユーザーの直帰率
rate
lastUpdatedTime
設定が最後に更新された時間
text
lastUpdatedMember
設定の最後の更新者
text
createdTime
体験が作成された日時
text
createdMember
体験の作成者
text
runningPeriod
体験の初回配信日から最終停止日までの期間
text
tags
各体験のカスタム属性ラベル
text
レスポンス例:
すべての指標は { value, label, description } 構造で返却され、label と description は lang に応じた言語で返されます。
3.4 基本指標
POST /open-api/v1/experience/report/metrics
単一の体験の総合指標をクエリします。
リクエストボディ:
profileId
はい
サイト ID
id
はい
体験 ID
startDate
はい
開始日、フォーマット:YYYY-MM-DD または YYYY/MM/DD
endDate
はい
終了日、フォーマット:YYYY-MM-DD または YYYY/MM/DD
lang
いいえ
返却言語
レスポンス例:
注意:返却される指標は体験タイプに応じて自動的にフィルタリングされます。例えば INLINE タイプでは
clickedUsers/closedUsersは返却されず、フォームのない体験ではformSubmittedUsersは返却されません。
3.5 詳細分析
POST /open-api/v1/experience/report/insight
ディメンション別にグループ化して、単一体験の指標データをクエリします。
リクエストボディ:
profileId
はい
サイト ID
id
はい
体験 ID
startDate
はい
開始日、フォーマット:YYYY-MM-DD または YYYY/MM/DD
endDate
はい
終了日、フォーマット:YYYY-MM-DD または YYYY/MM/DD
dimension
はい
主ディメンション、下記ディメンション表を参照
subDimension
いいえ
二次ディメンション
property
条件付き必須
dimension が userProperty の場合必須、user-properties インターフェースから取得
lang
いいえ
返却言語
dimension の選択肢:
visitPage
ページ
❌
terminalType
デバイスタイプ
✅
sourceType
トラフィックソース
✅
utmCampaign
広告名
✅
utmSource
広告ソース
✅
utmMedium
広告メディア
✅
utmTerm
広告キーワード
✅
utmContent
広告コンテンツ
✅
sourceUrl
ソース URL
✅
sourceHost
ソースドメイン
✅
aiName
AI 名
✅
visitType
新規/リピーター
✅
country
国/地域
✅(region との組み合わせ不可)
region
地域
✅(country との組み合わせ不可)
userProperty
ユーザープロパティ
❌(property の指定が必要)
userProperty の例:
レスポンス例:
3.6 A/Bテストの結果
POST /open-api/v1/experience/report/abtest/metrics
A/B テストの各バージョンの指標比較データ(uplift と勝率を含む)をクエリします。
リクエストボディ:
profileId
はい
サイト ID
id
はい
体験 ID
startDate
はい
開始日、フォーマット:YYYY-MM-DD または YYYY/MM/DD
endDate
はい
終了日、フォーマット:YYYY-MM-DD または YYYY/MM/DD
compareBy
はい
バージョン比較の基準指標、下記を参照
goalId
条件付き必須
compareBy が goalReached の場合必須(list インターフェースの goals から取得)
showDeletedVersions
いいえ
削除済みバージョンを含めるかどうか、デフォルトは false
lang
いいえ
返却言語
compareBy の選択肢:
viewedUsers
表示UU
clickedUsers
クリックUU
closedUsers
閉じたUU
formSubmittedUsers
フォーム送信UU
goalReached
ゴール達成(goalId が必要)
avgVisitDuration
表示ユーザーの平均滞在時間
avgPagesPerVisit
表示ユーザーの1訪問あたりの平均ページビュー数
bounceRate
表示ユーザーの直帰率
レスポンス例:
返却値には
compareByに対応する指標 +uplift+probabilityToBeBestのみが含まれます基準バージョンの
uplift値は"Baseline"で、他のバージョンはパーセンテージ(例:"+50.00%"または"-10.00%")です
3.7 A/Bテストの結果 — 詳細分析
POST /open-api/v1/experience/report/abtest/insight
A/B テストの各バージョンをディメンション別にグループ化した指標比較です。
リクエストボディ:
profileId
はい
サイト ID
id
はい
体験 ID
startDate
はい
開始日、フォーマット:YYYY-MM-DD または YYYY/MM/DD
endDate
はい
終了日、フォーマット:YYYY-MM-DD または YYYY/MM/DD
compareBy
はい
バージョン比較の基準指標(3.6 と同様)
goalId
条件付き必須
compareBy が goalReached の場合必須
dimension
はい
主ディメンション(3.5 と同様)
subDimension
いいえ
二次ディメンション
property
条件付き必須
dimension が userProperty の場合必須
showDeletedVersions
いいえ
削除済みバージョンを含めるかどうか、デフォルトは false
lang
いいえ
返却言語
レスポンス例:
3.8 フォーム送信
POST /open-api/v1/experience/report/form
指定バージョンのフォーム送信明細データをクエリします。
リクエストボディ:
profileId
はい
サイト ID
id
はい
体験 ID
versionId
はい
バージョン ID(list インターフェースの versions から取得)
startDate
はい
開始日、フォーマット:YYYY-MM-DD または YYYY/MM/DD
endDate
はい
終了日、フォーマット:YYYY-MM-DD または YYYY/MM/DD
レスポンス例:
columnsは動的なヘッダーで、フォームの実際のフィールドに基づいて自動生成されます
rowsの各行はフォーム送信1件に対応し、値のないフィールドは空文字列になります
3.9 利用可能な指標
基本指標(すべてのタイプで対応)
viewedUsers
数値
表示UU
views
数値
表示回数
avgVisitDuration
時間(MM:SS/HH:MM:SS)
平均訪問時間
avgPagesPerVisit
小数("2.50")
平均閲覧ページ数
bounceRate
パーセンテージ("42.86%")
直帰率
ポップアップ系指標(POPUP / STICKY_BAR / REDIRECT / ADVANCED でポップアップがある場合のみ)
clickedUsers
数値
クリックUU
clickRate
パーセンテージ
クリック率
closedUsers
数値
閉じたUU
closeRate
パーセンテージ
閉じた率
フォーム系指標(フォームが設定された体験のみ)
formSubmittedUsers
数値
フォーム送信UU
formSubmitRate
パーセンテージ
フォーム送信率
ゴールデータ
goals[].name
ゴール名
goals[].reachedUsers
達成UU
goals[].reachRate
達成率
goals[].value
達成価値(null = ユーザー数で集計)
4. イベントデータクエリ
カスタムイベント分析。Ptengine 製品の イベント > セグメント(/event/segment) ページと同じディメンション/指標を提供します。
4.1 イベントデータのクエリ
POST /open-api/v1/event/query
ディメンション・指標・フィルター・カスタムイベントプロパティのフィルターを自由に組み合わせてクエリできます。
リクエストボディ:
profileId
はい
string
プロファイル(サイト)ID
startDate
はい
string
YYYY-MM-DD または YYYY/MM/DD
endDate
はい
string
YYYY-MM-DD または YYYY/MM/DD
dimensions
はい
(string | object)[]
グループ化ディメンション配列、必ず "eventName" を含めてください。非時間ディメンションは最大 3 つ + 時間ディメンション(day / hour / week / month)は最大 1 つ——製品の /event/segment ページと同じ制限です。各項目は文字列(標準ディメンション名)または { name: "eventVariable", eventVariant: "<プロパティ名>" }(カスタムイベントプロパティ)
metrics
いいえ
string[]
指標名。デフォルト ["eventCount"]、許可値: eventCount、sessions
filters
いいえ
object[]
フィルター条件、/heatmap/query と同じ形式: { name, op, value, eventName?, eventVariant? }
演算子: include / exclude(/heatmap/query と同じ)。value は空でない配列(例:["Japan"]、["Japan", "China"])。
カスタムイベントプロパティ:
dimensions内:{ name: "eventVariable", eventVariant: "<プロパティ名>" }filters内:{ name: "eventVariable", eventName: "<イベント名>", eventVariant: "<プロパティ名>", op, value }——/heatmap/queryのeventVariablefilter と同じ形式。eventVariablefilter を使う場合は、{ name: "eventName", op: "include", value: ["<イベント名>"] }も合わせて指定してください(製品/event/segmentページと同じ動作)。
レスポンスのカラム名はプロパティ名そのまま。
リクエスト例:
レスポンス例:
4.2 その他のサンプル
a) 最小構成 — イベント名ごとのカウント
b) 時系列 — 日次集計
c) コンバージョン目標でフィルター(名前のあいまい一致)
conversionNameは名前に"ptmind"を含む全てのコンバージョン目標と一致します。一致なしの場合は4012。
d) カスタムイベントプロパティ — グループ + フィルター
両方の filter が必須で、役割が異なります:独立した
eventNamefilter はクエリをgallery_item_impressionイベントに絞る(集約スコープ);eventVariablefilter はさらにposition == "home"で行を絞り込む(segment)。
e) 流入分析 — UTM + ソースタイプ
f) 新規訪問者 + PC + 日本/中国
g) 直帰セッションを除外
4.3 利用可能なフィールド一覧の取得
GET /open-api/v1/event/fields?lang=JP
サポートされる指標・ディメンション・演算子(多言語ラベル付き)を返します。
4.4 利用可能な指標
eventCount
イベント発生回数
INTEGER
sessions
イベントが発生したセッション数
INTEGER
4.5 利用可能なディメンション(dimensions[] グループ化用)
dimensions[] グループ化用)フィールド名は
/heatmap/queryのフィルター項目と同じ命名です。
event
eventName
イベント名
visit
visitType
New visits / Returning visits
visit
exitType
Bounce visits / Non-bounce visits
page
originalPages
入口ページ(完全URL)
page
combinedPages
入口ページ(クエリ文字列を除く)
conversion
conversionName
コンバージョン名
time
day
日付 YYYY-MM-DD
time
hour
時間(0–23)
time
week
ISO 週
time
month
年月 YYYY-MM
source
sourceType
Direct / Search / Social / Referral / Campaign / AISearch
source
campaignUrl
キャンペーンURL
source
referralSource / referralUrl
リファラルホスト / URL
source
searchEngine
検索エンジン
source
socialNetwork / socialUrl
ソーシャル / URL
source
aiName
AI検索エンジン
ad
utmCampaign / utmSource / utmMedium / utmTerm / utmContent
UTM フィールド
terminal
deviceType
PC / Mobile / Tablet
terminal
deviceBrand
デバイスブランド
terminal
os / osVersion / browser / browserVersion
OS / ブラウザ + バージョン
terminal
screenResolution
画面解像度
geography
country / region
国 / 都道府県・州
4.6 利用可能なフィルターフィールド(filters[] 用)
filters[] 用)フィールド名・値ともに
/heatmap/queryと完全に一致。上のディメンションリストとの違い:
フィルターには時間フィールドは含まれません(
startDate/endDateで指定)
conversionNameは名前で曖昧一致(サーバー側で目標IDに解決して検索)
eventVariable(カスタムイベントプロパティ)を追加
固定列挙値フィールド(下のリストの値のみ使用可):
visitType
New visits、Returning visits
exitType
Bounce visits、Non-bounce visits
deviceType
PC、Mobile、Tablet
sourceType
Direct、Search、Social、Referral、Campaign、AISearch
全フィルターフィールド一覧:
visit
visitType / exitType
列挙値表参照
visit
originalPages / combinedPages
入口ページ(完全URL / クエリ無し)
source
sourceType
列挙値表参照
source
campaignUrl
キャンペーンURL
source
referralSource / referralUrl
リファラルホスト / URL
source
searchEngine
検索エンジン
source
socialNetwork / socialUrl
ソーシャル / URL
source
aiName
AI検索エンジン
terminal
deviceType / deviceBrand
列挙値表 / デバイスブランド
terminal
os / osVersion / browser / browserVersion
OS / ブラウザ + バージョン
terminal
screenResolution
画面解像度
geography
country / region
国 / 都道府県・州
conversion
conversionName
コンバージョン目標名(曖昧一致。例:["ptmind"] で名称に "ptmind" を含む全ての目標にマッチ)
campaign
utmCampaign / utmSource / utmMedium / utmTerm / utmContent
UTM フィールド
event
eventName
イベント名
custom
eventVariable
{ name: "eventVariable", eventName: "<イベント名>", eventVariant: "<プロパティ名>" } —— /heatmap/query filter と同じ形式
4.7 カスタムイベントプロパティ
Ptengine SDK はイベント送信時にカスタムイベントプロパティを付加できます。Open API では dimensions と filters で形式が少し異なります:
dimensions内:{ "name": "eventVariable", "eventVariant": "<プロパティ名>" }filters内:{ "name": "eventVariable", "eventName": "<イベント名>", "eventVariant": "<プロパティ名>", "op": "include"|"exclude", "value": [...] }——/heatmap/queryのeventVariablefilter と同じ形式。eventVariablefilter を使う場合は、{ "name": "eventName", "op": "include", "value": ["<イベント名>"] }も合わせて渡してください。欠如すると 4018 を返します。
レスポンスのカラム名はプロパティ名そのまま(例:"price")。
4.8 補足事項
visitType/exitType/deviceType/sourceTypeは §4.6 の固定列挙値のみ受け付けます。表に記載されている通りの値を渡してください。dimensionsは必須で、"eventName"文字列を必ず含めてください(製品の/event/segmentページと同じ動作で、イベントクエリは常にイベント名でグループ化されます)。他のディメンションやeventVariableオブジェクトと併用可能です。ディメンション数の制限:非時間ディメンションは最大 3 つ + 時間ディメンション(
day/hour/week/month)は最大 1 つ。いずれかを超えると 4018 を返します。製品の/event/segmentページと同じ制限です。eventNamefilter が必須となる条件 — 以下のいずれかに該当する場合:dimensionsにeventName/ 時間ディメンション以外の項目が含まれる(例:country、sourceType)dimensionsにeventVariableオブジェクトが含まれるfiltersにeventVariable項目が含まれる
形式:
{ "name": "eventName", "op": "include", "value": ["<イベント名>"] }。欠如すると 4018 を返します。columnsの順序はバックエンドの返却順に従い、リクエストの順序と一致しない場合があります。
付録
A. エラーコード
4010
401
リクエストヘッダーに x-api-key がありません
4011
401
API Key が無効です
4030
403
profileId が API Key に紐づくプロファイルと一致しません
4031
403
API Key にクエリ権限がありません。必要な scope: query
4001
400
無効な queryType
4002
400
日付フォーマットエラー、YYYY-MM-DD または YYYY/MM/DD 形式が必要です
4003
400
クエリ日付がプランのデータ保持期限を超えています
4006
400
page_insight タイプには funName が必須です
4007
400
block_metrics にはデバイスタイプの指定(PC/MOBILE/TABLET)が必要、ALL はサポートされていません
4008
400
ページブロックが未設定、製品内でページをスキャンしてください
4009
400
element_metrics にはデバイスタイプの指定(PC/MOBILE/TABLET)が必要、ALL はサポートされていません
4012
400
一致するコンバージョン目標が見つかりません
4013
400
必須項目が未指定です(レスポンスメッセージで具体的な項目名を返します)
4014
400
deviceType が無効です。ALL、PC、MOBILE、TABLET のいずれかを指定してください
4015
400
dimension / subDimension が無効です(レスポンスメッセージで具体的な理由を返します)
4016
400
ページエレメントが未設定、製品内でページをスキャンしてください
4017
400
compareBy が無効です(レスポンスメッセージで許可値を返します)
4018
400
イベントフィールドが無効です(/event/query:許可リスト外のディメンション/指標)
4019
400
フィルター演算子が無効です(/event/query:include または exclude)
4040
404
対象のExperienceが見つかりません(id がこのプロファイル配下に存在しません)
4290
429
リクエスト頻度超過(毎分)
4291
429
リクエスト頻度超過(毎日)
5000
500
サーバー内部エラー
message はリクエストの lang(body または query)に応じて EN/ZH/JP で返されます。lang が未指定または非対応の場合は英語にフォールバックします。
エラーレスポンスフォーマット:
最終更新