イベントと訪問関数 V3
この記事では、V3ランタイムを使用するイベントと訪問関数について説明します。
入力データ
入力パラメータは、関数のタイプにより異なります:
- イベント関数には
event
パラメータがあります。visit
とvisitor
パラメータは null です。 - 訪問関数には
visitor
とvisit
パラメータがあります。event
パラメータは null です。
イベントと訪問関数には、認証を取得し、グローバル変数を取得するための helper.getAuth()
と helper.getGlobalVariable()
を提供する追加のパラメータ、helper
があります。
activate() 関数
V3イベントまたは訪問関数を作成すると、関数コードエディタの Code タブにデフォルトのコードが表示されます。このコードにはグローバルな activate
関数が含まれています。関数の入力パラメータは activate()
関数に渡されます。以下の例はイベント関数の activate()
を示しています:
activate(async ({ event, helper }) => {
...
});
デフォルトのコードの最初と最後の行の間のコードを、あなたのニーズに合わせて変更します。
track() 関数
関数はグローバルな track()
関数を使用して、イベントをTealium Collectに送信することができます。track()
には以下のように2つの入力パラメータがあります:
data
オブジェクト – Tealium Collectに送信されるイベントデータ。config
オブジェクト – 任意。以下のフィールドを含みます:tealium_account
– アカウント名を指定します。tealium_profile
– プロファイルを指定します。tealium_datasource
– データソースを指定します。
アカウント、プロファイル、データソースのフィールドがdata
オブジェクトに含まれている場合、config
オブジェクトは必要ありません。
各関数の呼び出しは、track()
を最大6回まで呼び出すことができます。
以下の例は、data
と config
パラメータで track()
を呼び出す方法を示しています:
track(data, {
tealium_account: event.account,
tealium_profile: event.profile,
tealium_datasource: 'x3p4b7'
})
.then(response => {
// レスポンスを処理するコードはここに入ります
})
以下の例は、data
パラメータのみで track()
を呼び出す方法を示しています:
track(data)
.then(response => {
// レスポンスを処理するコードはここに入ります
})
track()
関数の詳細な例については、Tealium Collect HTTP APIにイベントを送信するを参照してください。
イベントオブジェクト
イベント関数は、Tealiumがイベントを処理した後に呼び出されるため、イベントを変更することはできません。イベントを変更するには、イベント属性のエンリッチメントまたはイベント変換関数を使用します。また、Tealiumに送信する前にデータソースでイベントを変更することもできます。
event
オブジェクトはイベント関数で利用可能で、イベントデータを含んでいます。
プロパティ | データタイプ | 説明 |
---|---|---|
account |
string | Tealiumのアカウント。 |
data |
object | イベントデータを含むデータレイヤー。 |
env |
string | 実行環境。値は qa 、dev 、または prod です。 |
event_id |
string | TealiumのイベントID。 |
post_time |
number | イベントが発生した時刻を示すタイムスタンプ。 |
profile |
string | Tealiumのプロファイル。 |
useragent |
string | ブラウザなどのユーザーエージェントを表す文字列。 |
visitor_id |
string | Tealiumの訪問ID。 |
function getAttributeNameById(id) |
string | 指定した属性の名前を含む文字列を返します。id は属性IDを指定する文字列です。 |
function getAttributeValueById(id) |
any | 指定した属性の値を返します。id は属性IDを指定する文字列です。 |
データオブジェクト
data
オブジェクトは、着信イベントのデータを含んでいます。
プロパティ | タイプ | 説明 |
---|---|---|
dom |
Object | 標準的なページデータ。 |
firstparty_tealium_cookies |
Object | ブラウザからのすべてのクッキー。 |
js |
Object | ページからのJavaScript変数。 |
meta |
Object | ウェブページのメタタグからのデータ。 |
udo |
Object | 着信イベントのプロパティを含むユニバーサルデータオブジェクト。 |
イベントオブジェクトの例
以下は、イベントオブジェクトデータの例を示しています:
{
"account": "your-account",
"profile": "main",
"event_id": "run-test-event-id",
"visitor_id": "run-test-visitor-id",
"data": {
"dom": {
"viewport_height": 766,
"referrer": "",
"viewport_width": 1440,
"domain": "www.example.com",
"title": "Home Page",
"query_string": "q=help",
"hash": "",
"url": "https://www.example.com/?q=help",
"pathname": "/"
},
"udo": {
"tealium_event": "page_view",
"ut.account": "your-account",
"ut.visitor_id": "0176cb4f3482110a5ba4702e147b0006d005a065104f2",
"page_name": "Home Page",
"ut.event": "view",
"search_keyword": "help",
"ut.domain": "example.com",
"tealium_profile": "main",
"ut.version": "ut4.46.202006020705",
"tealium_session_id": "1609910608323",
"tealium_account": "your-account",
"ut.profile": "main"
},
"firstparty_tealium_cookies": {
"utag_main__sn": "12",
"utag_main_dc_visit": "12",
"utag_main_ses_id": "1609910610822",
"utag_main_dc_region": "us-east-1",
"utag_main__st": "1609913306118",
"utag_main_v_id": "0176cb4f3482110a5ba4702e147b0006d005a065104f2",
"utag_main__se": "66",
"utag_main__ss": "0",
"utag_main_dc_event": "60",
"utag_main__pn": "5"
}
},
"env": "prod",
"post_time": 1537305808000
}
ヘルパーオブジェクト
helper
オブジェクトは helper.getGlobalVariable()
と helper.getAuth()
メソッドを提供します。
helper.getGlobalVariable()
関数は helper.getGlobalVariable()
を使用してグローバル変数を取得し、グローバル変数のキーをパラメータとして渡します。以下のようになります:
activate(({ helper }) => {
console.log(helper.getGlobalVariable("TEST_GLOBAL_VAR"));
});
グローバル変数の追加と編集についての詳細は、グローバル変数の管理を参照してください。
helper.getAuth()
関数は helper.getAuth()
を使用して、関数に追加された認証を取得します。関数は認証トークンを helper.getAuth()
に渡します。以下のようになります:
activate(({ helper }) => {
console.log(helper.getAuth("auth_token_name"));
})
認証トークンは、認証が関数に追加されたときに作成されます。関数に認証を追加する方法については、イベントまたは訪問関数に認証を追加するを参照してください。
訪問オブジェクト
訪問関数は、訪問が処理された後に呼び出されます。訪問プロファイルが処理された後に訪問プロファイルを変更することはできません。訪問プロファイルを変更するには、訪問または訪問属性のエンリッチメントを使用します。
visitor
オブジェクトは訪問関数で利用可能で、訪問データを含んでいます。
プロパティ | データタイプ | 説明 |
---|---|---|
badges |
string[] | バッジ属性。 |
metrics |
object(key, number) | 数値属性。 |
properties |
object(key, string) | 文字列属性。 |
dates |
object(key, epoch) | エポック形式の日付属性。 |
flags |
object(key, boolean) | ブール属性。 |
metrics_sets |
object(key, object(key, number)) | テリー属性。 |
property_sets |
object(key, string[]) | 文字列のセット属性。 |
funnels |
object (例を参照) | ファネル属性。 |
sequences |
object (例を参照) | タイムライン属性。 |
property_lists |
object(key, string[]) | 文字列の配列属性。 |
metric_lists |
object(key, number[]) | 数値の配列属性。 |
flag_lists |
object(key, boolean[]) | ブール値の配列属性。 |
secondary_ids |
string | ユーザー識別子(例:メールアドレス、ソーシャルメディアID、顧客ID)。 |
audiences |
string[] | 訪問が現在所属しているオーディエンス。 |
creation_ts |
epoch | 訪問の作成タイムスタンプ。 |
new_visitor |
boolean | 新規訪問であるかどうかを示します。 |
audiences_joined_at |
number | 訪問がオーディエンスに参加したタイムスタンプ。 |
current_visit |
visit object | 現在の訪問に関するデータ。 |
function getAttributeNameById(id) |
string | 指定された属性IDの名前を含む文字列を返します。id は属性IDを含む文字列です。 |
function getAttributeValueById(id) |
any | 指定された属性IDの値を返します。id は属性IDを含む文字列です。 |
訪問オブジェクトの例
以下はvisitor
オブジェクトデータの例です:
{
"metrics": {
"Metric 1": 1,
"Metric 2": 2
},
"dates": {
"Date 1": 1603373790000,
"Date 2": 1603373522000
},
"properties": {
"profile": "username",
"visitor_id": "017560818b67001bc185a07f1cd703078003405000b7e",
"account": "user-account"
},
"metrics_sets": {
"Product Categories Purchased": {
"Shoes": 1,
"Pants": 3,
"Shirts": 7,
"Shorts": 2
}
},
"sequences": {
"Hotel Search Timeline": [
{
"timestamp": 1681858801598,
"snapshot": {
"Searched Hotel City": "Paradise Island"
}
},
{
"timestamp": 1681860398985,
"snapshot": {
"Searched Hotel City": "Skokie"
}
},
{
"timestamp": 1681860423335,
"snapshot": {
"Searched Hotel City": "Las Vegas"
}
}
]
},
"funnels": {
"Purchase Funnel": {
"completed": true,
"steps": {
"1": {
"timestamp": 1636661624226,
"snapshot": {
"product_name": "Skinny Jeans"
}
},
"2": {
"timestamp": 1636661624227
},
"3": {
"timestamp": 1636661624228
},
"4": {
"timestamp": 1636661624229,
"snapshot": {
"order_id": "0123456789",
"order_total": "34.98"
}
}
}
}
},
"audiences": [
"Audience 1",
"Audience 2"
],
"badges": [
"Badge 1",
"Badge 2"
],
"creation_ts": 1603373522000,
"current_visit": {
"metrics": {
"Metric 1": 1.3,
"Metric 2": 6
},
"dates": {
"Date 1": 1603373868000,
"Date 2": 1603373790000
},
"properties": {
"Property 1": "Chrome",
"Property 2": "https://URL-for-website "
},
"flags": {
"Flag 1": true,
"Flag 2": false
},
"property_sets": {
"Property Set 1": [
"Mac desktop"
],
"Property Set 2": [
"Chrome"
]
},
"creation_ts": 1603373790000,
"total_event_count": 2,
"events_compressed": false
},
"audiences_joined_at": {
"Audience 1": 1603363523014,
"Audience 2": 1603363523014
}
}
訪問オブジェクト
visit
オブジェクトは訪問関数で利用可能で、現在の訪問のデータを含みます。
プロパティ | データタイプ | 説明 |
---|---|---|
metrics |
object(key, number) | 数値属性。 |
properties |
object(key, string) | 文字列属性。 |
dates |
object(key, epoch) | エポック形式の日付属性。 |
flags |
object(key, boolean) | ブール属性。 |
metrics_sets |
object(key, object(key, number)) | 集計属性。 |
property_sets |
object(key, string[]) | 文字列のセット属性。 |
funnels |
object (see example) | ファネル属性。 |
sequences |
object (see example) | タイムライン属性。 |
property_lists |
object(key, string[]) | 文字列の配列属性。 |
metric_lists |
object(key, number[]) | 数値の配列属性。 |
flag_lists |
object(key, boolean[]) | ブールの配列属性。 |
events_compressed |
boolean | イベントが圧縮されているかどうかを示します。 |
total_event_count |
number | イベントの総数。 |
creation_ts |
number | 訪問の作成タイムスタンプ。 |
function getAttributeNameById(id) |
string | 指定された属性IDの名前を含む文字列を返します。id は属性IDを含む文字列です。 |
function getAttributeValueById(id) |
any | 指定された属性IDの値を返します。id は属性IDを含む文字列です。 |
訪問オブジェクトの例
以下はvisit
オブジェクトデータの例です:
{
"metrics": {
"Metric 1": 1.3,
"Metric 2": 6
},
"dates": {
"Date 1": 1603373868000,
"Date 2": 1603373790000
},
"properties": {
"Property 1": "Chrome",
"Property 2": "https://URL-for-website "
},
"flags": {
"Flag 1": true,
"Flag 2": false
},
"metrics_sets": {
"Product Categories Purchased": {
"Shoes": 1,
"Pants": 3,
"Shirts": 7,
"Shorts": 2
}
},
"property_sets": {
"Property Set 1": [
"Mac desktop"
],
"Property Set 2": [
"Chrome"
]
},
"sequences": {
"Hotel Search Timeline": [
{
"timestamp": 1681858801598,
"snapshot": {
"Searched Hotel City": "Paradise Island"
}
},
{
"timestamp": 1681860398985,
"snapshot": {
"Searched Hotel City": "Skokie"
}
},
{
"timestamp": 1681860423335,
"snapshot": {
"Searched Hotel City": "Las Vegas"
}
}
]
},
"funnels": {
"Purchase Funnel": {
"completed": true,
"steps": {
"1": {
"timestamp": 1636661624226,
"snapshot": {
"product_name": "Skinny Jeans"
}
},
"2": {
"timestamp": 1636661624227
},
"3": {
"timestamp": 1636661624228
},
"4": {
"timestamp": 1636661624229,
"snapshot": {
"order_id": "0123456789",
"order_total": "34.98"
}
}
}
}
},
"creation_ts": 1603373790000,
"total_event_count": 2,
"events_compressed": false
}
最終更新日 :: 2024年December月18日