Pendoデータ同期を使用すると、Pendoデータをデータレイクやデータウェアハウスに送信し、他のデータソースと組み合わせて、AIワークフロー、機械学習モデル、ビジネスインテリジェンスダッシュボードに組み込むことができます。詳細については、「Pendoのデータ同期機能の概要」をご参照ください。
この記事では、イベントデータ、アカウントと訪問者のメタデータを含む、データ同期のエクスポートで使用されるスキーマについて説明します。データ同期は、2つの配信方法をサポートしています。
- クラウドストレージへのエクスポート。Pendoは、AvroファイルをAmazon S3、Google Cloud Storage、またはAzure Storageに配信します。
- ウェアハウス直接同期。Pendoは、Snowflake、Databricks、BigQueryでテーブルを作成し、同期します。
論理データは配信方法間で一貫していますが、テーブル構造、識別子の大文字/小文字、物理データ型は送信先によって異なる場合があります。DatabricksとBigQueryは同じテーブルと列を共有していますが、データウェアハウス固有の型名は異なります。
宛先のスキーマ参照を使用してください。
| 宛先 | スキーマ参照 |
|---|---|
| クラウドストレージ | この記事のAvroファイル列とタイプ列 |
| Snowflake | Snowflake ERDへのデータ同期 |
| Databricks | Databricks ERDへのデータ同期 |
| Big Query | BigQuery ERDへのデータ同期 |
すべての日付とタイムスタンプは協定世界時(UTC)です。詳細については、 「データ同期のエクスポート処理」の「タイムスタンプとタイムゾーン」 をご参照ください。
タイプマッピング
この記事では、マッピングテーブルを使用してイベントデータ、データオブジェクト、フィールドタイプが各宛先にどのように対応しているかを示し、フィールドテーブルを使用してフィールド自体をAvroの用語で説明します。以下のマッピング表は、各宛先における共通の物理タイプをまとめたものです。フィールド固有の例外および宛先専用のフィールドについては、それぞれの説明および宛先のER図に記載されています。
| Pendoフィールドタイプ | Pendoデータマッピングのフィールドタイプ | Avro | Snowflake | Databricks | Big Query |
|---|---|---|---|---|---|
| string | テキスト(string) | 文字列 | 文字列 | 文字列 | 文字列 |
| int | 数値型(整数) | 整数 | NUMBER(38,0) | INTまたはLONG | INT64 |
| float | 数値型(小数) | 小数 | 小数 | double | FLOAT64 |
| boolean | ブール値(boolean) | ブール値 | ブール値 | ブール値 | BOOL |
| time | 日付(time) | ミリ秒の論理タイプを持つLONG | NUMBER(38,0) | LONG | INT64 |
| リスト | リスト(list) | 配列 | 配列 | JSONを含むSTRING | JSONを含むSTRING |
| ネストされたレコード | JPNデータセンターではFeedback機能は提供していません。 | レコード | 配列 | JSONを含むSTRING | JSONを含むSTRING |
| バリアントメタデータ値 | JPNデータセンターではFeedback機能は提供していません。 | VARIANT | VARIANT | 文字列 | 文字列 |
一部のフィールドは、これらの一般的なマッピングを上書きします。SnowflakeはdeletedAtをDATEとして格納しますが、DatabricksとBigQueryではそのフィールドが利用可能な場合、整数として格納します。SnowflakeはperiodIdをNUMBER(38,0)として格納し、DatabricksとBigQueryは整数として格納します。
一部のフィールドはダイレクトウェアハウスの宛先にのみ存在し、クラウドストレージに対応するものはありません。これらはフィールドテーブルでAvroタイプがn/aと表記されています。物理タイプについては宛先のERDを参照してください。
DatabricksおよびBigQueryでは、Pendoの論理メタデータ型に関係なく、正規化されたaccountmetadata.valueおよびvisitormetadata.valueフィールドはSTRINGになります。
イベント
データ同期には、Pendoが取得したすべてのイベントが含まれます。タグ付けされたページ、フィーチャー、トラックイベント、ガイドイベントは、サポートされている宛先向けの専用の一致イベントデータでも利用できます。
| イベントデータ | クラウドストレージ | ウェアハウステーブル |
|---|---|---|
| すべてのイベント | allevents.avro |
ALLEVENTS |
| ページイベント | matchedEvents/Page/{pageId}.avro |
MATCHEDPAGEEVENTS |
| フィーチャーイベント | matchedEvents/Feature/{featureId}.avro |
MATCHEDFEATUREEVENTS |
| トラックイベント | matchedEvents/TrackType/{trackId}.avro |
MATCHEDTRACKTYPEEVENTS |
| ガイドイベント |
allevents.avroに含まれます
|
ALLEVENTSに含まれます
|
以下のフィールド定義は、共有イベントモデルを説明するものです。matchableIdとlastUpdatedAtは一致イベントテーブルに含まれますが、alleventsには含まれません。
| フィールド名 | Avroタイプ | 説明 |
|---|---|---|
matchableId |
文字列 |
このイベントに一致するルールを持つページ、フィーチャー、またはトラックイベントのID。すべてのイベントデータには存在しません。
ID には、大文字(A~Z)、小文字(a~z)、数字(0~9)、ハイフン(-)、アンダースコア(_)が含まれます。最大文字数は500字です。 |
periodId |
DATE | データウェアハウスへの読み込みを支援する便利なフィールドで、特定のイベントのbrowserTimestampの日付部分に相当します。日付はすべてUTCです。フォーマットはYYYY-MM-DDです。 |
visitorId |
文字列 |
イベントを実行した訪問者。最大文字数は500文字です。 訪問者および訪問者メタデータに結合できます。 Pendoのインストール時に顧客が設定した訪問者ID。 |
accountId |
文字列 |
訪問者に関連付けられているアカウント。最大文字数は500字です。 アカウントおよびアカウントメタデータに結合できます。アカウント情報が利用できない場合は、空の文字列が使用されます。 Pendoインストール時に顧客が設定したアカウントID。 |
analyticsSessionId |
文字列 | このイベントが記録されたときにアクティブだったウェブアナリティクスセッションの一意の識別子。セッションは、ブラウザで以前のセッションがアクティブでないときに開始され、30分間の非アクティブ状態が続くと終了します。ウェブアナリティクスのセッションはCookieまたはローカルストレージを使用して追跡され、同じドメイン内のブラウザタブ全体で保持されます。16桁の英数字文字列。 |
browserTimestamp |
LONG | イベントのタイムスタンプ。use_avro_logical_typesフラグで日付としてデータウェアハウスに読み込むことができます。 |
country |
文字列 |
remoteIpに関連付けられた国。ISO 3166-1 alpha-2の国コードを使用します。このフィールドは空白でもかまいません。 |
deletedAt |
LONG | オブジェクトが削除された日付。オブジェクトが削除されていない場合は空になります。 |
destinationStepId |
文字列 | フローを示すガイドの宛先ステップのIDを指定するguideAdvancedイベントに関連します。前のステップIDまたは次のステップIDにできます。singleEventsおよびguideEventsソースに表示されます。最大文字数は500字です。 |
elementPath |
文字列 | ウェブイベント用。空白か、イベントに関連するDOM要素を指定するCSSスタイルの文字列。モバイルの場合、イベントに関連するウィジェットのJSON形式の説明。最大文字数は60,000文字です。 |
eventClass |
文字列 | イベントはuiまたはtrackいずれかに分類できます。 |
eventId |
文字列 |
データ同期における
|
eventSource |
文字列 | 次のいずれかになります。web:Webページから発生したイベントの場合。mobile:モバイルアプリから発生したイベントの場合。email:メールから発生したイベントの場合。この値には小文字(a~z)のみが含まれ、最大長は9字です。 |
eventType |
文字列 |
イベントのタイプ。以下のいずれかです: モバイルイベントには次のものも含まれます。
|
guideId |
文字列 | ガイド関連イベントや投票調査関連イベントを生成するガイドの一意の識別子。このフィールドは空白でもかまいません。最大文字数は500字です。 |
guideSeenReason |
文字列 |
guideSeenイベントタイプの場合、ガイドがユーザーに表示された理由。 |
guideSeenTimeoutMS |
LONG |
guideTimeoutイベントの場合、guideTimeoutイベントの送信前に、特定のガイドステップが表示されるまでエージェントが待機した時間。 |
guideSessionId |
文字列 | ガイドや同時に読み込まれたその他納品物のリストの識別子。このIDは、クライアントからガイドがリクエストされるたびに変更され、読み込み中に発生するイベントは同じIDを持ちます。最大文字数は500字です。 |
guideSnoozeDurationMS |
LONG |
guideSnoozedイベントタイプの場合、ガイドのスヌーズ時間(ミリ秒単位)。 |
guideStepId |
文字列 | ガイド関連イベントや投票調査関連イベントを生成するガイドステップの一意の識別子。このフィールドは空白でもかまいません。最大文字数は500字です。 |
language |
文字列 |
guideSeenイベントタイプの場合、表示されているガイドの言語。このフィールドは空白でもかまいません。https://datatracker.ietf.org/doc/html/bcp47 言語タグ(例: en-US)を使用します。 |
latitude |
小数 | イベントのremoteIpの緯度。PendoがremoteIpを収集していない場合、このフィールドは空白です。 |
lastUpdatedAt |
JPNデータセンターではFeedback機能は提供していません。 | Snowflakeのみ。一致したイベントが最後に転送に含まれた時点を示すエポックタイムスタンプ。このフィールドは、遡及処理中を含め、一致するイベントが転送に含まれるたびに更新されます。このフィールドを使用して、新しいデータと古いデータを区別します。 |
longitude |
小数 | イベントのremoteIpの経度。PendoがremoteIpを収集していない場合、このフィールドは空白です。 |
loadDurationMS |
LONG |
loadイベントの場合、ウェブページのレンダリングにかかった時間(ミリ秒単位)。ページの動的部分の読み込みにかかる時間は含まれません。 |
oldVisitorId |
文字列 | Pendoが認証を通じて識別する前に、訪問者に割り当てられた匿名の訪問者 ID。 |
pollId |
文字列 |
pollResponseイベントを生成した投票とアンケート調査の識別子。最大文字数は500字です。この識別子に関連する投票とアンケート調査オブジェクトは、allguides.avroファイル内のpollsリストにあり、具体的にはこのイベントのguideIdという識別子を持つガイドにあります。 |
pollResponse |
文字列 |
pollResponseイベントを生成した投票調査に対するJSON形式の回答。eventTypeがpollResponseでない限り、空になります。投票調査でのみ利用可能なデータへのインデックスにできます。投票とアンケート調査で定義されたカスタムレスポンスのセットに対応するレスポンスの場合、pollResponseの値は、allguides.avroファイル内のレスポンスマップのインデックスです。このマップは、識別子guideId(このイベントのもの)を持つガイドと、識別子pollId(このイベントのもの)を持つ投票とアンケート調査のpollsリストにあります。最大文字数は5,000文字です。 |
pollType |
文字列 |
pollResponseイベントを生成した投票調査のタイプ。NumberScale、PositiveNegative、FreeForm、PickListのいずれかです。 |
propertiesJson |
文字列 |
イベントのすべてのユーザー定義イベントプロパティのJSON形式のマップ。イベントのセッションリプレイフラストレーションデータが利用可能になる場合、以下のキーも含まれます:
|
region |
文字列 | イベントのremoteIpに関連する米国地域。このフィールドは空白でもかまいません。州を表す2文字のコードとして提示されます。 |
remoteIp |
文字列 | イベントを生成したremoteIp。このデータを収集しない場合、代わりに0.0.0.0が保存されます。ipv6アドレスにすることもできます。一部のプロキシとモバイルネットワークでは、有用なIPアドレスは収集されません。 |
server |
文字列 | イベントのURLのサーバー名部分。このフィールドは空白でもかまいません。値はURLセーフ文字列(https://datatracker.ietf.org/doc/html/rfc3986 に準拠)であり、最大60,000字まで使用できます。 |
uiElementActions |
文字列 | エージェントによってguideActivityイベントが送信されるガイドとのインタラクションに関連付けられた要素アクション(openLinkやguideSnoozedなど)。これは、singleEventsおよびguideEventsのソースに表示されます。値はURLセーフ(Base64 スタイル)でエンコードされ (https://datatracker.ietf.org/doc/html/rfc4648 に準拠)、最大60,000字まで使用できます。 |
uiElementId |
文字列 | ガイド内のUI要素がクリックされたときのガイド要素の一意の識別子。これにより、guideActivityイベントがエージェントに送信されます。これは、singleEvents、guideEvents、guideElementClick、およびguideElementClickEverのソースに表示されます。最大文字数は60,000字です。 |
uiElementText |
文字列 | エージェントがguideActivityイベントの一環としてフィールドを送信するときのガイド要素のテキスト。guideActivityイベントがガイド要素のテキストと共に送信されると、ui_element_textがsingleEventsおよびguideEventsのソースに表示されます。ui_element_textフィールドなしでguideActivityイベントが送信された場合でも、処理は実行されます。サブスクリプションによりすべてのテキストの除外を選択した場合、イベントが同時に送信されたとしても、ui_element_textは保存されません。最大文字数は60,000字です。 |
uiElementType |
文字列 |
guideActivityイベントの送信時にクリックされた要素のタイプ。これは、singleEventsおよびguideEventsのソースに表示されます。これは任意の有効なHTML要素タグ(例:button)で、最大60,000字まで指定できます。 |
url |
文字列 | ウェブイベントを生成したページの正規化されたURL。モバイルイベントの場合、URLは画面構造をJSON形式で表したものになります。 |
userAgent |
文字列 | ウェブイベントを受信した際のHTTPSリクエストのユーザーエージェント文字列。モバイルイベントの場合、これはイベントを生成したデバイスタイプのテキスト表現です。userAgent値はすべてのイベントに含まれ、集計とセグメント化に使用されます。Pendoは、サードパーティのユーザーエージェント解析ライブラリの独自のコピーを使用して、ブラウザ、OS、デバイスタイプなどの詳細を抽出します。入力された文字列がライブラリ内の既知のパターンと一致しない場合、「Unknown」として記録されます。 |
ページ、フィーチャー、トラックイベント、ガイドの定義
ページ、フィーチャー、トラックイベントの定義は、それぞれ独自のファイルまたはテーブルに含まれており、matchableIdを使用してイベントデータに結合できます。
次の表は、エクスポート方法に応じて各定義が表示される場所を示しています。
| データオブジェクト | クラウドストレージ | Snowflake | DatabricksとBigQuery |
|---|---|---|---|
| ページ | allpages.avro |
ページ |
ページ |
| フィーチャー | allfeatures.avro |
フィーチャー |
フィーチャー |
| トラックイベント | alltracktypes.avro |
TRACKTYPES |
tracktypes |
| ガイド | allguides.avro |
ガイド |
ガイド(Guides) |
以下のフィールドの説明では、論理モデルを定義しています。type列には、クラウドストレージのAvroタイプが表示されます。共通の宛先マッピングにはタイプマッピングを、正確な物理タイプには宛先のERDを使用してください。deletedAtは4つのDatabricksおよびBigQueryの定義テーブルすべてに存在しますが、rulesUpdatedAtはpages、features、tracktypesに存在します。softDeleteMethodが表示されるのは、Snowflakeのみです。
ページ
| フィールド名 | Avroタイプ | 説明 |
|---|---|---|
pageId |
文字列 | ページの識別子。最大文字数は500字です。 |
kind |
文字列 | オブジェクトの種類の説明。常にPageになります。 |
name |
文字列 | ページに付けられた名前。最大文字数は1500字です。 |
lastUpdatedAt |
LONG | ページが最後に更新されたときのエポックタイムスタンプ(ミリ秒単位)。 |
isCoreEvent |
ブール値 | イベントがPendo Coreイベントかどうか。 |
deletedAt |
LONG | オブジェクトが削除された日付。オブジェクトが削除されていない場合は空になります。 |
rulesUpdatedAt |
JPNデータセンターではFeedback機能は提供していません。 | Snowflakeのみ。ページのルールが更新された時点を示すエポックタイムスタンプ。 |
softDeleteMethod |
JPNデータセンターではFeedback機能は提供していません。 | Snowflakeのみ。どのソフト削除方法が適用されるかを示します(1 = オリジナル、2 = 新しいタイムスタンプの比較)。 |
rulesJson |
文字列 | このフィールドはPendoクラシック(レガシー)デザイナーのみが使用し、ほとんどのページでは空になることが予想されます。UTF-8形式のJSON文字列です。 |
フィーチャー
| フィールド名 | Avroタイプ | 説明 |
|---|---|---|
featureId |
文字列 | フィーチャーの識別子(サブスクリプションごとに一意)。最大文字数は500字です。 |
kind |
文字列 | オブジェクトの種類の説明。常にFeatureになります。 |
name |
文字列 | フィーチャーに付けられた名前。 |
lastUpdatedAt |
LONG | フィーチャーが最後に更新されたときのエポックタイムスタンプ(ミリ秒単位)。 |
isCoreEvent |
ブール値 | イベントがPendo Coreイベントかどうか。 |
deletedAt |
LONG | オブジェクトが削除された日付。オブジェクトが削除されていない場合は空になります。 |
rulesUpdatedAt |
JPNデータセンターではFeedback機能は提供していません。 | Snowflakeのみ。フィーチャーのルールが更新された時点のエポックタイムスタンプ。 |
softDeleteMethod |
JPNデータセンターではFeedback機能は提供していません。 | Snowflakeのみ。どのソフト削除方法が適用されるかを示します(1 = オリジナル、2 = 新しいタイムスタンプの比較)。 |
トラックイベント
| フィールド名 | Avroタイプ | 説明 |
|---|---|---|
trackTypeId |
文字列 | トラックイベントの識別子(サブスクリプションごとに一意)。最大文字数は500字です。 |
kind |
文字列 | オブジェクトの種類の説明。常にTrackTypeになります。 |
name |
文字列 | トラックイベントに付けられた名前。 |
trackTypeName |
文字列 | トラックイベントの表示名。 |
lastUpdatedAt |
LONG | トラックイベントが最後に更新されたときのエポックタイムスタンプ(ミリ秒単位)。 |
isCoreEvent |
ブール値 | イベントがPendo Coreイベントかどうか。 |
trackTypeRules |
文字列 | トラックイベントを定義するために使用されるルールのリスト。 |
eventPropertyNames |
文字列 | 含まれているトラックイベントプロパティの名前。 |
deletedAt |
LONG | オブジェクトが削除された日付。オブジェクトが削除されていない場合は空になります。 |
rulesUpdatedAt |
JPNデータセンターではFeedback機能は提供していません。 | Snowflakeのみ。トラックイベントのルールが更新された時点のタイムスタンプ。この値はトラックイベントが作成されたときに設定され、その後は更新されません。 |
softDeleteMethod |
JPNデータセンターではFeedback機能は提供していません。 | Snowflakeのみ。どのソフト削除方法が適用されるかを示します(1 = オリジナル、2 = 新しいタイムスタンプの比較)。 |
ガイド
| フィールド名 | Avroタイプ | 説明 |
|---|---|---|
guideId |
文字列 | ガイドの識別子(サブスクリプションごとに一意)。最大文字数は500字です。 |
kind |
文字列 | オブジェクトの種類の説明。常にGuideになります。 |
lastUpdatedAt |
LONG | ガイドが最後に更新されたときのエポックタイムスタンプ(ミリ秒単位)。 |
createdAt |
LONG | ガイドが作成されたときのエポックタイムスタンプ(ミリ秒単位)。 |
state |
文字列 | ガイドの可視性の状態(draft、staged、public、disabled)。 |
name |
文字列 | ガイドに付けられた名前。 |
emailState |
文字列 | NPSのメールバックアップの状態(無効の場合はdraft、有効の場合はpublic)。 |
launchMethod |
文字列 | ハイフンで区切られた、ガイドに適用される起動方法のセット。 |
isMultiStep |
ブール値 | ガイドに複数のステップがあるかどうか。 |
isTraining |
ブール値 | ガイドが「Adopt for Partners」のエンドユーザーアプリケーションに属するかどうか。 |
recurrence |
LONG | NPSガイドの反復期間(ミリ秒単位)。 |
recurrenceEligibilityWindow |
LONG | 均等配信が有効になっている場合に、個々の訪問者がNPSガイドの対象となる時間(ミリ秒単位)。 |
attributeJson |
文字列 | ガイドのタイプ、バッジの説明、ガイドが有効になるデバイスのタイプ、最後にガイドを編集したビジュアルデザインスタジオ(Visual Design Studio)のバージョンなどを含む、ガイド属性のJSON表現。 |
audience |
文字列 | ガイドがターゲットとする訪問者を定義するロジック。 |
audienceUiHint |
文字列 | ガイドに適用されたセグメントを人間が判読できる形式で表したもの。 |
resetAt |
LONG | ガイドが最後にリセットされたときのタイムスタンプ。 |
publishedAt |
LONG | ガイドが最後に公開されたときのタイムスタンプ。 |
steps |
レコード |
次の値を含むガイドステップ:
|
アンケート調査 |
レコード |
次の値を含む投票とアンケート調査の質問:
|
deletedAt |
LONG | オブジェクトが削除された日付。オブジェクトが削除されていない場合は空になります。 |
アカウントと訪問者
アカウントと訪問者の定義は、エクスポート方法に応じて、メインオブジェクトテーブルと補足メタデータファイルまたはテーブルの両方に表示されます。以下の表は、各タイプのデータが表示される場所を示しています。
| データ | クラウドストレージ | Snowflake | DatabricksとBigQuery |
|---|---|---|---|
| アカウント | accounts.avro |
アカウント |
アカウント |
| アカウントメタデータ値 |
accounts.avro内の動的列
|
ACCOUNTMETADATA |
accountmetadata |
| アカウントメタデータスキーマ | accountmetadata.avro |
ACCOUNTMETADATAに含まれます
|
accountmetadataschema |
| 訪問者 | visitors.avro |
訪問者 |
訪問者 |
| 訪問者のメタデータ値 |
visitors.avro内の動的列
|
VISITORMETADATA |
visitormetadata |
| 訪問者メタデータスキーマ | visitormetadata.avro |
VISITORMETADATAに含まれます
|
visitormetadataschema |
以下のフィールド説明では、論理フィールドを定義し、そのクラウドストレージのAvroタイプを示します。一般的な送信先マッピングにはタイプマッピングを使用し、正確な物理タイプについては送信先のERDを使用してください。DatabricksおよびBigQueryでは、メタデータ値はベースのaccountsテーブルおよびvisitorsテーブルの動的フィールドではありません。これらは個別のメタデータテーブルに保存されます。
アカウント
| フィールド名 | Avroタイプ | 説明 |
|---|---|---|
id |
文字列 | アカウントの一意の識別子。最大文字数は500字です。 |
auto.id |
文字列 |
idと同じ一意の識別子。Snowflakeエクスポートのスキーマ正規化のために含まれます。最大文字数は500字です。 |
deletedAt |
LONG | オブジェクトが削除された日付。オブジェクトが削除されていない場合は空になります。 |
firstvisitMS |
LONG | アカウントに対してイベントが最初にキャプチャされた時刻のタイムスタンプ(ミリ秒単位)。 |
idhash |
整数 | アカウントIDのハッシュ。 |
lastvisitMS |
LONG | アカウントに対してイベントが最後にキャプチャされた時刻のタイムスタンプ(ミリ秒単位)。 |
lastupdatedMS |
LONG | アカウントが最後に更新された時刻のタイムスタンプ(ミリ秒単位)。 |
値 |
VARIANT | このメタデータフィールドに関連付けられた値。形式とタイプは、メタデータスキーマ内のフィールドの定義によって異なります。 |
<fieldname>_<APP_ID> |
場合により異なる | 複数アプリケーションのサブスクリプションの場合、Pendoは<fieldname>_<APP_ID>の値を、アプリケーションによって異なる可能性のある上記のフィールドに対して送信します。これが可能なメタデータフィールドには、メタデータスキーマファイルでisPerAppがtrueに設定されています(以下を参照)。 |
agent_<fieldname> |
場合により異なる | すべてのエージェントメタデータフィールドに対して、アカウントのavroファイルにagent_<fieldname>という名前のフィールドが作成されます。Pendoメタデータのフィールドタイプとavroタイプのマッピングについては、以下をご覧ください。 |
<metadata_group> |
文字列 |
エージェント以外のメタデータグループに対しては、そのメタデータグループとすべてのフィールドのJSON表現を送信します。メタデータスキーマファイルには、メタデータグループの各フィールドの名前、タイプ、その他の情報が含まれます。 |
incompleteFields |
STRINGのリスト | メタデータスキーマで指定されたタイプと互換性のない値を持つメタデータフィールドのリスト。 |
訪問者
| フィールド名 | Avroタイプ | 説明 |
|---|---|---|
id |
文字列 | 訪問者の一意の識別子。最大文字数は500字です。 |
accountids |
配列 | 訪問者に割り当てられた一意のアカウントID(STRING値)のリスト。各アカウントの最大文字数制限は500字です。 |
accountId |
文字列 | 訪問者が最後に関連付けられたアカウントID。最大文字数は500字です。 |
deletedAt |
LONG | オブジェクトが削除された日付。オブジェクトが削除されていない場合は空になります。 |
firstvisitMS |
LONG | イベントが訪問者に対して最初にキャプチャされたときのタイムスタンプ(ミリ秒単位) |
idhash |
整数 | 訪問者IDのハッシュ。 |
lastbrowsername |
文字列 | 最後に使用したブラウザ名。この値には大文字(A~Z)または小文字(a~z)のみが含まれ、最大長は13字です。 |
lastbrowserversion |
文字列 | 最後に使用したブラウザのバージョン。最大文字数は5,000字です。 |
lastoperatingsystem |
文字列 | 最後に使用したオペレーティングシステム。最大文字数は5,000字です。 |
lastservername |
文字列 | 最後に使用したサーバー名。最大文字数は60,000字です。 |
lastvisitMS |
LONG | 訪問者に対してイベントが最後に記録された時刻のタイムスタンプ(ミリ秒単位)。 |
lastupdatedMS |
LONG | 訪問者が最後に更新された時刻のタイムスタンプ(ミリ秒単位)。 |
lastuseragent |
文字列 | 最後に使用したユーザーエージェント(未解析)。最大文字数は512字です。 |
lastvisitorid |
文字列 | 最新の訪問者ID。最大文字数は500字です。 |
identifiedvisitoratMS |
LONG | Pendoアイデンティティマッピングによって匿名の訪問者IDと識別済みの訪問者IDが統合された際に、訪問者が特定された時刻のタイムスタンプ(ミリ秒単位)が表示されるフィールドです。 |
identifiedvisitorid |
文字列 | PendoのIDマッピングによって匿名訪問者IDが識別済みの訪問者と統合された場合、このフィールドは識別済みの訪問者IDで更新されます。識別された訪問者 ID を利用することで、ユーザージャーニーを一元的に把握できます。最大文字数は500文字です。 |
値 |
VARIANT | このメタデータフィールドに関連付けられた値。形式とタイプは、メタデータスキーマ内のフィールドの定義によって異なります。 |
<fieldname>_<APP_ID> |
場合により異なる | 複数アプリケーションのサブスクリプションの場合、Pendoは<fieldname>_<APP_ID>の値を、アプリケーションによって異なる可能性のある上記のフィールドに対して送信します。これが可能なメタデータフィールドには、メタデータスキーマファイルでisPerAppがtrueに設定されています(以下を参照)。 |
agent_<fieldname> |
場合により異なる | すべてのエージェントメタデータフィールドに対して、訪問者のavroファイルにagent_<fieldname>というフィールドが作成されます。Pendoメタデータのフィールドタイプとavroタイプのマッピングについては、以下をご覧ください。 |
<metadata_group> |
文字列 |
エージェント以外のメタデータグループに対しては、そのメタデータグループとすべてのフィールドのJSON表現を送信します。メタデータスキーマファイルには、メタデータグループの各フィールドの名前、タイプ、その他の情報が含まれます。 |
incompleteFields |
STRINGのリスト | メタデータスキーマで指定されたタイプと互換性のない値を持つメタデータフィールドのリスト。 |
DatabricksとBigQueryのデータウェアハウススキーマ
DatabricksとBigQueryは、同じデータ同期のテーブルおよび列モデルを使用します。各ウェアハウスは独自の規則に従って識別子と物理型名を表示するため、クエリやモデルを構築する際は、対象の宛先のERDを使用してください。
スキーマには以下のテーブルグループが含まれています。
-
ビジネスオブジェクトの定義:
pages、features、tracktypes、guides。 -
イベント:
allevents、matchedpageevents、matchedfeatureevents、matchedtracktypeevents、matchedguideevents。 -
アカウントと訪問者:
accounts、accountmetadata、accountmetadataschema、visitors、visitormetadata、visitormetadataschema。 -
ガイドの効果測定:
guideexperiments、guideexperimentvariants、matchedguideexperimentassignments。これらのテーブルは現在、DatabricksおよびBigQueryでのみ利用可能です。
_transfer_statusテーブルは宛先スキーマにも存在します。そのフィールドについては宛先ERDをご覧ください。
DatabricksとBigQueryは、このスキーマに対する主キー制約または外部キー制約を適用しません。ERDに示されている関係は論理結合です。
宛先ネイティブのデータ型を含む、物理テーブルおよびフィールドの完全な一覧については、Databricks ERDまたはBigQuery ERDを参照してください。
メタデータ
アカウントと訪問者のメタデータは、配信方法によって異なる形式で表されます。クラウドストレージでは、エンティティファイルに値を埋め込み、フィールド定義を別途送信します。Snowflakeでは、エンティティ値とフィールド定義を正規化されたメタデータテーブルに格納します。DatabricksとBigQueryでは、アカウントと訪問者用に、正規化された値テーブルとスキーマテーブルを別々に使用します。
クラウドストレージ
各エクスポートでは、2種類のファイルが生成されます。
エンティティファイル(
accounts.avroおよびvisitors.avro)。各エンティティにつき1行。メタデータ値は動的列として埋め込まれています。エージェントのメタデータグループフィールドはagent_<fieldname>として表示され、他のグループ(例えばカスタムやSalesforce)はグループ名を冠した単一のJSONエンコードされた文字列列として表示されます。メタデータスキーマファイル(
accountmetadata.avroおよびvisitormetadata.avro)。各メタデータフィールド定義につき1行。これらのファイルはエンティティIDやエンティティごとの値を含みません。avroFieldNameフィールドを使ってエンティティファイルの列名をメタデータ定義にマッピングします。
Snowflake
データ同期は、一般的なクラウドストレージメタデータスキーマファイルとは異なるSnowflake固有の内部ファイル形式を生成します。このフォーマットはlong形式(正規化済み)です。エンティティIDとエンティティごとの値の両方を含む、エンティティとメタデータフィールドごとに1行ずつあります。
ACCOUNTMETADATAとVISITORMETADATAテーブルは、このSnowflakeフォーマットに基づいて構築されています。これらは、クラウドストレージのaccountmetadata.avroファイルとvisitormetadata.avroファイルの直接のコピーではありません。
注:SnowflakeストアドプロシージャACCOUNTMETADATA_LOAD_AND_MERGEおよびVISITORMETADATA_LOAD_AND_MERGEは、AccountIDおよびVisitorIDを参照していますが、これはaccountmetadata.avroやvisitormetadata.avroからではなく、このSnowflake固有のロングフォーマットファイルからロードするためです。
DatabricksとBigQuery
DatabricksとBigQueryは、アカウント、訪問者、およびそのメタデータのために6つのテーブルを使用します。
-
accountsとvisitorsには、基本エンティティのレコードが含まれます。 -
accountmetadataとvisitormetadataには、エンティティごとのメタデータ値が含まれます。 -
accountmetadataschemaとvisitormetadataschemaには、メタデータフィールドの定義が含まれます。
このモデルでは、メタデータ値とスキーマ定義が分離されています。正確なフィールドとデータウェアハウス固有のタイプについては、宛先のERDを参照してください。
メタデータスキーマフィールド
次の表では、メタデータ値とスキーマ定義の論理フィールドについて説明し、クラウドストレージのAvroタイプを示します。特定の配信モデルに固有のフィールドは、その説明に明記されています。一般的な送信先マッピングにはタイプマッピングを使用し、正確な物理タイプについては送信先のERDを使用してください。
クラウドストレージのメタデータスキーマファイル(accountmetadata.avroおよびvisitormetadata.avro)には、フィールド定義のみが含まれ、エンティティIDおよびエンティティごとの値は含まれません。avroFieldName列は、各フィールド定義をaccounts.avroまたはvisitors.avro内の対応する列にリンクします。SnowflakeのACCOUNTMETADATAテーブルとVISITORMETADATAテーブルには、代わりにエンティティIDと値が直接含まれ、エンティティとフィールドの組み合わせごとに1行となります。
| フィールド名 | Avroタイプ | 説明 |
|---|---|---|
accountIdまたはvisitorId
|
JPNデータセンターではFeedback機能は提供していません。 | エンティティ識別子。Snowflakeのみ。accountmetadata.avroまたはvisitormetadata.avroに存在しません。 |
avroFieldName |
文字列 | クラウドストレージのみ。Avroエンティティファイル(accounts.avroまたはvisitors.avro)内のフィールド名。このフィールドを使用して、メタデータ定義をエンティティファイル内の対応する列にマッピングします。最大文字数は5,002文字です。このフィールドはSnowflakeのACCOUNTMETADATAまたはVISITORMETADATAテーブルに存在しません。 |
name |
文字列 | Pendoのメタデータフィールド名。最大文字数は5000字です。 |
グループ |
文字列 | Pendoのメタデータフィールドのグループ名。最大文字数制限は5,000文字です。このフィールドは、SnowflakeテーブルではmetadataGroupという名前になります。 |
displayName |
文字列 | Pendoのメタデータフィールドの表示名。最大文字数は5000字です。 |
type |
文字列 | フィールドのデータ型。string、int、float、boolean、time、listなどをオプションとして選択できます。 |
elementType |
文字列 |
typeがlistの場合、各要素のデータ型。該当しない場合は空白になります。この値には小文字(a-z)のみが含まれ、最大長は7文字です。 |
elementformat |
文字列 | メタデータフィールドのデータ形式。例えば、typeがtimeの場合、elementFormatはmillisecondsなどになります。該当しない場合は空白になります。最大文字数は40字です。 |
isDeleted |
ブール値 | フィールドが削除済みの場合はtrue。 |
isPerApp |
ブール値 | フィールドが各アプリケーションに存在できる場合はtrue(複数アプリケーションのサブスクリプションのみ可能です)。 |
値 |
JPNデータセンターではFeedback機能は提供していません。 | エンティティごとのメタデータ値。Snowflakeのみ。クラウドストレージの場合、エンティティごとの値はaccounts.avroまたはvisitors.avroに動的列として保存されます(エージェントグループフィールドはagent_<fieldname>、その他のグループはグループ名が付けられたJSONエンコード文字列列)。 |