データ同期スキーマの定義

最終更新日:

Pendoのデータ同期機能を使用すると、AvroファイルをGoogle Cloud Storage(GCS)バケット、Amazon S3、Microsoft Azure Storageにエクスポートできます。「抽出、変換、読み込み」(ETL)パイプラインでの使用に適しているため、Avroファイルタイプを使用します。この記事では、データ同期プロセスの一環としてエクスポートされるAvroファイルと、Avroファイルの各タイプに含まれる値について説明します。

データ同期のエクスポート

エクスポートされる内容には、イベントファイルやイベントタイプの定義のほか、コンテキスト情報が含まれるため、追加のルックアップやAPIコールを行うことなく、イベントから最大限の価値を引き出すことができます。エクスポートされる内容は以下のとおりです。

  • すべてのイベントのイベントファイル(チームで未定義のものを含む)
  • ページ、フィーチャー、トラックイベントなど、定義された各イベントタイプ(「一致」)のイベントファイル。
  • 各イベントタイプの定義ファイルと、定義された各イベントのメタデータと詳細を含むガイドイベント。
  • 上記のすべてのファイルを参照するエクスポートマニフェスト。クラウドストレージからデータウェアハウスにデータを読み込むのに使用します。

日付とタイムスタンプは協定世界時(UTC)です。詳細については、「データ同期のエクスポート処理」の「タイムスタンプとタイムゾーン」をご参照ください。

イベントファイルスキーマ

イベントファイルスキーマは、データ同期用のAvroファイルでエクスポートするイベントデータの構造と形式を定義します。スキーマは、以下のイベントファイルのすべてのタイプに適用されます。

  • すべてのイベント
  • ページ
  • フィーチャー
  • トラックイベント

ガイドイベントは上記のイベントタイプファイルに含まれているため、独自のイベントファイルはありませんが、独自の定義ファイルがあります。

以下のスキーマ定義には、生成できるさまざまなイベントタイプ、各イベントタイプに関連付けられているフィールド、および各フィールドの定義に使用するデータタイプに関する情報が含まれています。

指標 タイプ 説明
matchableId 文字列 各イベントと一致するルールを持つ一致(ページ、フィーチャー、トラックイベント)への参照。すべてのイベントファイルには存在しません。
periodId DATE データウェアハウスへの読み込みを支援する便利なフィールドで、特定のイベントのbrowserTimestampの日付部分に等しい。日付はすべてUTCで、形式はYYYY-MM-DDです。
visitorId 文字列 イベントの訪問者ID。
accountId 文字列 イベントのアカウントID。アカウント情報が利用できない場合は、空の文字列が使用されます。
browserTimestamp LONG イベントのタイムスタンプ。use_avro_logical_typesフラグで日付としてデータウェアハウスに読み込むことができます。
country 文字列 remoteIpに関連付けられた国。このフィールドは空白でもかまいません。
destinationStepId 文字列 フローを示すガイドの宛先ステップのIDを指定するguideAdvancedイベントに関連します。前のステップIDまたは次のステップIDにできます。singleEventsおよびguideEventsソースに表示されます。
elementPath 文字列 ウェブイベント用。空白か、イベントに関連するDOM要素を指定するCSSスタイルの文字列。モバイルの場合、イベントに関連するウィジェットのJSON形式の説明。
eventClass 文字列 uiまたはtrack
eventId 文字列 一意のイベント識別子。
eventSource 文字列 イベントソースには、email(実際のメールにより発生したイベント)、mobile(モバイルアプリで発生したイベント)、web(ウェブページで発生したイベント)などがあります。
eventType 文字列 イベントのタイプ。次のような例が挙げられます。change:訪問者がアプリ内の要素を変更したことを示します。click:訪問者がアプリ内の要素をクリックしたことを示します。focus:訪問者がアプリ内の要素にフォーカスしたことを示します。group:Twilioセグメントのインテグレーションによる「グループ」呼び出しに応答するイベント。guideActivity:訪問者がPendoガイドを使用したことを示します。guideDismissed:訪問者がPendoガイドを閉じたことを示します。guideSeen:訪問者がPendoガイドを閲覧したことを示します。identify:アプリが訪問者やアカウントのアイデンティティを特定したことを示します。load:ページがロードされたことを示します。meta:アプリが訪問者やアカウントのメタデータを送信したことを示します。pollResponse:訪問者がPendoの投票とアンケート調査を送信したことを示します。
guideId 文字列 ガイド関連イベントや投票調査関連イベントを生成するガイドの一意の識別子。このフィールドは空白でもかまいません。
guideSeenReason 文字列 guideSeenイベントタイプの場合、ガイドがユーザーに表示された理由。
guideSeenTimeoutMS

LONG

guideTimeoutイベントの場合、guideTimeoutイベントの送信前に、特定のガイドステップが表示されるまでエージェントが待機した時間。
guideSessionId 文字列 ガイドや同時に読み込まれたその他納品物のリストの識別子。このIDは、クライアントからガイドがリクエストされるたびに変更され、読み込み中に発生するイベントは同じIDを持ちます。
guideSnoozeDurationMS LONG guideSnoozedイベントタイプの場合、ガイドのスヌーズ時間(ミリ秒単位)。
guideStepId 文字列 ガイド関連イベントや投票調査関連イベントを生成するガイドステップの一意の識別子。このフィールドは空白でもかまいません。
language 文字列 guideSeenイベントタイプの場合、表示されているガイドの言語。このフィールドは空白でもかまいません。
latitude 小数 イベントのremoteIpの緯度。このフィールドは空白でもかまいません。
longitude 小数 イベントのremoteIpの経度。このフィールドは空白でもかまいません。
oldVisitorId 文字列 Pendoが認証を通じて識別する前に、訪問者に割り当てられた匿名の訪問者 ID。
loadDurationMS LONG loadイベントの場合、ウェブページのレンダリングにかかった時間(ミリ秒単位)。ページの動的部分の読み込みにかかる時間は含まれません。
pollId 文字列 pollResponseイベントを生成した投票調査の識別子。
pollResponse 文字列 pollResponseイベントを生成した投票調査に対するJSON形式の回答。投票調査でのみ利用可能なデータへのインデックスにできます。eventTypepollResponseでない場合、pollResponseプロパティはありません。
pollType 文字列 pollResponseイベントを生成した投票調査のタイプ。NumberScalePositiveNegativeFreeFormPickListのいずれかです。
propertiesJson 文字列 ページパラメータを含む、このイベントのすべてのユーザー定義イベントプロパティのJSON形式のマップ。履歴メタデータが訪問者またはアカウントに昇格された場合、このJSONにはそれぞれvisitormetadatavisitormetadata文字列が含まれます。
region 文字列 イベントのremoteIpのうち、州を表す2文字のコードで示される米国の地域。このフィールドは空白でもかまいません。
remoteIp 文字列 イベントを生成したremoteIp。このデータを収集しない場合、代わりに0.0.0.0が保存されます。ipv6アドレスにすることもできます。一部のプロキシとモバイルネットワークでは、有用なIPアドレスは収集されません。
server 文字列 イベントのURLのサーバー名部分。このフィールドは空白でもかまいません。
uiElementActions 文字列 エージェントによってguideActivityイベントが送信されるガイドとのインタラクションに関連付けられた要素アクション(openLinkguideSnoozedなど)。これは、singleEventsおよびguideEventsのソースに表示されます。
uiElementId 文字列 ガイド内のUI要素がクリックされたときのガイド要素の一意の識別子。これにより、guideActivityイベントがエージェントに送信されます。これは、singleEventsguideEventsguideElementClick、およびguideElementClickEverのソースに表示されます。
uiElementText 文字列 エージェントがguideActivityイベントの一環としてフィールドを送信するときのガイド要素のテキスト。guideActivityイベントがガイド要素のテキストと共に送信されると、ui_element_textsingleEventsおよびguideEventsのソースに表示されます。ui_element_textフィールドなしでguideActivityイベントが送信された場合でも、処理は実行されます。サブスクリプションによりすべてのテキストの除外を選択した場合、イベントが同時に送信されたとしても、ui_element_textは保存されません。
uiElementType 文字列 guideActivityイベントの送信時にクリックされた要素のタイプ。これは、singleEventsおよびguideEventsのソースに表示されます。
url 文字列 ウェブイベントを生成したページの正規化されたURL。モバイルイベントの場合、URLは画面構造をJSON形式で表したものになります。
userAgent 文字列 ウェブイベントを受信したときの、HTTPSリクエストからのユーザーエージェント。モバイルイベントの場合、userAgentはイベントを生成したデバイスタイプをテキスト形式で表したものになります。どちらのタイプの値も、ユーザーエージェントの解析機能と集計によって適切に解析されます。

イベントタイプの定義

ページ、フィーチャー、およびトラックイベントの定義は、それぞれのAvroファイルに含まれており、該当するイベントファイルに含まれるイベントデータに追加できます。

ページ

指標 タイプ 説明
pageId 文字列 ページの識別子。
kind 文字列 オブジェクトの種類の説明。常にPageになります。
lastUpdatedAt LONG ページが最後に更新されたときのエポックタイムスタンプ(ミリ秒単位)。
createdAt LONG ページが作成されたときのエポックタイムスタンプ(ミリ秒単位)。
rulesJson 文字列 Pendo Classic(旧)デザイナーによって作成されたページを定義する正規表現ルール。
name 文字列 ページに付けられた名前。
isCoreEvent ブール値 イベントがPendo Coreイベントかどうか。

フィーチャー

指標 タイプ 説明
featureId 文字列 フィーチャーの識別子(サブスクリプションごとに一意)。
kind 文字列 オブジェクトの種類の説明。常にFeatureになります。
lastUpdatedAt LONG フィーチャーが最後に更新されたときのエポックタイムスタンプ(ミリ秒単位)。
createdAt LONG フィーチャーが作成されたときのエポックタイムスタンプ(ミリ秒単位)。
pageId 文字列 フィーチャーを含むページの識別子。
name 文字列 フィーチャーに付けられた名前。
isCoreEvent ブール値 イベントがPendo Coreイベントかどうか。

トラックイベント

指標 タイプ 説明
trackTypeId 文字列 トラックイベントの識別子(サブスクリプションごとに一意)。
kind 文字列 オブジェクトの種類の説明。常にTrackTypeになります。
lastUpdatedAt LONG トラックイベントが最後に更新されたときのエポックタイムスタンプ(ミリ秒単位)。
createdAt LONG トラックイベントが作成されたときのエポックタイムスタンプ(ミリ秒単位)。
eventPropertyNames 文字列 含まれているトラックイベントプロパティの名前。
name 文字列 トラックイベントに付けられた名前。
isCoreEvent ブール値 イベントがPendo Coreイベントかどうか。

ガイド

指標 タイプ 説明
guideId 文字列 ガイドの識別子(サブスクリプションごとに一意)。
kind 文字列 オブジェクトの種類の説明。常にGuideになります。
lastUpdatedAt LONG ガイドが最後に更新されたときのエポックタイムスタンプ(ミリ秒単位)。
createdAt LONG ガイドが作成されたときのエポックタイムスタンプ(ミリ秒単位)。
state 文字列 ガイドの可視性の状態(draftstagedpublicdisabled)。
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 レコード guideStepIdnamepageIdappRelayUrlelementsのSTRING値を含むガイドステップ。

現時点では、投票とアンケート調査の質問はガイドオブジェクトスキーマでは送信されません。

イベントファイルスキーマは、各イベントタイプ(すべてのイベントページフィーチャートラックイベント)のすべてのファイルに適用されます。ガイド専用のファイルはありません。代わりに、ガイドイベントは、該当するページフィーチャー、およびトラックイベントのファイルと同様に、すべてのイベントファイルに含まれます。

たとえば、「ガイドY」が「ページX」で起動された場合、guideActivityイベントはすべてのイベントファイルおよび「ページX」のイベントストリームに存在し、guideIdは「Y」に設定されます。イベントがguideActivityイベントでない場合、ガイドイベントに関連付けられたフィールドは空白になります。

さらに、イベントタイプごとに複数のイベントファイルが存在する場合があります。たとえば、アプリケーションに3件のタグ付きページ、2件のタグ付きフィーチャー、および2件の定義済みトラックイベントがある場合、エクスポートごとに以下の12個のAvroファイルを受け取ります。

  • ガイド定義(allguides.avro)
  • ページ定義(allpages.avro)
  • フィーチャー定義(allfeatures.avro)
  • トラックイベント定義(alltracktypes.avro)
  • すべてのイベントファイル(allevents.avro)
  • 3件のページイベントファイル(page1.avro、page2.avro、page3.avro)
  • 2件のフィーチャーイベントファイル(feature1.avro、feature2.avro)
  • 2件のトラックイベントファイル(tracktype1.avro、tracktype2.avro)

上記リスト内のファイル名は、説明を目的としたものです。実際のページ、フィーチャー、トラックイベントのファイル名は、各エクスポートの「billofmaterials.json」にある適切なIDを反映したものになります。

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