diff --git a/src/_data/catalog/destination_categories.yml b/src/_data/catalog/destination_categories.yml
index ad2f288c7c..d653dbdb3f 100644
--- a/src/_data/catalog/destination_categories.yml
+++ b/src/_data/catalog/destination_categories.yml
@@ -1,5 +1,5 @@
# AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
-# destination categories last updated 2025-10-23
+# destination categories last updated 2025-10-30
items:
- display_name: A/B Testing
slug: a-b-testing
diff --git a/src/_data/catalog/destinations.yml b/src/_data/catalog/destinations.yml
index 82fcaf9202..029021c75e 100644
--- a/src/_data/catalog/destinations.yml
+++ b/src/_data/catalog/destinations.yml
@@ -1,5 +1,5 @@
# AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
-# destination data last updated 2025-10-23
+# destination data last updated 2025-10-30
items:
- id: 637e8d185e2dec264895ea89
display_name: 1Flow
@@ -46086,7 +46086,7 @@ items:
hidden: false
defaultTrigger: event = "Audience Entered"
fields:
- - id: xuwgsAQuKxdRGXHQh1zApq
+ - id: asLVxgzatTT6dCnSi39NHD
sortOrder: 0
fieldKey: mobileDeviceIds
label: Mobile Device IDs
@@ -46112,7 +46112,7 @@ items:
hidden: false
defaultTrigger: event = "Audience Entered"
fields:
- - id: dpYdPCh2hAVKAFDBHJBrPP
+ - id: mjCFd3WMCQatMT6QrAsdyN
sortOrder: 0
fieldKey: mobileDeviceIds
label: Mobile Device IDs
@@ -46138,7 +46138,7 @@ items:
hidden: false
defaultTrigger: event = "Audience Entered"
fields:
- - id: ts9KJyfnahEcam8GEZkd1e
+ - id: cB75wB7Pfdtz3wzdkeqTcK
sortOrder: 0
fieldKey: emails
label: Emails
@@ -46154,7 +46154,7 @@ items:
choices: null
dynamic: false
allowNull: false
- - id: jy2ZtwMsBpoLLxH4pdZazF
+ - id: jk1ryrgmxFwRYTR1gUhskk
sortOrder: 1
fieldKey: phoneNumbers
label: Phone Numbers
@@ -46170,7 +46170,7 @@ items:
choices: null
dynamic: false
allowNull: false
- - id: t1AUHRiBTU8YX9p1pAXgDX
+ - id: aAx3tfk9ENtHMJiErieCMk
sortOrder: 2
fieldKey: zipCodes
label: ZIP Codes
@@ -46184,7 +46184,7 @@ items:
choices: null
dynamic: false
allowNull: false
- - id: kG9cMVVhC7DRxHXcB9p14T
+ - id: tZKU5A4iUW6FFtHcXJZSSG
sortOrder: 3
fieldKey: firstName
label: First Name
@@ -46200,7 +46200,7 @@ items:
choices: null
dynamic: false
allowNull: false
- - id: mSn8c16R93ZatU2YBUpBJM
+ - id: wqAJLtMwHnqeQMv7AeDCsB
sortOrder: 4
fieldKey: lastName
label: Last Name
@@ -46216,7 +46216,7 @@ items:
choices: null
dynamic: false
allowNull: false
- - id: w8w54EpGkLkizPGqXp93nC
+ - id: 8ze9kSzjNvcLz5k7zT4bnS
sortOrder: 5
fieldKey: countryCode
label: Country Code
@@ -46240,7 +46240,7 @@ items:
hidden: false
defaultTrigger: event = "Audience Exited"
fields:
- - id: uj5ZxvzKc7DfAXbyDJ6v82
+ - id: v58ArBPzLwKrTvPk6ip8gG
sortOrder: 0
fieldKey: emails
label: Emails
@@ -46256,7 +46256,7 @@ items:
choices: null
dynamic: false
allowNull: false
- - id: egzgNFRTjecbJB6Hf1tNkG
+ - id: 3QTVkHAWd1eke6tkEn14ne
sortOrder: 1
fieldKey: phoneNumbers
label: Phone Numbers
@@ -46272,7 +46272,7 @@ items:
choices: null
dynamic: false
allowNull: false
- - id: k6C5BNjFjX71q28Z8okDeG
+ - id: 4Tc8QPEfg5GBkC2mVLJmS7
sortOrder: 2
fieldKey: zipCodes
label: ZIP Codes
@@ -46286,7 +46286,7 @@ items:
choices: null
dynamic: false
allowNull: false
- - id: bgn33X5H4EPZCfWnsdqnc9
+ - id: 7pAjWhZRkBrW5pcbpbzGW4
sortOrder: 3
fieldKey: firstName
label: First Name
@@ -46302,7 +46302,7 @@ items:
choices: null
dynamic: false
allowNull: false
- - id: GgRGr63xubq6RPdAbb5KW
+ - id: gUH65VBNHQNSBbQYpy37od
sortOrder: 4
fieldKey: lastName
label: Last Name
@@ -46318,7 +46318,7 @@ items:
choices: null
dynamic: false
allowNull: false
- - id: efdzq5Nt61MB7UKNg9H8DM
+ - id: uLRiQnkCJ3Zv13Xh9TWTXa
sortOrder: 5
fieldKey: countryCode
label: Country Code
@@ -60596,7 +60596,10 @@ items:
- name: domain
type: string
defaultValue: www.googletagmanager.com
- description: A custom domain to load the Google Analytics script from.
+ description: >-
+ A custom domain to load the Google Analytics script from. For more
+ information see [Google's
+ Documentation](https://developers.google.com/tag-platform/tag-manager/server-side/dependency-serving?tag=gtag&option=cdn).
required: false
label: Domain
- name: enableConsentMode
@@ -60643,7 +60646,7 @@ items:
hidden: false
defaultTrigger: type = "track" and event = "Product Added"
fields:
- - id: k9g9zhwrSBWBQ5ozrK1UMU
+ - id: 5nEhpudr9vUMGLeqNaFdYM
sortOrder: 0
fieldKey: user_id
label: User ID
@@ -60661,7 +60664,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 6vk751AgdpDJzk9FSedS1S
+ - id: c75x2WShQdtZX6PAfJufA5
sortOrder: 1
fieldKey: currency
label: Currency
@@ -60678,7 +60681,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: b2MbVQACv8i2YAgAssRS8S
+ - id: eELMnsWtGMsMsUj9BV5NSZ
sortOrder: 2
fieldKey: items
label: Products
@@ -60712,7 +60715,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: rqMqyPpKJzfReDAxoG2tsJ
+ - id: rcVLZcwzkeTHiSa5uQhMcD
sortOrder: 3
fieldKey: value
label: Value
@@ -60727,7 +60730,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: vhWtF9dJn6W72dHfwJgBbj
+ - id: 6sUVMc8nEYYxe1ugxLvBtS
sortOrder: 4
fieldKey: user_properties
label: User Properties
@@ -60745,7 +60748,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 3KeUc7SyXRiCgaPW2SmXwL
+ - id: oQke661gHBigby4dewfQN
sortOrder: 5
fieldKey: params
label: Event Parameters
@@ -60758,7 +60761,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 7J2Mo6SCj6G74WnaSSfnRC
+ - id: 2db3kvEwHtzxBau2tLEioW
sortOrder: 6
fieldKey: send_to
label: Send To
@@ -60781,7 +60784,7 @@ items:
hidden: false
defaultTrigger: type = "track" and event = "Products Searched"
fields:
- - id: 8BtnBgWAgEPgwPy7EuNq88
+ - id: 8z75Q9S7KfgaNYh8FLTH8k
sortOrder: 0
fieldKey: user_id
label: User ID
@@ -60799,7 +60802,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: eoNWPCMHEFQzzyTh9i7zZH
+ - id: dRL3Rurm3jPmGMu5HyssFE
sortOrder: 1
fieldKey: user_properties
label: User Properties
@@ -60817,7 +60820,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: dt6SuUFnc2iyEKedbL9J8S
+ - id: k7gAD9vUbWJNgsZLJ6MxX2
sortOrder: 2
fieldKey: params
label: Event Parameters
@@ -60830,7 +60833,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: kn9VFwaS1mjbPEJYuRYmvt
+ - id: n8exD8sxQCYaMYxKi4GPnq
sortOrder: 3
fieldKey: search_term
label: Search Term
@@ -60845,7 +60848,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 41wzkTtfjzNb5oQConvUxJ
+ - id: 9MBjKpTy21ohiJho31mKfZ
sortOrder: 4
fieldKey: send_to
label: Send To
@@ -60868,7 +60871,7 @@ items:
hidden: false
defaultTrigger: type = "track" and event = "Product Clicked"
fields:
- - id: dMXhAjCE5JVErcn9X8trt5
+ - id: 7gQo6jhpiSWJXk1nCNU55G
sortOrder: 0
fieldKey: user_id
label: User ID
@@ -60886,7 +60889,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: rUT4jTixgFqk1M4xJtox4W
+ - id: 2agW9ohzDviwC764JPrhYT
sortOrder: 1
fieldKey: item_list_name
label: Item List Name
@@ -60901,7 +60904,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: oPkpwMbFVdZXxeHTAF7XzT
+ - id: bZAFba453rxwME2G5Dnb25
sortOrder: 2
fieldKey: item_list_id
label: Item List Id
@@ -60916,7 +60919,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: iQcbN7mJzJEnF3WzkgRNgG
+ - id: 8oW7AMCWyZJ5NiowTdNMfF
sortOrder: 3
fieldKey: items
label: Products
@@ -60950,7 +60953,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: nNAM9zNwE5jrih3hEdZsJQ
+ - id: e58S5Gvch8mxy5bFsfJZYh
sortOrder: 4
fieldKey: user_properties
label: User Properties
@@ -60968,7 +60971,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: k8aRFovrhBLkv5sDiYhZkc
+ - id: cZBXtshRg6GFoyYec1MdzB
sortOrder: 5
fieldKey: params
label: Event Parameters
@@ -60981,7 +60984,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: voDiV76WXNUBJipyf5iBRg
+ - id: rTa2yBFKauiSugxhr5iWRq
sortOrder: 6
fieldKey: send_to
label: Send To
@@ -61006,7 +61009,7 @@ items:
hidden: false
defaultTrigger: type = "track" and event = "Product List Viewed"
fields:
- - id: dM1TacY1zDi5JLBmrF2SDD
+ - id: ad2Tz2pjzReKTbEoXLrBfd
sortOrder: 0
fieldKey: user_id
label: User ID
@@ -61024,7 +61027,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: osJi1NUUtf3owpEQzZSXx6
+ - id: 221XsW8ZNuVzk33brZNTk1
sortOrder: 1
fieldKey: item_list_id
label: Item List Id
@@ -61039,7 +61042,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: smMwk9WP9HSL3nxvcrLHAL
+ - id: aB7Kw72wNZUmCjYsbTXzed
sortOrder: 2
fieldKey: item_list_name
label: Item List Name
@@ -61054,7 +61057,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 5cFeWyi3fVT1LGbmAUZNXJ
+ - id: 6d8Rhyy2RcERL8fKVkaBYU
sortOrder: 3
fieldKey: items
label: Products
@@ -61090,7 +61093,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: gestNS5jsCW3B1fhAFjqb2
+ - id: oih7QUUTRjSN67TvZSibCJ
sortOrder: 4
fieldKey: user_properties
label: User Properties
@@ -61108,7 +61111,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 8yXKiEQhgbqNgm89d9qo1X
+ - id: iNPJEhbV6RxaVFCRmbUup3
sortOrder: 5
fieldKey: params
label: Event Parameters
@@ -61121,7 +61124,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 2UFhgeMVwkjkf14bi97k5N
+ - id: tCsAsh3k7EZsR2n9GhjCR5
sortOrder: 6
fieldKey: send_to
label: Send To
@@ -61144,7 +61147,7 @@ items:
hidden: false
defaultTrigger: type = "track" and event = "Signed Up"
fields:
- - id: d2aagtj6W7GVes6qZPKB2V
+ - id: 3KYFibQ6BkKFyrNcUXsFDK
sortOrder: 0
fieldKey: user_id
label: User ID
@@ -61162,7 +61165,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 6myEUYtpe6MDgtwNhR3Vu9
+ - id: 332N456JKGUZY24gjxpFJf
sortOrder: 1
fieldKey: method
label: Method
@@ -61177,7 +61180,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: aWsb2dc57Fxm9mUuroh3ts
+ - id: 2dDZ4bQyYNyY7vsCqsAGq2
sortOrder: 2
fieldKey: user_properties
label: User Properties
@@ -61195,7 +61198,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 5HMZfKyAqfeND6vxcLS1eQ
+ - id: rPC177Fsn7cYbHk26uPmC7
sortOrder: 3
fieldKey: params
label: Event Parameters
@@ -61208,7 +61211,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: pt3YY8jbHGdNfr1XJ7fERG
+ - id: dw9ygoTmhAsTjZBQuX4Q2E
sortOrder: 4
fieldKey: send_to
label: Send To
@@ -61231,7 +61234,7 @@ items:
hidden: false
defaultTrigger: type = "track"
fields:
- - id: rxz2GVMyBzsanxTGk3RaJk
+ - id: eAUzniRHBCxUXjwCCjxHjL
sortOrder: 0
fieldKey: name
label: Event Name
@@ -61251,7 +61254,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: qnKU8XXtTwhUYq4JDdMFFU
+ - id: sb3oS9usnG177TGj9Nx5UY
sortOrder: 1
fieldKey: lowercase
label: Lowercase Event Name
@@ -61270,7 +61273,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: eSdPEJxraRzdQmqnPjPZUQ
+ - id: nvkv8MFXE7Q9fJeZ8uwqJ7
sortOrder: 2
fieldKey: user_id
label: User ID
@@ -61288,7 +61291,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: sJ9vTdyH6Vv5uGZwzH11Jg
+ - id: xfs2pu4kfVNKiDCkoyTCxH
sortOrder: 3
fieldKey: user_properties
label: User Properties
@@ -61306,7 +61309,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: igzRcEB5poUSFfxaA3Mk1C
+ - id: knvxXJ2K5EoQCX8pPsG4XZ
sortOrder: 4
fieldKey: params
label: Event Parameters
@@ -61319,7 +61322,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: eBc7kFtZred7xxnJkGfn51
+ - id: 3CmStgBPfxDm2Qkuh4pSXY
sortOrder: 5
fieldKey: send_to
label: Send To
@@ -61342,7 +61345,7 @@ items:
hidden: false
defaultTrigger: type = "track" and event = "Order Refunded"
fields:
- - id: hCcz4A7g8Av1oUk7kJE4Vz
+ - id: vq9onMdWbbA7icgqjktb5b
sortOrder: 0
fieldKey: user_id
label: User ID
@@ -61360,7 +61363,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 9sgCAy418GXvtgFPKjCg12
+ - id: 8dHgTF4hS82fWq7VbtGqLX
sortOrder: 1
fieldKey: currency
label: Currency
@@ -61377,7 +61380,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: bc2aVNGPsC1Pud4t6p6szv
+ - id: 6ep5HRGZ6RNnZ3UUKitGyn
sortOrder: 2
fieldKey: transaction_id
label: Order Id
@@ -61392,7 +61395,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: bqsgQf6UemwpYXfpmUKixB
+ - id: bA5rZZc9zcMNjYn6hxEDWo
sortOrder: 3
fieldKey: value
label: Value
@@ -61407,7 +61410,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: raXbK6CAGMT4uPCwtran9f
+ - id: 5U8Uq536d3KmVx5LNqLwvS
sortOrder: 4
fieldKey: affiliation
label: Affiliation
@@ -61424,7 +61427,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: uRA79wrMoqXLSKkWmHWaSS
+ - id: wC92Lev1c4Qx8sMV3T1gfu
sortOrder: 5
fieldKey: coupon
label: Coupon
@@ -61437,7 +61440,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 7WPHapt2KbPaYRzTNap21D
+ - id: qevBKonQQVLxakttaq5QAG
sortOrder: 6
fieldKey: shipping
label: Shipping
@@ -61452,7 +61455,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: swLSZQkZVC8VyVXxHqVXDK
+ - id: 6yZpB7DoXVK4Ga3rL8eYqx
sortOrder: 7
fieldKey: tax
label: Tax
@@ -61467,7 +61470,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: gJHpnKJERhLziY8z9QrjMH
+ - id: fDRJLUV4SbD2yWXnjMAZXT
sortOrder: 8
fieldKey: items
label: Products
@@ -61503,7 +61506,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: prAWLm6yqXbEFDEYB53cfs
+ - id: pVhCxmGji81CdaqrEYtUzD
sortOrder: 9
fieldKey: user_properties
label: User Properties
@@ -61521,7 +61524,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: cZEkBKsBP9WppbGsDkr7uY
+ - id: f6SjC3tSFS8JDEmd3AziFF
sortOrder: 10
fieldKey: params
label: Event Parameters
@@ -61534,7 +61537,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: fKZjgYmHEux9HgbTmFHA1M
+ - id: 4g3CdeMUDKwM7BriUcevDw
sortOrder: 11
fieldKey: send_to
label: Send To
@@ -61557,7 +61560,7 @@ items:
hidden: false
defaultTrigger: type = "track" and event = "Payment Info Entered"
fields:
- - id: x7bo4o5LRahkGDPf7JLMt
+ - id: w3QW2R1AGg76C1J1NmZutJ
sortOrder: 0
fieldKey: user_id
label: User ID
@@ -61575,7 +61578,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 9f7Q4mHcg592fQB4wP6mhf
+ - id: 5Lu24j34DApvTpPqu7ZLi
sortOrder: 1
fieldKey: currency
label: Currency
@@ -61592,7 +61595,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: cLjy31cfMe4dCSYkf4KhVe
+ - id: c92n7zbtgJMTxWqmGCUZDP
sortOrder: 2
fieldKey: value
label: Value
@@ -61607,7 +61610,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 49fkzxJRwapTiTEVhPWvUP
+ - id: 5fLuGEi5HMye5zC1yKfzjY
sortOrder: 3
fieldKey: coupon
label: Coupon
@@ -61620,7 +61623,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: viNErJgxDKiuRD4RgeP2fj
+ - id: 4YXcvfrd5cKpMDZTDJNiPW
sortOrder: 4
fieldKey: payment_type
label: Payment Type
@@ -61635,7 +61638,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: go9DVdyw4aziYoWMSZcUyR
+ - id: 8nh8cF4yaLBZ36LFNya72G
sortOrder: 5
fieldKey: items
label: Products
@@ -61671,7 +61674,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: gpAF8qDuETbAZMpSYXHQGk
+ - id: rhjT5u8hxPYPWLppMtCfvi
sortOrder: 6
fieldKey: user_properties
label: User Properties
@@ -61689,7 +61692,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: vc8UmgT3osGcv81sVLrXFN
+ - id: oQMmCtHbpbkofFamneYK79
sortOrder: 7
fieldKey: params
label: Event Parameters
@@ -61702,7 +61705,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: poKm5coTBEUzcuWiRVhqmc
+ - id: tMFw6hA5Ato4NWKk3KXUk3
sortOrder: 8
fieldKey: send_to
label: Send To
@@ -61725,7 +61728,7 @@ items:
hidden: false
defaultTrigger: type = "track" and event = "Cart Viewed"
fields:
- - id: kTThbrba4Zad9BpfWSDs8G
+ - id: gPLhjCxvxEwtk6oCvhYeFy
sortOrder: 0
fieldKey: user_id
label: User ID
@@ -61743,7 +61746,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: d2foLb2uR59wN9iwRLssJi
+ - id: a5w7WWqYjzoxz3FKNyDwnm
sortOrder: 1
fieldKey: currency
label: Currency
@@ -61760,7 +61763,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 8BZ2sufZnvTBAKBZkoCaGS
+ - id: nS9HfvG3nYo8KzTY3U7zVD
sortOrder: 2
fieldKey: value
label: Value
@@ -61775,7 +61778,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 6y8Tr3TeJxrHrbQ6YayuH1
+ - id: j59GKWg9RzCnrBee81MwGW
sortOrder: 3
fieldKey: items
label: Products
@@ -61811,7 +61814,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: pwkDxcRwx45ZNM5MVD9hnL
+ - id: f3HjpTN5DpjGEoLphmdnp7
sortOrder: 4
fieldKey: user_properties
label: User Properties
@@ -61829,7 +61832,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: peDaxrqrrVE19Yak9wDS2K
+ - id: oXmY4bs9rqBfjc1dfSQL55
sortOrder: 5
fieldKey: params
label: Event Parameters
@@ -61842,7 +61845,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: ueowCno5o6a4uTyKfb8ryR
+ - id: gmCZK1xqhZA7uBaTKEK2qe
sortOrder: 6
fieldKey: send_to
label: Send To
@@ -61865,7 +61868,7 @@ items:
hidden: false
defaultTrigger: type = "page"
fields:
- - id: r3zk5353AER14kKXgbZLQm
+ - id: 42dsYU9o7AnmmSfB1HTkwd
sortOrder: 0
fieldKey: user_id
label: User ID
@@ -61883,7 +61886,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: vTMseaS3V4a3BFNaSzfNWM
+ - id: hCEbDLoPnZBQa4HuvG4PiU
sortOrder: 1
fieldKey: user_properties
label: User Properties
@@ -61901,7 +61904,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 69nx7Y6FeJaqpFcwXgQVx
+ - id: iEmgKNuUQj4QeKEgY3X19w
sortOrder: 2
fieldKey: ads_storage_consent_state
label: Ads Storage Consent State
@@ -61921,7 +61924,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 55rsbxyhL74HzXSb9ozwgn
+ - id: hiHqAFfn6WHXYEVJ5mciGj
sortOrder: 3
fieldKey: analytics_storage_consent_state
label: Analytics Storage Consent State
@@ -61941,7 +61944,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: mjuStCeNwwmtiqHQJYWL3E
+ - id: w9cQ3Fa6F3jicRSXbqDJig
sortOrder: 4
fieldKey: ad_user_data_consent_state
label: Ad User Data Consent State
@@ -61960,7 +61963,7 @@ items:
value: denied
dynamic: false
allowNull: false
- - id: 4sePijuQ51dbn8PWFxvcX4
+ - id: 7BXpk2H9N2keyJWdm9s1oA
sortOrder: 5
fieldKey: ad_personalization_consent_state
label: Ad Personalization Consent State
@@ -61979,7 +61982,7 @@ items:
value: denied
dynamic: false
allowNull: false
- - id: cZ17Xu3k4k1JbodZgQwzBY
+ - id: kdPVfe6odgQeKdh5rKNsF8
sortOrder: 6
fieldKey: campaign_content
label: Campaign Content
@@ -61995,7 +61998,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: rK68TvMo5BcdBYRoTcHcjX
+ - id: 2vZaG5PHHo5KTyGFnEw2iy
sortOrder: 7
fieldKey: campaign_id
label: Campaign ID
@@ -62010,7 +62013,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: kQee3Y9iXkj6GnuyUm6e42
+ - id: oJ5dfjeEeE36jpdCJFc4Hq
sortOrder: 8
fieldKey: campaign_medium
label: Campaign Medium
@@ -62026,7 +62029,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: eWdzSuwvS5SizzEntRetKM
+ - id: 54auWAdbXYiDYyvWPDbBzA
sortOrder: 9
fieldKey: campaign_name
label: Campaign Name
@@ -62041,7 +62044,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: bSozbt1SPSMXnY6QCbcEcy
+ - id: TQngkudxuCFo1zyTLhuTA
sortOrder: 10
fieldKey: campaign_source
label: Campaign Source
@@ -62057,7 +62060,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 8cGN7KzZzPetzQcDUwtmHX
+ - id: jXHpwyUDQ4s6nMmkRF5vVt
sortOrder: 11
fieldKey: campaign_term
label: Campaign Term
@@ -62072,7 +62075,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: fiFtzLBayJk1mLEKSs4jhK
+ - id: 4fg4nf8f1ipHkqqtjH2RsE
sortOrder: 12
fieldKey: content_group
label: Content Group
@@ -62088,7 +62091,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: MHAUwQwXCdie6k1JBbqtT
+ - id: ST2K7gBJaAJCdT1fahzLS
sortOrder: 13
fieldKey: language
label: Language
@@ -62103,7 +62106,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: vTzpCtKHcwbHPWD6VSMWZc
+ - id: 9JNWTZGsqf1BcZcW4uiqy3
sortOrder: 14
fieldKey: page_location
label: Page Location
@@ -62118,7 +62121,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 5XiEeGAvgABtmY1WjwCP13
+ - id: 6XU1rSaH1m9jYA8RRoF99Y
sortOrder: 15
fieldKey: page_referrer
label: Page Referrer
@@ -62134,7 +62137,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: kMPjMj2DgZ83TE1FoSAxvW
+ - id: k59rdF634L6EHVAY43Xydi
sortOrder: 16
fieldKey: page_title
label: Page Title
@@ -62149,7 +62152,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 8YcprRkjhA6hRyeFgWwrz7
+ - id: bMrSqdzzdikj95Zxi2VaZB
sortOrder: 17
fieldKey: screen_resolution
label: Screen Resolution
@@ -62165,7 +62168,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: u8APgAGSvTUyJ7JjrdaaBg
+ - id: 9VhTXWhnJXuxv1eD5eX3qP
sortOrder: 18
fieldKey: send_page_view
label: Send Page Views
@@ -62182,7 +62185,7 @@ items:
value: false
dynamic: false
allowNull: false
- - id: qtupe8G2HSgRnL6sDXKe6s
+ - id: nWkLZewDCvUhCG6GfT81ra
sortOrder: 19
fieldKey: params
label: Event Parameters
@@ -62202,7 +62205,7 @@ items:
hidden: false
defaultTrigger: type = "track" and event = "Order Completed"
fields:
- - id: hzAfDRsdZXqmcrSA1YPSRE
+ - id: wbY2Qigor6x2kxUMnR9FgL
sortOrder: 0
fieldKey: user_id
label: User ID
@@ -62220,7 +62223,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: q9eed8xx48KNErGrND8Fn7
+ - id: 5owyUZhwsbgKcbgx32o2dL
sortOrder: 1
fieldKey: coupon
label: Coupon
@@ -62235,7 +62238,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: q8Uc5DGzYXac7DQ9PZiZZW
+ - id: gGpNiZf2cNFa2nspGKTwhk
sortOrder: 2
fieldKey: currency
label: Currency
@@ -62252,7 +62255,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: fJr9pdodyP4VM9iSvwXWTP
+ - id: 2nsANxcHTazgSDVuNe6xrH
sortOrder: 3
fieldKey: items
label: Products
@@ -62288,7 +62291,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: dBEcEa7aAKPByrBh91cP3Y
+ - id: tMADbSq62YMbLQCPWjqJyM
sortOrder: 4
fieldKey: transaction_id
label: Order Id
@@ -62303,7 +62306,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: mLz7nRuGUAt1ejkfWU2MTp
+ - id: cVspkK3ZHfGZ9jGeLm6P4P
sortOrder: 5
fieldKey: shipping
label: Shipping
@@ -62318,7 +62321,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: AhsQTSHBU3TS63we5uVdC
+ - id: 5Nv19AHx53LMmbZ9dWgGoT
sortOrder: 6
fieldKey: tax
label: Tax
@@ -62333,7 +62336,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 8LSNuNu89gVxjNAbXuuA9j
+ - id: u8nPCF9T8WwCqN4aheXAhR
sortOrder: 7
fieldKey: value
label: Value
@@ -62348,7 +62351,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: cxRtavFNQ257vHfWpeDon
+ - id: wCPnHJevDzeQ9DkeEXFZ5D
sortOrder: 8
fieldKey: user_properties
label: User Properties
@@ -62366,7 +62369,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: wkFZi7Qe3VJMsJTZSek9Pp
+ - id: gFv6b4WxQ1J3stBY7MBQYY
sortOrder: 9
fieldKey: params
label: Event Parameters
@@ -62379,7 +62382,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: gBVS8BT7pQZPLkuK3amp25
+ - id: f1bidTsZNrx64UEfcugRyu
sortOrder: 10
fieldKey: send_to
label: Send To
@@ -62402,7 +62405,7 @@ items:
hidden: false
defaultTrigger: type = "track" and event = "Promotion Viewed"
fields:
- - id: 2fiZBgHNECU7QqdEkoNWYc
+ - id: c6KZLwUCeAWYk1knPXyJRe
sortOrder: 0
fieldKey: user_id
label: User ID
@@ -62420,7 +62423,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: xdkU8QUj8hc4fmLSr9annn
+ - id: gyL3Gncw9VsTb8NLwxyrQZ
sortOrder: 1
fieldKey: creative_name
label: Creative Name
@@ -62433,7 +62436,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: uWFU62e37hRzcT6pPSbPLJ
+ - id: 9qYb9DU3UNnxFGVkTg3uqk
sortOrder: 2
fieldKey: creative_slot
label: Creative Slot
@@ -62448,7 +62451,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 3yiRQQyYfCrjHJbcWax8Hg
+ - id: 9BqLNc1g7X2sKKYULEvoP3
sortOrder: 3
fieldKey: location_id
label: Location ID
@@ -62463,7 +62466,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 83ZZkJ68piy8YVRhnJHxPP
+ - id: xkobgVdHiAkJfzFf9CDjD1
sortOrder: 4
fieldKey: promotion_id
label: Promotion ID
@@ -62478,7 +62481,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: kUe6BBgfcLSAJSLAXXkMCz
+ - id: 5xRucufRrBPguhUHNeqKBs
sortOrder: 5
fieldKey: promotion_name
label: Promotion Name
@@ -62493,7 +62496,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: k67Lzrdk55JVKGS3aG1rSd
+ - id: 7ASsBoqFscvoTQic13F7Tb
sortOrder: 6
fieldKey: items
label: Products
@@ -62527,7 +62530,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 6KJ8RBts9eQzoiM142vi5C
+ - id: s1Sf8dirAvtRiNSssgc4RT
sortOrder: 7
fieldKey: user_properties
label: User Properties
@@ -62545,7 +62548,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: WXCmm7ZRcpZZiLnkrweLo
+ - id: cVDRPo6ogo13d11Gcn5q6K
sortOrder: 8
fieldKey: params
label: Event Parameters
@@ -62558,7 +62561,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: hnfsZTNpNuahmzuu6hSGk2
+ - id: kaP2WU3zi2F8wwH3LhJePD
sortOrder: 9
fieldKey: send_to
label: Send To
@@ -62583,7 +62586,7 @@ items:
hidden: false
defaultTrigger: type = "track" and event = "Product Added to Wishlist"
fields:
- - id: jPmMQArNNWhtt2ACaV8vYR
+ - id: aBCnonyDQqMkpUcDtcMo9r
sortOrder: 0
fieldKey: user_id
label: User ID
@@ -62601,7 +62604,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 98Wqf6T6iBAwHAudSF86f8
+ - id: 8HQrj49dCVyBbmGRYsDmCX
sortOrder: 1
fieldKey: currency
label: Currency
@@ -62618,7 +62621,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: fgbytLjhJki87NSMB9exX5
+ - id: rgh4YmVD3CfxxinVezS6Zg
sortOrder: 2
fieldKey: value
label: Value
@@ -62633,7 +62636,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 52VDcpSZHjpZRVnijneogM
+ - id: tkwxrDYLbHtPz5WCP7Q3R3
sortOrder: 3
fieldKey: items
label: Products
@@ -62667,7 +62670,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: orWsw2B26UkMVb5dKJZvTA
+ - id: hx5Cg4TXVmTy51ZkQSpnBL
sortOrder: 4
fieldKey: user_properties
label: User Properties
@@ -62685,7 +62688,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 6GER64dW1hrm3iGb2Frt3e
+ - id: gvmnvLo6KYTqS7g452dpA9
sortOrder: 5
fieldKey: params
label: Event Parameters
@@ -62698,7 +62701,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: tpjdh9yFPEjrBjZoN3vwF5
+ - id: hhnMy8XF5MUHbVoaKBCs5g
sortOrder: 6
fieldKey: send_to
label: Send To
@@ -62721,7 +62724,7 @@ items:
hidden: false
defaultTrigger: type = "track" and event = "Product Removed"
fields:
- - id: je2FuNVYjw9nWVuJdUaJrM
+ - id: pafkNZzi4hwrngYQUztoxc
sortOrder: 0
fieldKey: user_id
label: User ID
@@ -62739,7 +62742,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: sYgBWwKRqnYiBDDaAHhHHf
+ - id: guTaWstTFTnzGSdY3Dyjgm
sortOrder: 1
fieldKey: currency
label: Currency
@@ -62756,7 +62759,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 9FmN2ynyiBDJpDeTq1HDG9
+ - id: vimhMUEwyvz6UG76taaZ9u
sortOrder: 2
fieldKey: value
label: Value
@@ -62771,7 +62774,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 3dshb149sZMaPGhqVkZ7eA
+ - id: aEmQdSQRb8NDd4mS5R9oXW
sortOrder: 3
fieldKey: items
label: Products
@@ -62805,7 +62808,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: nqZwv66JnoMeeGY25DvdFh
+ - id: 5wbT7qbTnnS3isyY99Sreh
sortOrder: 4
fieldKey: user_properties
label: User Properties
@@ -62823,7 +62826,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: n6YKaw8sZ3wtYKbtGb8KCe
+ - id: ekd7gpFYmfV2uEX21FjLnY
sortOrder: 5
fieldKey: params
label: Event Parameters
@@ -62836,7 +62839,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 3ks8y3VKqmtsnaDroNFXVK
+ - id: mewDLsHhwKQ4ctgraGdfjq
sortOrder: 6
fieldKey: send_to
label: Send To
@@ -62861,7 +62864,7 @@ items:
hidden: false
defaultTrigger: type = "track"
fields:
- - id: xyLzkwJPGQFF8qWzAoR5AL
+ - id: bJqrmboNVvAWwHxuWjk5KW
sortOrder: 0
fieldKey: user_id
label: User ID
@@ -62879,7 +62882,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 4Vq3fmsd87Fkv5171B1syW
+ - id: 5U7nPzKXMoXvaqUhq1amCE
sortOrder: 1
fieldKey: currency
label: Currency
@@ -62896,7 +62899,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: dDbDpg1ySMoM4cVdcDK5wY
+ - id: qTnkhUmnpg8koyUeNfjkC4
sortOrder: 2
fieldKey: value
label: Value
@@ -62911,7 +62914,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: ciwGuHH2pTCws37hbUbgSc
+ - id: wMwZngsoeD9JqRgh8L1sqs
sortOrder: 3
fieldKey: user_properties
label: User Properties
@@ -62929,7 +62932,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: dx31r6UmPrMjvmQeVBpA9c
+ - id: bLzFN2iYiPGAbJjGN5PyzN
sortOrder: 4
fieldKey: params
label: Event Parameters
@@ -62942,7 +62945,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 3aw7mEcSAYsZjYhRM62ZHs
+ - id: giGJpCqEX13nMB79REejLe
sortOrder: 5
fieldKey: send_to
label: Send To
@@ -62965,7 +62968,7 @@ items:
hidden: false
defaultTrigger: type = "track" and event = "Promotion Clicked"
fields:
- - id: fraVrKYZnNSqgsmW7FktjS
+ - id: zhRUViPy4zBCsQiQ1bmbe
sortOrder: 0
fieldKey: user_id
label: User ID
@@ -62983,7 +62986,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 9SABKEDNmQCxEjcG2bn9yA
+ - id: 2o4icdo5KM6fGY1b1pRAxJ
sortOrder: 1
fieldKey: creative_name
label: Creative Name
@@ -62996,7 +62999,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: w37ceNAU7pvZESGoDbZCkv
+ - id: 5fEviYvQcjEQKWTg3vDmRR
sortOrder: 2
fieldKey: creative_slot
label: Creative Slot
@@ -63011,7 +63014,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 8H69EkrX12pmfcYBtbT5HY
+ - id: 6tBhQGiXGTrLhXH7EqbBLr
sortOrder: 3
fieldKey: location_id
label: Location ID
@@ -63026,7 +63029,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: by56ChdfQWqCiRuSREuMUQ
+ - id: fr8YtvX8q6uNus32QiGvyz
sortOrder: 4
fieldKey: promotion_id
label: Promotion ID
@@ -63041,7 +63044,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 9MjuTxKYiHEZQ5989yae7G
+ - id: vAmLuyQjeo1oKrtkKtMrSV
sortOrder: 5
fieldKey: promotion_name
label: Promotion Name
@@ -63056,7 +63059,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: w8RU7MPBFy97NCf8xqYgK5
+ - id: oPC2vUpy4DmnGWWNkMSuqQ
sortOrder: 6
fieldKey: items
label: Products
@@ -63090,7 +63093,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 3H4eUfpfLWE1wpVtTG2wEA
+ - id: 58qaW9DHqW8qgiLXmEJUY5
sortOrder: 7
fieldKey: user_properties
label: User Properties
@@ -63108,7 +63111,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: bV1mmwq4ZAfozt4SziGT67
+ - id: 3kHrPRQKXoCRi3QmGKPMYP
sortOrder: 8
fieldKey: params
label: Event Parameters
@@ -63121,7 +63124,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 2Z7yUZja4PYK87Z9KKaWCA
+ - id: dka1pEKedqnB7GFewNhQvd
sortOrder: 9
fieldKey: send_to
label: Send To
@@ -63146,7 +63149,7 @@ items:
hidden: false
defaultTrigger: type = "track" and event = "Product Viewed"
fields:
- - id: oRBQrZ1mXDT3kZhrSjjDZX
+ - id: cxnJaGYdcbVPsjNLzZH231
sortOrder: 0
fieldKey: user_id
label: User ID
@@ -63164,7 +63167,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: uB1mRsFRgdEXknEc4XQGTF
+ - id: rgL69wnbwhnAFRm9bf64yD
sortOrder: 1
fieldKey: currency
label: Currency
@@ -63181,7 +63184,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: egL1fAiayzarPLoKvCYdtm
+ - id: tgFwEENwvdfe5MX9FDfk4X
sortOrder: 2
fieldKey: value
label: Value
@@ -63196,7 +63199,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: w4WxF37Bsk17MaSJiMdUiN
+ - id: 7H7WZahgTTe6o2mRQWbmJh
sortOrder: 3
fieldKey: items
label: Products
@@ -63230,7 +63233,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: gM6H8AVzuHGJLb5BEEpmtY
+ - id: mihDapEcy1fod5FdMgUB9S
sortOrder: 4
fieldKey: user_properties
label: User Properties
@@ -63248,7 +63251,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 8sbd2VvnbxXF2srUtrYmei
+ - id: xxAQmnr2RhTCKgubV8gGP8
sortOrder: 5
fieldKey: params
label: Event Parameters
@@ -63261,7 +63264,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: kULyC7TqytMsvDAHkcx7gA
+ - id: bEbR8eiPzmhWXj2FXXWC4b
sortOrder: 6
fieldKey: send_to
label: Send To
@@ -63284,7 +63287,7 @@ items:
hidden: false
defaultTrigger: type = "track" and event = "Checkout Started"
fields:
- - id: 3cJRiLNnagPuP14TJgsP8G
+ - id: eULGkbF8t8dZtuVV5AQLY7
sortOrder: 0
fieldKey: user_id
label: User ID
@@ -63302,7 +63305,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 8ktrJdeuMwNL3PVJRJSAQT
+ - id: e3VxMrH42Zi8qHZPvNZeiF
sortOrder: 1
fieldKey: coupon
label: Coupon
@@ -63317,7 +63320,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: gNmj7uRfJq8q773fZAcJEf
+ - id: mvE42zVFGhbmNWfgHoyHjp
sortOrder: 2
fieldKey: currency
label: Currency
@@ -63334,7 +63337,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: fgcvGHgaR9iNLnctTZCaqP
+ - id: 9Exptv7KQgnW36RZ51smAw
sortOrder: 3
fieldKey: items
label: Products
@@ -63370,7 +63373,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 2xN1nkgenwdgZtsUmKgur7
+ - id: w4obsUJzqVBSFbKGJaVnjq
sortOrder: 4
fieldKey: value
label: Value
@@ -63385,7 +63388,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: cZu8cH3qVg6MBSxjQ5DkZY
+ - id: pRXi7ttsSvCjaj1ArY3HVR
sortOrder: 5
fieldKey: params
label: Event Parameters
@@ -63398,7 +63401,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: 4ujXYV72wVXeJGTdQtLJ8A
+ - id: rchgYh2dv9ZX5p2uQrKK1j
sortOrder: 6
fieldKey: user_properties
label: User Properties
@@ -63416,7 +63419,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: aCiDmer8Pzw6JP226fR26V
+ - id: hTRiSYeJVfzVQPLfZRp7w6
sortOrder: 7
fieldKey: send_to
label: Send To
@@ -63439,7 +63442,7 @@ items:
hidden: false
defaultTrigger: type = "track" and event = "Signed In"
fields:
- - id: kKx9Nr9JTvtCCx72c8GAqV
+ - id: hMj5KvAxMJD7dy2YY1HdWg
sortOrder: 0
fieldKey: user_id
label: User ID
@@ -63457,7 +63460,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: rS82rWLmZB24nZs9cLV6Tj
+ - id: h6J9n9RiFthHzDJyYxHPz5
sortOrder: 1
fieldKey: method
label: Method
@@ -63472,7 +63475,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: ovzhtVX7569wpd84tMD52b
+ - id: pU9DSjPRRtL5smv3hwx3eF
sortOrder: 2
fieldKey: user_properties
label: User Properties
@@ -63490,7 +63493,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: tzdppTDLhY95LYCYEEeCnG
+ - id: 8VgJTgY9zGfhTs5FFAijjz
sortOrder: 3
fieldKey: params
label: Event Parameters
@@ -63503,7 +63506,7 @@ items:
dynamic: false
allowNull: false
hidden: false
- - id: ifGRgvqsVHQmw8cueiJziU
+ - id: gWcKS6eQY6XbFjq3MTUZ1Q
sortOrder: 4
fieldKey: send_to
label: Send To
@@ -83045,7 +83048,7 @@ items:
hidden: false
defaultTrigger: type = "track"
fields:
- - id: 7o75eA6RHceZPoKFoJxAKt
+ - id: wUbTCp2jJqdUq5xJ5edgWB
sortOrder: 0
fieldKey: conversionHappenedAt
label: Timestamp
@@ -83062,7 +83065,7 @@ items:
choices: null
dynamic: false
allowNull: false
- - id: pos31aCSbkTEEnSF1JXudv
+ - id: 82HoAtyZnp8JyHpt8dUi8j
sortOrder: 1
fieldKey: conversionValue
label: Conversion Value
@@ -83081,7 +83084,7 @@ items:
choices: null
dynamic: false
allowNull: false
- - id: hQW44davugg3iViBGLQ6WH
+ - id: kvN2BseeRvUQRy3nkESm3f
sortOrder: 2
fieldKey: eventId
label: Event ID
@@ -83097,7 +83100,7 @@ items:
choices: null
dynamic: false
allowNull: false
- - id: aMKi4zSDQkSuXLrUpi5Ati
+ - id: cFWnBr7PtZUyWRfLPTSpC2
sortOrder: 3
fieldKey: email
label: Email
@@ -83115,7 +83118,7 @@ items:
choices: null
dynamic: false
allowNull: false
- - id: tcpxzK36MLK5aagpQFb3FG
+ - id: vvFzj3fxi7X99HqAGSUJnN
sortOrder: 4
fieldKey: linkedInUUID
label: LinkedIn First Party Ads Tracking UUID
@@ -83132,7 +83135,7 @@ items:
choices: null
dynamic: false
allowNull: false
- - id: bGcfUiV2mN93edSs5sD94e
+ - id: cRq4k3kBo4wvQaNL3Xowjd
sortOrder: 5
fieldKey: acxiomID
label: Acxiom ID
@@ -83146,7 +83149,7 @@ items:
choices: null
dynamic: false
allowNull: false
- - id: phQ7enzPKdunMvQLT7MU9A
+ - id: 93xFmuqotny5Sc6kUY6BSJ
sortOrder: 6
fieldKey: oracleID
label: Oracle ID
@@ -83161,7 +83164,7 @@ items:
choices: null
dynamic: false
allowNull: false
- - id: qHwAjKSrNmZa3MVCw1xt1E
+ - id: 2iA7k2arzwpjLwMUMqawvW
sortOrder: 7
fieldKey: userInfo
label: User Info
@@ -83175,8 +83178,23 @@ items:
choices: null
dynamic: false
allowNull: false
- - id: 2GgCAmNJF9eqkcuS7CcUkh
- sortOrder: 10
+ - id: sfJWbQhTMjGtJN1FiYEPYZ
+ sortOrder: 8
+ fieldKey: externalIds
+ label: External ID
+ type: STRING
+ description: >-
+ An identifier your organization uses for the user. See [LinkedIn's
+ documentation](https://learn.microsoft.com/en-us/linkedin/marketing/conversions/custom-matching-identifiers?view=li-lms-2025-08)
+ for more details.
+ placeholder: ''
+ required: false
+ multiple: true
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: hGAwsx21jfcBNwJR9bHATm
+ sortOrder: 11
fieldKey: adAccountId
label: Ad Account
type: STRING
@@ -83191,8 +83209,8 @@ items:
choices: null
dynamic: true
allowNull: false
- - id: wJkL7ahpM6jhhiMLgYBNZq
- sortOrder: 11
+ - id: tGc5gQyDZUjnniwdT9JiFv
+ sortOrder: 12
fieldKey: campaignId
label: Add Campaigns to Conversion
type: STRING
@@ -83207,8 +83225,8 @@ items:
choices: null
dynamic: true
allowNull: false
- - id: 9EWjFkVeeqUQBC5vwQRFSP
- sortOrder: 12
+ - id: 9bZnh199VJa6Ny9ciGNzR9
+ sortOrder: 13
fieldKey: conversionRuleId
label: Existing Conversion Rule ID
type: STRING
@@ -83221,8 +83239,8 @@ items:
choices: null
dynamic: true
allowNull: false
- - id: h8EvRqZaSUu7ohPGjRtYRD
- sortOrder: 13
+ - id: we6E3X5zY7kmrLzxBJ3zbK
+ sortOrder: 14
fieldKey: name
label: Name
type: STRING
@@ -83233,8 +83251,8 @@ items:
choices: null
dynamic: false
allowNull: false
- - id: 3an5jd315q2ctBijeBQf63
- sortOrder: 14
+ - id: 4KZPf69wT1DA4vWNuRX1ti
+ sortOrder: 15
fieldKey: conversionType
label: Conversion Type
type: STRING
@@ -83317,8 +83335,8 @@ items:
value: SALES_QUALIFIED_LEAD
dynamic: false
allowNull: false
- - id: xnWVinzaqE6eEfUDbRHk8u
- sortOrder: 15
+ - id: aZgDeQk6qSvWALah4mGrWt
+ sortOrder: 16
fieldKey: attribution_type
label: Attribution Type
type: STRING
@@ -83333,8 +83351,8 @@ items:
value: LAST_TOUCH_BY_CONVERSION
dynamic: false
allowNull: false
- - id: gdDQRiLx5TqrcsVj6qwpZh
- sortOrder: 16
+ - id: qWd8S3JvKjAmLnErVg9Zdf
+ sortOrder: 17
fieldKey: post_click_attribution_window_size
label: Post-Click Attribution Window Size
type: NUMBER
@@ -83357,8 +83375,8 @@ items:
value: 90
dynamic: false
allowNull: false
- - id: f2Bx1JXXKwC1vScuKcZdRi
- sortOrder: 17
+ - id: wGMV5B5spC9TKhhDRZvnJs
+ sortOrder: 18
fieldKey: view_through_attribution_window_size
label: View-Through Attribution Window Size
type: NUMBER
@@ -83381,8 +83399,8 @@ items:
value: 90
dynamic: false
allowNull: false
- - id: dzvm3hAiiCrY5tNy1uYiF5
- sortOrder: 18
+ - id: otqobqgHsyGGQsJNtLG3Ho
+ sortOrder: 19
fieldKey: onMappingSave
label: Create a Conversion Rule
type: OBJECT
@@ -146283,6 +146301,770 @@ items:
actions: []
presets: []
partnerOwned: false
+- id: 689b6590095a4d2957bc50ca
+ display_name: Yonoma
+ name: Yonoma
+ slug: yonoma
+ hidden: false
+ endpoints:
+ - US
+ regions:
+ - us-west-2
+ - eu-west-1
+ url: connections/destinations/catalog/yonoma
+ previous_names:
+ - Yonoma
+ website: https://yonoma.io
+ status: PUBLIC_BETA
+ categories:
+ - Marketing Automation
+ - Email Marketing
+ logo:
+ url: https://cdn-devcenter.segment.com/25bdffc5-6509-448c-9032-d36ad6bdfd97.svg
+ mark:
+ url: https://cdn-devcenter.segment.com/89b454b7-6d68-475e-bd03-3689be787d15.svg
+ methods:
+ track: true
+ identify: true
+ group: true
+ alias: true
+ screen: false
+ page: true
+ platforms:
+ browser: true
+ mobile: false
+ server: true
+ warehouse: false
+ cloudAppObject: false
+ linkedAudiences: true
+ components: []
+ browserUnbundlingSupported: false
+ browserUnbundlingPublic: false
+ replay: false
+ connection_modes:
+ device:
+ web: false
+ mobile: false
+ server: false
+ cloud:
+ web: true
+ mobile: false
+ server: true
+ settings:
+ - name: apiKey
+ type: string
+ defaultValue: ''
+ description: Your Yonoma API key.
+ required: true
+ label: API Key
+ actions:
+ - id: 5KKTndhyLSh2RNvHoonSkC
+ name: Track Page View
+ slug: trackPageView
+ description: >-
+ Log page visits to build behavioral profiles and trigger view-based
+ automations in Yonoma.
+ platform: CLOUD
+ hidden: false
+ defaultTrigger: type = "page"
+ fields:
+ - id: 6Xqc2ND628foWUeynHTZKe
+ sortOrder: 0
+ fieldKey: identifiers
+ label: Identifiers
+ type: OBJECT
+ description: Unique identifiers for the contact.
+ placeholder: ''
+ defaultValue:
+ userId:
+ '@path': $.userId
+ anonymousId:
+ '@path': $.anonymousId
+ email:
+ '@if':
+ exists:
+ '@path': $.context.traits.email
+ then:
+ '@path': $.context.traits.email
+ else:
+ '@path': $.properties.email
+ required: false
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: t87Jfu4ikDibLvQqpuaU6H
+ sortOrder: 1
+ fieldKey: listId
+ label: List ID
+ type: STRING
+ description: The Yonoma list to add the contact to.
+ placeholder: ''
+ defaultValue:
+ '@if':
+ exists:
+ '@path': $.context.traits.list_id
+ then:
+ '@path': $.context.traits.list_id
+ else:
+ '@path': $.properties.list_id
+ required: true
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: fGH4mjSbSGgyHrbCiTPMzx
+ sortOrder: 2
+ fieldKey: timestamp
+ label: Timestamp
+ type: STRING
+ description: >-
+ The timestamp of the event. Defaults to the current time if not
+ provided.
+ placeholder: ''
+ defaultValue:
+ '@path': $.timestamp
+ required: false
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: fdXVBZbReMQges7pVyVV7C
+ sortOrder: 3
+ fieldKey: ip
+ label: IP Address
+ type: STRING
+ description: >-
+ The IP address of the user. Defaults to the current user IP if not
+ provided.
+ placeholder: ''
+ defaultValue:
+ '@path': $.context.ip
+ required: false
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: n1PMtpfMofvDTQt9GWf9QQ
+ sortOrder: 4
+ fieldKey: userAgent
+ label: User Agent
+ type: STRING
+ description: The user agent of the user.
+ placeholder: ''
+ defaultValue:
+ '@path': $.context.userAgent
+ required: false
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: fR2W9kSSW1RE29jcGtcGsG
+ sortOrder: 5
+ fieldKey: page
+ label: Page
+ type: OBJECT
+ description: The details of the page being viewed.
+ placeholder: ''
+ defaultValue:
+ title:
+ '@path': $.context.page.title
+ url:
+ '@path': $.context.page.url
+ referrer:
+ '@path': $.context.page.referrer
+ path:
+ '@path': $.context.page.path
+ search:
+ '@path': $.context.page.search
+ required: false
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: ppUsyFJjYCTTnVg1vtyyZ4
+ sortOrder: 6
+ fieldKey: campaign
+ label: Campaign
+ type: OBJECT
+ description: The marketing campaign that referred the user to the site.
+ placeholder: ''
+ defaultValue:
+ name:
+ '@path': $.context.campaign.name
+ source:
+ '@path': $.context.campaign.source
+ medium:
+ '@path': $.context.campaign.medium
+ term:
+ '@path': $.context.campaign.term
+ content:
+ '@path': $.context.campaign.content
+ required: false
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: b7jn22R6Xr8QRPTWhJ13L4
+ sortOrder: 7
+ fieldKey: location
+ label: Location
+ type: OBJECT
+ description: The geographic location of the user.
+ placeholder: ''
+ defaultValue:
+ country:
+ '@path': $.context.location.country
+ region:
+ '@path': $.context.location.region
+ city:
+ '@path': $.context.location.city
+ required: false
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: icnL51PVu3fGQ7aDKkosxr
+ sortOrder: 8
+ fieldKey: properties
+ label: Additional Page Properties
+ type: OBJECT
+ description: Additional properties associated with the event.
+ placeholder: ''
+ required: false
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: dH5vFnemijiCK3MTJ6hvVj
+ name: Upsert Contact
+ slug: upsertContact
+ description: Sync Segment user profile details to Yonoma Contacts.
+ platform: CLOUD
+ hidden: false
+ defaultTrigger: type = "identify"
+ fields:
+ - id: mhfnss6zivHb6QDnEyxZ8c
+ sortOrder: 0
+ fieldKey: identifiers
+ label: Identifiers
+ type: OBJECT
+ description: >-
+ Unique identifiers for the contact. User ID and email are required.
+ Anonymous ID is optional.
+ placeholder: ''
+ defaultValue:
+ userId:
+ '@path': $.userId
+ anonymousId:
+ '@path': $.anonymousId
+ email:
+ '@path': $.traits.email
+ required: true
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: nWJaTNRmbj8Wz7Neutp3uR
+ sortOrder: 1
+ fieldKey: listId
+ label: List ID
+ type: STRING
+ description: The Yonoma list to add the contact to.
+ placeholder: ''
+ defaultValue:
+ '@path': $.traits.list_id
+ required: true
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: kAX9ost47gGzyEfLcK9ZY8
+ sortOrder: 2
+ fieldKey: status
+ label: Email subscription status
+ type: BOOLEAN
+ description: >-
+ Indicates if the Contact is subscribed or unsubscribed from marketing
+ emails. Set to true to subscribe, false to unsubscribe.
+ placeholder: ''
+ defaultValue: true
+ required: true
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: uiUB37Lr5xtzNJ6Qn6hsw6
+ sortOrder: 3
+ fieldKey: timestamp
+ label: Timestamp
+ type: STRING
+ description: >-
+ The timestamp of the event. Defaults to the current time if not
+ provided.
+ placeholder: ''
+ defaultValue:
+ '@path': $.timestamp
+ required: false
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: eSscUiV162EFDf82e9iduY
+ sortOrder: 4
+ fieldKey: ip
+ label: IP Address
+ type: STRING
+ description: >-
+ The IP address of the user. Defaults to the current user IP if not
+ provided.
+ placeholder: ''
+ defaultValue:
+ '@path': $.context.ip
+ required: false
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: 4WK6QtBZ6yDVLw1wmHw39Y
+ sortOrder: 5
+ fieldKey: userAgent
+ label: User Agent
+ type: STRING
+ description: The user agent of the user.
+ placeholder: ''
+ defaultValue:
+ '@path': $.context.userAgent
+ required: false
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: wYRW7AeCn3aruD2eDsnDmj
+ sortOrder: 6
+ fieldKey: page
+ label: Page
+ type: OBJECT
+ description: The details of the page being viewed.
+ placeholder: ''
+ defaultValue:
+ title:
+ '@path': $.context.page.title
+ url:
+ '@path': $.context.page.url
+ referrer:
+ '@path': $.context.page.referrer
+ path:
+ '@path': $.context.page.path
+ search:
+ '@path': $.context.page.search
+ required: false
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: fiLQxQPv3k2A2t1NAVaY4p
+ sortOrder: 7
+ fieldKey: campaign
+ label: Campaign
+ type: OBJECT
+ description: The marketing campaign that referred the user to the site.
+ placeholder: ''
+ defaultValue:
+ name:
+ '@path': $.context.campaign.name
+ source:
+ '@path': $.context.campaign.source
+ medium:
+ '@path': $.context.campaign.medium
+ term:
+ '@path': $.context.campaign.term
+ content:
+ '@path': $.context.campaign.content
+ required: false
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: mLgKXxPXFhmPWcxyVHNgYV
+ sortOrder: 8
+ fieldKey: location
+ label: Location
+ type: OBJECT
+ description: The geographic location of the user.
+ placeholder: ''
+ defaultValue:
+ country:
+ '@path': $.context.location.country
+ region:
+ '@path': $.context.location.region
+ city:
+ '@path': $.context.location.city
+ required: false
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: 2TZrUTSGRD1gQNq7bosT9U
+ sortOrder: 9
+ fieldKey: properties
+ label: Contact Properties
+ type: OBJECT
+ description: Additional Contact metadata.
+ placeholder: ''
+ defaultValue:
+ firstName:
+ '@path': $.traits.first_name
+ lastName:
+ '@path': $.traits.last_name
+ phone:
+ '@path': $.traits.phone
+ dateOfBirth:
+ '@path': $.traits.birthday
+ address:
+ '@path': $.traits.address.street
+ city:
+ '@path': $.traits.address.city
+ state:
+ '@path': $.traits.address.state
+ country:
+ '@path': $.traits.address.country
+ zipcode:
+ '@path': $.traits.address.postal_code
+ required: false
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: 7ZBTEBiHioFRYaRSK6sytR
+ sortOrder: 10
+ fieldKey: tags_to_add
+ label: Tags to Add
+ type: STRING
+ description: >-
+ List of tags to add to the Contact. Can be a single string or array of
+ tags. Tags must already exist in Yonoma.
+ placeholder: ''
+ defaultValue:
+ '@path': $.traits.tags_to_add
+ required: false
+ multiple: true
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: qZszJVEgY2UsehtiRwTYpG
+ sortOrder: 11
+ fieldKey: tags_to_remove
+ label: Tags to Remove
+ type: STRING
+ description: >-
+ List of tags to remove from the Contact. Can be a single string or array
+ of strings. Tags must already exist in Yonoma.
+ placeholder: ''
+ defaultValue:
+ '@path': $.traits.tags_to_remove
+ required: false
+ multiple: true
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: k8fftye8REGsnSM5pKGqrf
+ name: Send Event
+ slug: sendEvent
+ description: Trigger automation based on a contact’s action within your product
+ platform: CLOUD
+ hidden: false
+ defaultTrigger: type = "track"
+ fields:
+ - id: 3SpboHhHDixCZAMA7pbvLr
+ sortOrder: 0
+ fieldKey: event
+ label: Event Name
+ type: STRING
+ description: The name of the event to track.
+ placeholder: ''
+ defaultValue:
+ '@path': $.event
+ required: true
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: qw1mKUYDehA6pR59oW3F5C
+ sortOrder: 1
+ fieldKey: identifiers
+ label: Identifiers
+ type: OBJECT
+ description: >-
+ Unique identifiers for the contact. At least one of userId or
+ anonymousId is required.
+ placeholder: ''
+ defaultValue:
+ userId:
+ '@path': $.userId
+ anonymousId:
+ '@path': $.anonymousId
+ email:
+ '@if':
+ exists:
+ '@path': $.context.traits.email
+ then:
+ '@path': $.context.traits.email
+ else:
+ '@path': $.properties.email
+ required: true
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: fLd2FrxFsFQsKV8sVa8Ji1
+ sortOrder: 2
+ fieldKey: listId
+ label: List ID
+ type: STRING
+ description: The Yonoma list to add the contact to.
+ placeholder: ''
+ defaultValue:
+ '@if':
+ exists:
+ '@path': $.context.traits.list_id
+ then:
+ '@path': $.context.traits.list_id
+ else:
+ '@path': $.properties.list_id
+ required: true
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: ejCjnRdbvB8Qph8x1D4dKt
+ sortOrder: 3
+ fieldKey: properties
+ label: Event Properties
+ type: OBJECT
+ description: Additional properties associated with the event.
+ placeholder: ''
+ defaultValue:
+ '@path': $.properties
+ required: false
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: et7UNsYuVsVKB7KVc1xLUL
+ sortOrder: 4
+ fieldKey: timestamp
+ label: Timestamp
+ type: STRING
+ description: >-
+ The timestamp of the event. Defaults to the current time if not
+ provided.
+ placeholder: ''
+ defaultValue:
+ '@path': $.timestamp
+ required: false
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: kboxrxxQminrT6hkzFYZ9A
+ name: Track Event
+ slug: trackEvent
+ description: >-
+ Capture behavioral events for both known and anonymous users to build a
+ complete activity timeline in Yonoma.
+ platform: CLOUD
+ hidden: false
+ defaultTrigger: type = "track"
+ fields:
+ - id: hN8wfDhZDyCzeywMx2kevM
+ sortOrder: 0
+ fieldKey: event
+ label: Event Name
+ type: STRING
+ description: The name of the event to track.
+ placeholder: ''
+ defaultValue:
+ '@path': $.event
+ required: true
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: vFYkoV27BefBtD16QNZA6d
+ sortOrder: 1
+ fieldKey: identifiers
+ label: Identifiers
+ type: OBJECT
+ description: >-
+ Unique identifiers for the contact. User ID and email are required.
+ Anonymous ID is optional.
+ placeholder: ''
+ defaultValue:
+ userId:
+ '@path': $.userId
+ anonymousId:
+ '@path': $.anonymousId
+ email:
+ '@if':
+ exists:
+ '@path': $.context.traits.email
+ then:
+ '@path': $.context.traits.email
+ else:
+ '@path': $.properties.email
+ required: true
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: 8V2avD6N2AKXTyVj7sasiq
+ sortOrder: 2
+ fieldKey: listId
+ label: List ID
+ type: STRING
+ description: The Yonoma list to add the contact to.
+ placeholder: ''
+ defaultValue:
+ '@if':
+ exists:
+ '@path': $.context.traits.list_id
+ then:
+ '@path': $.context.traits.list_id
+ else:
+ '@path': $.properties.list_id
+ required: true
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: fFvd4S4EGiDboLRgiiQM88
+ sortOrder: 3
+ fieldKey: timestamp
+ label: Timestamp
+ type: STRING
+ description: >-
+ The timestamp of the event. Defaults to the current time if not
+ provided.
+ placeholder: ''
+ defaultValue:
+ '@path': $.timestamp
+ required: false
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: hpdD271ktWBPu4eHmbNndK
+ sortOrder: 4
+ fieldKey: ip
+ label: IP Address
+ type: STRING
+ description: >-
+ The IP address of the user. Defaults to the current user IP if not
+ provided.
+ placeholder: ''
+ defaultValue:
+ '@path': $.context.ip
+ required: false
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: teHfDYRaK4sKFiaJRLHocf
+ sortOrder: 5
+ fieldKey: userAgent
+ label: User Agent
+ type: STRING
+ description: The user agent of the user.
+ placeholder: ''
+ defaultValue:
+ '@path': $.context.userAgent
+ required: false
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: iNvaZwFSQKDM6kHyQ7aC6
+ sortOrder: 6
+ fieldKey: page
+ label: Page
+ type: OBJECT
+ description: The details of the page being viewed.
+ placeholder: ''
+ defaultValue:
+ title:
+ '@path': $.context.page.title
+ url:
+ '@path': $.context.page.url
+ referrer:
+ '@path': $.context.page.referrer
+ path:
+ '@path': $.context.page.path
+ search:
+ '@path': $.context.page.search
+ required: false
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: kYvpCWbT4f7BSR6zsdGAkD
+ sortOrder: 7
+ fieldKey: campaign
+ label: Campaign
+ type: OBJECT
+ description: The marketing campaign that referred the user to the site.
+ placeholder: ''
+ defaultValue:
+ name:
+ '@path': $.context.campaign.name
+ source:
+ '@path': $.context.campaign.source
+ medium:
+ '@path': $.context.campaign.medium
+ term:
+ '@path': $.context.campaign.term
+ content:
+ '@path': $.context.campaign.content
+ required: false
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: pRqWpmgM1AQFcVYsFN21Tn
+ sortOrder: 8
+ fieldKey: location
+ label: Location
+ type: OBJECT
+ description: The geographic location of the user.
+ placeholder: ''
+ defaultValue:
+ country:
+ '@path': $.context.location.country
+ region:
+ '@path': $.context.location.region
+ city:
+ '@path': $.context.location.city
+ required: false
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ - id: kdCjZd7ibaFk3bfbKyDTM
+ sortOrder: 9
+ fieldKey: properties
+ label: Event Properties
+ type: OBJECT
+ description: Properties associated with the event.
+ placeholder: ''
+ defaultValue:
+ '@path': $.properties
+ required: false
+ multiple: false
+ choices: null
+ dynamic: false
+ allowNull: false
+ presets: []
+ partnerOwned: true
- id: 59c04bd6432df886f42eea37
display_name: Youbora
name: Youbora
diff --git a/src/_data/catalog/destinations_private.yml b/src/_data/catalog/destinations_private.yml
index 484ca29406..2c5d663608 100644
--- a/src/_data/catalog/destinations_private.yml
+++ b/src/_data/catalog/destinations_private.yml
@@ -1,5 +1,5 @@
# AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
-# destination data last updated 2025-10-23
+# destination data last updated 2025-10-30
items:
- id: 54521fd925e721e32a72eee1
display_name: Pardot
diff --git a/src/_data/catalog/source_categories.yml b/src/_data/catalog/source_categories.yml
index e2024abe79..04947a52c7 100644
--- a/src/_data/catalog/source_categories.yml
+++ b/src/_data/catalog/source_categories.yml
@@ -1,5 +1,5 @@
# AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
-# source categories last updated 2025-10-23
+# source categories last updated 2025-10-30
items:
- display_name: A/B testing
slug: a-b-testing
diff --git a/src/_data/catalog/sources.yml b/src/_data/catalog/sources.yml
index 89b09410f6..88b1da4c2a 100644
--- a/src/_data/catalog/sources.yml
+++ b/src/_data/catalog/sources.yml
@@ -1,5 +1,5 @@
# AUTOGENERATED FROM PUBLIC API. DO NOT EDIT
-# sources last updated 2025-10-23
+# sources last updated 2025-10-30
items:
- id: 8HWbgPTt3k
display_name: .NET
diff --git a/src/_data/sidenav/main.yml b/src/_data/sidenav/main.yml
index 9ab207e67c..002a15fe82 100644
--- a/src/_data/sidenav/main.yml
+++ b/src/_data/sidenav/main.yml
@@ -155,8 +155,19 @@ sections:
- path: /connections/sources/catalog
title: Sources Catalog
menu_icon: read-more
- - path: /connections/auto-instrumentation
- title: Auto-Instrumentation
+ - section_title: Auto-Instrumentation
+ slug: connections/auto-instrumentation
+ section:
+ - path: /connections/auto-instrumentation
+ title: Overview
+ - path: /connections/auto-instrumentation/web-setup/
+ title: Web Setup
+ - path: /connections/auto-instrumentation/swift-setup/
+ title: Swift Setup
+ - path: /connections/auto-instrumentation/kotlin-setup/
+ title: Android Setup
+ - path: /connections/auto-instrumentation/configuration/
+ title: Configuration
- path: /connections/sources/about-cloud-sources
title: Cloud Sources
- path: /connections/sources/debugger
diff --git a/src/_includes/content/beta-note.md b/src/_includes/content/beta-note.md
index 71c0fcf159..adc5cef3fe 100644
--- a/src/_includes/content/beta-note.md
+++ b/src/_includes/content/beta-note.md
@@ -1,7 +1,7 @@
-
-
This means that the {{ page.title }} is in active development, and some functionality may change before it becomes generally available.
+
+
This means the feature is actively being developed, and some functionality may change before it becomes generally available.
diff --git a/src/_includes/content/connection-modes-intro.md b/src/_includes/content/connection-modes-intro.md
index ee41cacb81..deb5314860 100644
--- a/src/_includes/content/connection-modes-intro.md
+++ b/src/_includes/content/connection-modes-intro.md
@@ -6,7 +6,7 @@ Segment's web source (Analytics.js), and native client-side libraries (iOS, Andr
-
HLS customers with a HIPAA eligible workspace can encrypt data in fields marked as Yellow in the Privacy Portal before they flow into an event stream, cloud-mode destination.
+
HLS customers with a HIPAA eligible workspace can encrypt data in fields marked as Yellow in the Privacy Portal before they flow into an event stream, cloud-mode destination.
To learn more about data encryption, see the HIPAA Eligible Segment documentation.
diff --git a/src/_includes/content/dev-center-note.md b/src/_includes/content/dev-center-note.md
index 5884344d34..0566725c0a 100644
--- a/src/_includes/content/dev-center-note.md
+++ b/src/_includes/content/dev-center-note.md
@@ -1 +1,7 @@
-Segment is redeveloping the Developer Center and will launch a new version when complete. To stay up to date, add your contact information [in this Airtable form](https://airtable.com/shrT3b4C7agUEBKVS){:target="_blank"}.
\ No newline at end of file
+
+
+
+
+
Segment is redeveloping the Developer Center and will launch a new version when complete. To stay up to date, add your contact information [in this Airtable form](https://airtable.com/shrT3b4C7agUEBKVS){:target="_blank"}.
+
+
diff --git a/src/_includes/content/papi-ga.html b/src/_includes/content/papi-ga.md
similarity index 100%
rename from src/_includes/content/papi-ga.html
rename to src/_includes/content/papi-ga.md
diff --git a/src/_includes/content/reset-mobile.md b/src/_includes/content/reset-mobile.md
index 095db3ead6..6bba3cd76d 100644
--- a/src/_includes/content/reset-mobile.md
+++ b/src/_includes/content/reset-mobile.md
@@ -1,2 +1,6 @@
-> info ""
-> The reset method doesn't clear the `userId` from connected client-side integrations. If you want to clear the `userId` from connected client-side destination plugins, you'll need to call the equivalent reset method for that library.
+
+
+
+
The reset method doesn't clear the `userId` from connected client-side integrations. If you want to clear the `userId` from connected client-side destination plugins, you'll need to call the equivalent reset method for that library.
+
+
diff --git a/src/_includes/content/storage-do-include.md b/src/_includes/content/storage-do-include.md
index bcd47d3812..45eb7e8c46 100644
--- a/src/_includes/content/storage-do-include.md
+++ b/src/_includes/content/storage-do-include.md
@@ -1,4 +1,10 @@
{% capture title %}{{page.title}}{% endcapture %}
{% capture name %}{{page.title | replace: 'Destination', ''}}{% endcapture %}
-Delivery Overview, Segment's built-in observability tool, is now in public beta for storage destinations. For more information, see the [Delivery Overview](/docs/connections/delivery-overview/) documentation.
\ No newline at end of file
+
+
+
+
+
Delivery Overview, Segment's built-in observability tool, is now in public beta for storage destinations. For more information, see the [Delivery Overview](/docs/connections/delivery-overview/) documentation.
+
+
diff --git a/src/_includes/content/sync-frequency-note.md b/src/_includes/content/sync-frequency-note.md
index efb0e050c1..6b5d38ba24 100644
--- a/src/_includes/content/sync-frequency-note.md
+++ b/src/_includes/content/sync-frequency-note.md
@@ -2,6 +2,6 @@
-
Real-time audience syncs to {{page.title| replace: "Destination", " "}} may take six or more hours for the initial sync to complete. Upon completion, a sync frequency of two to three hours is expected.
+
Real-time audience syncs may take six or more hours for the initial sync to complete. Upon completion, a sync frequency of two to three hours is expected.
diff --git a/src/_includes/content/syntax-note.md b/src/_includes/content/syntax-note.md
index b5b80c855d..a3a2ef855a 100644
--- a/src/_includes/content/syntax-note.md
+++ b/src/_includes/content/syntax-note.md
@@ -1,2 +1,6 @@
-> info ""
-> Based on the library you use, the syntax in the examples might be different. You can find library-specific documentation on the [Sources Overview](/docs/connections/sources/) page.
+
+
+
+
Based on the library you use, the syntax in the examples might be different. You can find library-specific documentation on the [Sources Overview](/docs/connections/sources/) page.
+
+
diff --git a/src/_includes/content/tracking-api-limit.md b/src/_includes/content/tracking-api-limit.md
index 60bfddfeed..17cfc6619e 100644
--- a/src/_includes/content/tracking-api-limit.md
+++ b/src/_includes/content/tracking-api-limit.md
@@ -1,3 +1,7 @@
-> warning "HTTP Tracking API limits"
->
-> Segment's HTTP Tracking API accepts batch requests up to **500 KB**. To avoid errors in event creation, ensure that individual event payload sizes remain below **32 KB**.
+
+
+
+
+
Segment's HTTP Tracking API accepts batch requests up to 500 KB. To avoid errors in event creation, ensure that individual event payload sizes remain below 32 KB.
+
+
diff --git a/src/api/config-api/api-design.md b/src/api/config-api/api-design.md
index da2b06217f..8688d6cfe3 100644
--- a/src/api/config-api/api-design.md
+++ b/src/api/config-api/api-design.md
@@ -2,7 +2,7 @@
title: API Design
---
-{% include content/papi-ga.html %}
+{% include content/papi-ga.md %}
## API Evolution: Versioning and Compatibility
@@ -28,13 +28,13 @@ The Config API is a set of REST APIs for managing Segment resources. The primary
You can manage each resource using standard methods:
-| Method | HTTP Mapping |
-|--------|-----------------------|
-| List | GET |
-| Get | GET |
-| Create | POST |
-| Update | PATCH |
-| Delete | DELETE |
+| Method | HTTP Mapping |
+|--------|------------------------|
+| List | GET \ |
+| Get | GET \ |
+| Create | POST \ |
+| Update | PATCH \ |
+| Delete | DELETE \ |
## Errors
diff --git a/src/api/config-api/authentication.md b/src/api/config-api/authentication.md
index cdec1e547e..d3b6445e13 100644
--- a/src/api/config-api/authentication.md
+++ b/src/api/config-api/authentication.md
@@ -2,7 +2,7 @@
title: Authentication
---
-{% include content/papi-ga.html %}
+{% include content/papi-ga.md %}
You can access the Config API programmatically using access tokens. When you authenticate with an access token, you have access to any resource and permission assigned to the token.
diff --git a/src/api/config-api/index.md b/src/api/config-api/index.md
index 3e03b97ec6..d700ccf363 100644
--- a/src/api/config-api/index.md
+++ b/src/api/config-api/index.md
@@ -4,7 +4,7 @@ redirect_from:
- '/config-api'
---
-{% include content/papi-ga.html %}
+{% include content/papi-ga.md %}
The Config API lets you programmatically manage Segment workspaces, sources, destinations, and more.
diff --git a/src/api/public-api/fql.md b/src/api/public-api/fql.md
index 58f439bd7c..c15b3bdd00 100644
--- a/src/api/public-api/fql.md
+++ b/src/api/public-api/fql.md
@@ -5,7 +5,7 @@ redirect_from:
- /api/config-api/fql
---
-{% include content/papi-ga.html %}
+{% include content/papi-ga.md %}
This reference provides a comprehensive overview of the Segment Destination Filter query language. For information on the Destination Filters API (including information on migrating from the Config API), visit the [Destination Filters API reference](https://docs.segmentapis.com/tag/Destination-Filters){:target="_blank"}.
diff --git a/src/connections/auto-instrumentation/configuration.md b/src/connections/auto-instrumentation/configuration.md
index 20e6d57d7f..03f1e2943b 100644
--- a/src/connections/auto-instrumentation/configuration.md
+++ b/src/connections/auto-instrumentation/configuration.md
@@ -1,6 +1,5 @@
---
title: Generate Events from Signals
-hidden: true
---
This guide details how to use signals and their associated data, generated in one of the Signals SDKs with the Auto-Instrumentation dashboard in your Segment workspace. On this page, find details on:
diff --git a/src/connections/auto-instrumentation/kotlin-setup.md b/src/connections/auto-instrumentation/kotlin-setup.md
index 4f2454d7f3..b7fa63241a 100644
--- a/src/connections/auto-instrumentation/kotlin-setup.md
+++ b/src/connections/auto-instrumentation/kotlin-setup.md
@@ -1,6 +1,5 @@
---
title: Auto-Instrumentation Setup
-hidden: true
---
Segment’s Signals library powers [Auto-Instrumentation](/docs/connections/auto-instrumentation/) in Android apps, capturing user interactions and behavior without manual event tracking.
diff --git a/src/connections/auto-instrumentation/swift-setup.md b/src/connections/auto-instrumentation/swift-setup.md
index 9f60552391..7133f052d8 100644
--- a/src/connections/auto-instrumentation/swift-setup.md
+++ b/src/connections/auto-instrumentation/swift-setup.md
@@ -1,6 +1,5 @@
---
title: Auto-Instrumentation Setup
-hidden: true
---
This guide outlines the steps required to set up the Signals SDK in your Apple OS applications using Swift.
diff --git a/src/connections/auto-instrumentation/web-setup.md b/src/connections/auto-instrumentation/web-setup.md
index c22c5d465f..052ee9733d 100644
--- a/src/connections/auto-instrumentation/web-setup.md
+++ b/src/connections/auto-instrumentation/web-setup.md
@@ -1,6 +1,5 @@
---
title: Auto-Instrumentation Setup
-hidden: true
---
This guide outlines the steps required to set up the Signals SDK in your JavaScript website.
diff --git a/src/connections/destinations/catalog/actions-absmartly/index.md b/src/connections/destinations/catalog/actions-absmartly/index.md
index 13980624e4..5b838d339a 100644
--- a/src/connections/destinations/catalog/actions-absmartly/index.md
+++ b/src/connections/destinations/catalog/actions-absmartly/index.md
@@ -29,7 +29,7 @@ This destination is maintained by ABsmartly. For any issues with the destination
> info ""
> If you need support setting things up, you can contact the ABsmartly support team on Slack or [via email](mailto:support@absmartly.com).
-# Sending exposures to Segment
+## Sending exposures to Segment
It can be useful to send experiment exposures to Segment for visibility from
other destinations. The Segment Spec includes the [Experiment Viewed semantic event](/docs/connections/spec/ab-testing/)
diff --git a/src/connections/destinations/catalog/actions-braze-cloud/index.md b/src/connections/destinations/catalog/actions-braze-cloud/index.md
index a42e659ce9..ca025d7370 100644
--- a/src/connections/destinations/catalog/actions-braze-cloud/index.md
+++ b/src/connections/destinations/catalog/actions-braze-cloud/index.md
@@ -1,12 +1,12 @@
---
-title: Braze Cloud Mode (Actions) Destination
+title: Braze Cloud-Mode (Actions) Destination
hide-boilerplate: true
hide-dossier: false
id: 60f9d0d048950c356be2e4da
redirect_from:
- '/connections/destinations/catalog/braze-cloud-mode-actions/'
versions:
- - name: 'Braze Web Mode (Actions)'
+ - name: 'Braze Web-Mode (Actions)'
link: '/docs/connections/destinations/catalog/actions-braze-web/'
- name: 'Braze (Classic)'
link: '/docs/connections/destinations/catalog/braze'
@@ -18,17 +18,18 @@ versions:
> success ""
> **Good to know**: This page is about the [Actions-framework](/docs/connections/destinations/actions/) Braze Segment destination. There's also a page about the [non-Actions Braze destination](/docs/connections/destinations/catalog/braze/). Both of these destinations receives data _from_ Segment. There's also the [Braze source](/docs/connections/sources/catalog/cloud-apps/braze//), which sends data _to_ Segment!
-## Benefits of Braze Cloud Mode (Actions) vs Braze Classic
+## Benefits of Braze Cloud-Mode (Actions) vs Braze (Classic)
-Braze Cloud Mode (Actions) provides the following benefit over Braze Classic:
+Braze cloud-mode (Actions) provides the following benefit over Braze (Classic):
-- **E-commerce mappings**. Segment implementations that don't follow the e-commerce spec due to incompatible event names (for example, Trip Booked vs Order Completed) can use Event Triggers to log purchases in Braze Cloud Mode (Actions).
+- **E-commerce mappings**. Segment implementations that don't follow the e-commerce spec due to incompatible event names (for example, Trip Booked vs Order Completed) can use Event Triggers to log purchases in Braze cloud-mode (Actions).
-## Getting Started
+## Getting started
-1. From the Segment web app, click **Catalog**.
-2. Search for "Braze" in the Catalog, select **Braze Cloud Mode (Actions)**, and choose which of your sources to connect the destination to.
-3. Add the following Connection Settings:
+1. From the Segment web app, navigate to **Connections > Catalog**.
+2. Search for "Braze" in the Catalog in the Destinations Catalog and select **Braze**.
+3. Choose which of your sources to connect the destination to and follow the steps to create your destination.
+4. In the **Settings** tab, add the following Connection Settings:
- **API Key**: Created under Developer Console in the Braze Dashboard.
- **App ID**: The app identifier used to reference specific Apps in requests made to the Braze API. Created under Developer Console in the Braze Dashboard.
- **REST Endpoint**: Your Braze REST Endpoint. For more information, see [API Overview](https://www.braze.com/docs/api/basics/){:target="_blank"} in the Braze documentation.
@@ -36,10 +37,9 @@ Braze Cloud Mode (Actions) provides the following benefit over Braze Classic:
> info ""
> Braze now supports sending `email` as an identifier. Braze requires that you include `userId`, `braze_id`, or `email` for all calls made in cloud-mode. Segment sends a `braze_id` if the `userId` is missing. When you use a device-mode connection, Braze automatically tracks anonymous activity using the `braze_id` if a `userId` is missing.
-
## Actions v2
-Segment’s introduced the following v2 Actions to add additional functionality to the Braze Cloud Mode (Actions) destination:
+Segment’s introduced the following v2 Actions to add functionality to the Braze cloud-mode (Actions) destination:
- [Update User Profile v2](#update-user-profile-v2)
- [Track Event v2](#track-event-v2)
- [Identify User v2](#identify-user-v2)
@@ -71,8 +71,10 @@ Keep the following in mind if you plan to move to Braze (Actions) from the class
## Troubleshooting
-### Missing required fields
-Braze requires one of either `external_id`, `user_alias`, or `braze_id` to be present in all events sent. If events are failing to send, please check your event mappings to make sure these fields are resolving to valid values.
+##### Missing required fields
+Braze requires one of either `external_id`, `user_alias`, or `braze_id` to be present in all events sent. If events are failing to send, check your event mappings to make sure these fields are resolving to valid values.
+
+#### Missing events
+When an event is sent under an alias, it might appear to be missing if the alias cannot be found in Braze. This might be due to an incorrect search for the alias in Braze.
-### Missing events
-When an event is sent under an alias, the event may seem to be missing when the alias cannot be found in Braze. This may be due to incorrect search for the alias in Braze. To search for an alias in Braze, use the format "Alias Label:Alias Name". For example, if the "Alias Label" field is set as email and "Alias Name" field is set as email address (for example: "test@email.com"), use "email:test@email.com" to search for the alias in Braze.
+To search for an alias in Braze, use the format `Alias Label:Alias Name`. For example, if the "Alias Label" field is set as email and "Alias Name" field is set as email address, for example: "test@email.com", you should search for the alias using "email:test@email.com".
\ No newline at end of file
diff --git a/src/connections/destinations/catalog/actions-braze-web/index.md b/src/connections/destinations/catalog/actions-braze-web/index.md
index e7f9935ded..5661750e78 100644
--- a/src/connections/destinations/catalog/actions-braze-web/index.md
+++ b/src/connections/destinations/catalog/actions-braze-web/index.md
@@ -1,5 +1,5 @@
---
-title: Braze Web Mode (Actions) Destination
+title: Braze Web-Mode (Actions) Destination
hide-boilerplate: true
hide-dossier: false
redirect_from:
@@ -7,7 +7,7 @@ redirect_from:
- '/connections/destinations/catalog/braze-web-device-mode-actions/'
id: 60fb01aec459242d3b6f20c1
versions:
- - name: 'Braze Cloud Mode (Actions)'
+ - name: 'Braze Cloud-Mode (Actions)'
link: '/docs/connections/destinations/catalog/actions-braze-cloud'
- name: 'Braze (Classic)'
link: '/docs/connections/destinations/catalog/braze'
@@ -16,19 +16,24 @@ versions:
[Braze](https://www.braze.com/){:target="_blank"}, formerly Appboy, is an engagement platform that empowers growth by helping marketing teams to build customer loyalty through mobile, omni-channel customer experiences.
-## Benefits of Braze Web Mode (Actions) vs Braze Classic
+## Benefits of Braze Web-Mode (Actions) vs Braze (Classic)
-Braze Web Mode (Actions) provides the following benefits over Braze Classic:
+Braze web-mode (Actions) provides the following benefits over Braze (Classic):
-- **E-commerce mappings**. Users who can't follow the e-commerce spec due to incompatible event names (for example, Trip Booked vs Order Completed) can log purchases in Braze Web Mode (Actions).
+- **E-commerce mappings**. Users who can't follow the e-commerce spec due to incompatible event names (for example, Trip Booked vs Order Completed) can log purchases in Braze web-mode (Actions).
## Getting Started
-1. From the Segment web app, click **Catalog**.
-2. Search for "Braze" in the Catalog, select **Braze Web Mode (Actions)**, and choose which of your sources to connect the destination to.
-3. Configure the Connection Settings. **API Key** and **SDK Endpoint** are required settings.
+1. From the Segment web app, navigate to **Connections > Catalog**.
+2. Search for "Braze" in the Catalog in the Destinations Catalog and select **Braze**.
+3. Choose which of your sources to connect the destination to and follow the steps to create your destination.
+> warning "Mapping settings"
+> Some events require specific property names to map correctly into Braze.
+> For example, purchase events must use a `products` array with `product_id` and `price`.
+> See [Braze-web settings mappings](#braze-web-settings-mapping) for "Device-web" for the full list of requirements before setting up mappings.
+4. In the **Settings** tab, configure the connection settings. **API Key**, **SDK Endpoint**, and **REST Endpoint** are required settings.
-After setting up your Braze Web Mode (Action) destination in the Segment app, Segment's Analytics.js library starts asynchronously loading the Braze SDK on your page and sending data. Data appears in the Segment CDN in about 45 minutes.
+After setting up your Braze web-mode (Action) destination in the Segment app, Segment's Analytics.js library starts asynchronously loading the Braze SDK on your page and sending data. Data appears in the Segment CDN in about 45 minutes.
> info ""
> If you're using a device-mode connection, Braze's SDK assigns a `device_id` and a backend identifier, `braze_id`, to every user. This allows Braze to capture anonymous activity from the device by matching on those identifiers instead of `userId`. This applies to _device-mode connections_.
@@ -38,11 +43,11 @@ After setting up your Braze Web Mode (Action) destination in the Segment app, Se
## Other features
-Braze Web Mode (Actions) can use the following features of Braze.
+Braze web-mode (Actions) can use the following features of Braze.
-### In-app Messaging
+### In-app messaging
-Once configured, you can trigger in-app message display as a result of several different event types. By default, all In-App Messages that a user is eligible for are automatically delivered to the user upon a session start event. A new session automatically starts when a user loads your site. If you'd like to force a new session for a user, make an Identify call with the corresponding [userId](/docs/connections/spec/identify/#user-id) for that user.
+Once configured, you can trigger in-app message display as a result of several different event types. By default, all In-App Messages that a user is eligible for are automatically delivered to the user upon a session start event. A new session automatically starts when a user loads your site. If you'd like to force a new session for a user, make an [Identify](/docs/connections/spec/identify/) call with the corresponding [userId](/docs/connections/spec/identify/#user-id) for that user.
If you don't want your site to display new In-App Messages as they're received, disable automatic display and register your own display subscribers. To do this:
@@ -66,11 +71,11 @@ The `inAppMessages` parameter will be an array of [`appboy.ab.InAppMessage`](htt
-### Push Notifications
+### Push notifications
-1. To support push notifications on Chrome, you'll need to enable FCM/GCM as well as configure your site. Check out steps [one and two here for detailed instructions on both](https://www.braze.com/docs/developer_guide/platform_integration_guides/web/initial_sdk_setup#step-1-to-support-chrome-enable-fcmgcm){:target="_blank"}.
+1. To support push notifications on Chrome, you must enable FCM/GCM and configure your site. See steps [one and two in the Braze docs for detailed instructions on both](https://www.braze.com/docs/developer_guide/platform_integration_guides/web/initial_sdk_setup#step-1-to-support-chrome-enable-fcmgcm){:target="_blank"}.
-2. Browser Registration. In order for a browser to receive push notifications, you must register it for push by calling:
+2. **Browser Registration**: For a browser to receive push notifications, you must register it for push by calling:
```js
analytics.ready(function() {
@@ -78,9 +83,9 @@ The `inAppMessages` parameter will be an array of [`appboy.ab.InAppMessage`](htt
});
```
- **Note:** Place this snippet outside of your [Segment Snippet](/docs/connections/sources/catalog/libraries/website/javascript/quickstart/#step-2-copy-the-segment-snippet) within your `script` tag.
+ **Note**: Place this snippet outside of your [Segment Snippet](/docs/connections/sources/catalog/libraries/website/javascript/quickstart/#step-2-copy-the-segment-snippet) within your `script` tag.
- **Note:** This requests push permission from the user.
+ **Note**: This requests push permission from the user.
To show your own push-related UI to the user before requesting push permission (known as a soft push prompt), you can test to see if the user's browser supports push by calling:
@@ -106,9 +111,9 @@ analytics.ready(function() {
2. To support push notifications on Safari, add your Website Push ID into your Segment Settings UI and Segment sends it when the Braze Web SDK initializes. To get your Website Push ID, follow the first two bullet points in [these instructions](https://www.braze.com/docs/developer_guide/platform_integration_guides/web/initial_sdk_setup#step-5-configure-safari-push){:target="_blank"}.
-### Soft Push Prompts
+### Soft push prompts
-1. Follow [step one](https://www.braze.com/docs/developer_guide/platform_integration_guides/web/push_notifications/soft_push_prompt/#step-1-create-a-push-primer-campaign){:target="_blank"} to create a "Prime for Push" in-app messaging Campaign on the Braze dashboard.
+1. Follow [step one](https://www.braze.com/docs/developer_guide/platform_integration_guides/web/push_notifications/soft_push_prompt/#step-1-create-a-push-primer-campaign){:target="_blank"} detailed in the Braze docs, to create a "Prime for Push" in-app messaging Campaign on the Braze dashboard.
2. Add the following snippet to your site:
@@ -162,24 +167,24 @@ For more details on this snippet, see Braze's [Soft push prompt](https://www.bra
});
```
-### Enable SDK Authentication
+### Enable SDK authentication
When "Enable SDK Authentication" is enabled, Segment will set Braze's `enableSdkAuthentication` to `true`. When this feature is enabled, the Braze SDK will append the current user’s last known JWT to network requests made to Braze Servers.
-## Important differences from the classic Braze destination
-- Braze Web Mode (Actions) supports the Braze [Web](https://github.com/segment-integrations/analytics.js-integration-appboy){:target="_blank"} integration. [Braze Cloud Mode (Actions)](/docs/connections/destinations/catalog/actions-braze-cloud) supports server and mobile sources, but to use mobile sources in device-mode, use the Braze Classic destination.
+## Important differences from Braze (Classic) destination
+- Braze web-mode (Actions) supports the Braze [Web](https://github.com/segment-integrations/analytics.js-integration-appboy){:target="_blank"} integration. [Braze Cloud-Mode (Actions)](/docs/connections/destinations/catalog/actions-braze-cloud) supports server and mobile sources, but to use mobile sources in device-mode, use the Braze Classic destination.
-## Migration from Braze Classic
+## Migration from Braze (Classic)
Keep the following in mind if you plan to move to Braze (Actions) from the classic Braze destination.
{% include components/actions-map-table.html name="braze-web" %}
-## FAQ
+## FAQs
-### How does the Debounce Middleware Action work?
+#### How does the Debounce Middleware Action work?
The following [Debounce Middleware](/docs/connections/destinations/catalog/actions-braze-web/#debounce-middleware) logic is executed at the source-level:
diff --git a/src/connections/destinations/catalog/actions-facebook-conversions-api/index.md b/src/connections/destinations/catalog/actions-facebook-conversions-api/index.md
index f98a6813d2..08d22f6af8 100644
--- a/src/connections/destinations/catalog/actions-facebook-conversions-api/index.md
+++ b/src/connections/destinations/catalog/actions-facebook-conversions-api/index.md
@@ -89,7 +89,7 @@ Available sync modes for the Facebook Conversions API (Actions) include:
## Configuration options
-The Facebook Conversions API (Actions) destination gives you several ways to implement your conversion tracking. You can use it with [Facebook Pixel](/docs/connections/destinations/catalog/facebook-pixel/), or as a stand-alone alternative. You can read more about implementation options below and in [Facebook documentation](https://developers.facebook.com/docs/marketing-api/conversions-api/guides/end-to-end-implementation#pick-your-integration-type){:target="_blank"}. |
+The Facebook Conversions API (Actions) destination gives you several ways to implement your conversion tracking. You can use it with [Facebook Pixel](/docs/connections/destinations/catalog/facebook-pixel/), or as a stand-alone alternative. You can read more about implementation options below and in [Facebook documentation](https://developers.facebook.com/docs/marketing-api/conversions-api/guides/end-to-end-implementation#pick-your-integration-type){:target="_blank"}.
### Send events from both the browser and the server
diff --git a/src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md b/src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md
index 204e20c776..99b1872934 100644
--- a/src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md
+++ b/src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md
@@ -43,36 +43,21 @@ This destination sends audiences, or lists of users, to Facebook Custom Audience
After you've connected your Facebook Custom Audiences destination to Segment, set up a mapping that adds users to a new or existing Custom Audience.
+> warning "Added or updated records is the only supported additive sync mode"
+> Selecting any other sync mode might lead to sync failures with the Facebook Custom Audiences (Actions) destination.
+
1. Navigate to **Connections > Sources** and select your Reverse ETL source.
2. On the Models page, select the model you'd like to use and click **Add Mapping**.
3. Select the Facebook Custom Audience (Actions) destination and the Sync Audience action, then click **Create Mapping**.
4. Enter a descriptive name for your mapping. Segment recommends a name that includes both the audience name and sync mode, for example, `Loyalty Users (Add)`.
5. Under **Select record to map and send**, select **Added or updated records**. The Added or updated records sync mode both adds new records and attempts to re-add any updated records to the custom audience. Adding updated records to your destination enables better match rates as more user identifiers are added to the source model over time.
-
-> warning "Added or updated records is the only supported additive sync mode"
-> Selecting any other sync mode might lead to sync failures with the Facebook Custom Audiences (Actions) destination.
-
-
- -
- Set how often your model syncs by setting the [Sync schedule](/docs/connections/reverse-etl/#step-4-create-mappings).
-
- -
- Select or create an audience in Facebook to sync your data with. Click the **Select or create audience in Facebook** button to save the audience ID to your mapping.
-
- -
- Map your model columns to the appropriate Facebook Custom Audience parameters. For more context about data formatting, see the [Sync Audience](#sync-audience) and [Data processing](#data-processing) documentation.
-
- - Map External ID to a unique user identifier from your system (like User ID, CRM ID, or anonymous ID.) Segment recommends using the External ID column as your primary key when setting up your Reverse ETL model so you can more easily remove users from your custom audience. External ID is the only field Facebook requires.
- - Segment recommends mapping as many parameters as you have available in your source model so that you can increase your match rates.
-
-
- -
- Send a test record. If successful, you should see a 200 response in Segment and one added record to your custom audience. To verify that the record was successfully added to your custom audience, open Facebook Ads Manager and navigate to **Audiences > {Audience Name} > History**.
-
- -
- Click **Save Mapping** and enable the mapping.
-
-
+6. Set how often your model syncs by setting the [Sync schedule](/docs/connections/reverse-etl/#step-4-create-mappings).
+7. Select or create an audience in Facebook to sync your data with. Click the **Select or create audience in Facebook** button to save the audience ID to your mapping.
+8. Map your model columns to the appropriate Facebook Custom Audience parameters. For more context about data formatting, see the [Sync Audience](#sync-audience) and [Data processing](#data-processing) documentation.
+ - Map External ID to a unique user identifier from your system (like User ID, CRM ID, or anonymous ID.) Segment recommends using the External ID column as your primary key when setting up your Reverse ETL model so you can more easily remove users from your custom audience. External ID is the only field Facebook requires.
+ - Segment recommends mapping as many parameters as you have available in your source model so that you can increase your match rates.
+9. Send a test record. If successful, you should see a 200 response in Segment and one added record to your custom audience. To verify that the record was successfully added to your custom audience, open Facebook Ads Manager and navigate to **Audiences > \{Audience Name\} > History**.
+10. Click **Save Mapping** and enable the mapping.
### Remove users from a Custom Audience
@@ -84,7 +69,7 @@ After you've connected your Facebook Custom Audiences destination to Segment, se
6. Set how often your model syncs by setting the [Sync schedule](/docs/connections/reverse-etl/#step-4-create-mappings).
7. Select or create an audience in Facebook to sync your data with. Click the **Select or create audience in Facebook** button to save the audience ID to your mapping.
8. Map your model columns to the appropriate Facebook Custom Audience parameters. Only the External ID is required. When a record is deleted from your source model, only the model primary key is sent to the mapping; other columns from your source model are not sent. Segment recommends using the External ID as your primary key in your source model.
-9. Send a test record. If successful, you should see a `200` response in Segment and one record removed from your custom audience. To verify that the record was successfully removed from your custom audience, open Facebook Ads Manager and navigate to **Audiences > {Audience Name} > History**.
+9. Send a test record. If successful, you should see a `200` response in Segment and one record removed from your custom audience. To verify that the record was successfully removed from your custom audience, open Facebook Ads Manager and navigate to **Audiences > \{Audience Name\} > History**.
10. Click **Save Mapping** and enable the mapping.
{% include components/actions-fields.html %}
diff --git a/src/connections/destinations/catalog/actions-google-analytics-4-web/index.md b/src/connections/destinations/catalog/actions-google-analytics-4-web/index.md
index 9ff0d60a40..cd507cb1f5 100644
--- a/src/connections/destinations/catalog/actions-google-analytics-4-web/index.md
+++ b/src/connections/destinations/catalog/actions-google-analytics-4-web/index.md
@@ -32,9 +32,9 @@ To connect the Google Analytics 4 Web destination:
7. Analytics.js requires an initial Page call to send data to Google Analytics 4 Web. The [Segment snippet](/docs/connections/sources/catalog/libraries/website/javascript/quickstart/#step-2-add-the-segment-snippet) includes this initial call by default.
8. For GA4 to accept events on page, enable Set Configuration Mapping triggered by the first Segment event called after analytics.load(). Set Configuration Mapping calls the gtag(‘config’) command to enable tracking to your GA4 Measurement ID.
-After you've set up and enabled the Set Configuration Mapping, enable at least one event in your **Mappings** tab. From there, view your events and parameters using the Google [Realtime](https://support.google.com/analytics/answer/9271392){:target="_blank"} or[DebugView](https://support.google.com/analytics/answer/7201382){:target="_blank"} reports. These two reports show you the events users trigger on your website as they occur. The DebugView report requires additional configuration before you can use it. Additional tools for debugging are to view all your Google enabled tracking via https://tagassistant.google.com(https://tagassistant.google.com){:target=”_blank”} or in your browser’s Dev Tools, view GA4 collect requests by filtering by /collect.
+After you've set up and enabled the Set Configuration Mapping, enable at least one event in your **Mappings** tab. From there, view your events and parameters using the Google [Realtime](https://support.google.com/analytics/answer/9271392){:target="_blank"} or [DebugView](https://support.google.com/analytics/answer/7201382){:target="_blank"} reports. These two reports show you the events users trigger on your website as they occur. The DebugView report requires additional configuration before you can use it. Additional tools for debugging are to view all your Google enabled tracking via [Tag Assistant](https://tagassistant.google.com){:target="_blank"} or in your browser’s Dev Tools, view GA4 collect requests by filtering by /collect.
-Google Analytics automatically populates some events and parameters. For example, there are [Automatically Collected](https://support.google.com/analytics/answer/9234069){:target=”_blank”} events collected by triggering the Set Configuration Mapping. Calling gtag(‘config’) and enabling [Enhanced Measurement events](https://support.google.com/analytics/answer/9216061){:target=”_blank”}, which are controlled by toggling “on” in your GA4 Admin panel, use event listeners to send events. All events tracked via GA4 Web populate some commonly used parameters like `page_location` without additional configuration. Review the [Google Analytics event parameters](https://support.google.com/analytics/table/13594742){:target=”_blank” documentation for more information.
+Google Analytics automatically populates some events and parameters. For example, there are [Automatically Collected](https://support.google.com/analytics/answer/9234069){:target=”_blank”} events collected by triggering the Set Configuration Mapping. Calling gtag(‘config’) and enabling [Enhanced Measurement events](https://support.google.com/analytics/answer/9216061){:target=”_blank”}, which are controlled by toggling “on” in your GA4 Admin panel, use event listeners to send events. All events tracked via GA4 Web populate some commonly used parameters like `page_location` without additional configuration. Review the [Google Analytics event parameters](https://support.google.com/analytics/table/13594742){:target=”_blank”} documentation for more information.
### Recommended events
@@ -62,7 +62,7 @@ With Google Analytics 4, you must create custom dimensions and metrics, also kno
Similar to how properties relate to Segment events, parameters provide additional information about the ways users interact with your website. For example, when someone views a product you sell, you can include parameters that describe the product they viewed, like `product_name`, `category`, and `price`.
-Automatically Collected and Enhanced Measurement events include a defined set of parameters by default. Google also provides a set of required and optional parameters to include with each Recommended event, and you can add more event parameters when you need them. Segment recommends that you review GA4’s list of defined event parameters, as anything beyond that list is a custom event parameter. The [Event collection limits](https://https://support.google.com/analytics/answer/9267744){:target=_blank”} also impact how many Custom Definitions your GA4 instance allows and how many parameters you can send with each event.
+Automatically Collected and Enhanced Measurement events include a defined set of parameters by default. Google also provides a set of required and optional parameters to include with each Recommended event, and you can add more event parameters when you need them. Segment recommends that you review GA4’s list of defined event parameters, as anything beyond that list is a custom event parameter. The [Event collection limits](https://https://support.google.com/analytics/answer/9267744){:target="_blank"} also impact how many Custom Definitions your GA4 instance allows and how many parameters you can send with each event.
### Conversion events
diff --git a/src/connections/destinations/catalog/actions-hubspot-cloud/index.md b/src/connections/destinations/catalog/actions-hubspot-cloud/index.md
index a21b6e64d8..d6038422f9 100644
--- a/src/connections/destinations/catalog/actions-hubspot-cloud/index.md
+++ b/src/connections/destinations/catalog/actions-hubspot-cloud/index.md
@@ -141,8 +141,8 @@ Follow the steps outlined in HubSpot's [Uninstall an app](https://knowledge.hubs
#### How does disconnecting and uninstalling affect a user's data and HubSpot account?
Segment immediately stops sending data to HubSpot after you disconnect and uninstall a HubSpot account.
-#### Understanding HubSpot's `date` and dateTime` custom property types
-If you plan on sending a _date_ value that includes time data to your mapped HubSpot custom properties, select HubSpot's `dateTime` property type in HubSpot. If you plan to send a _date_ value that does not contain time data, select the `date` property value in HubSpot. For more information about custom property types, see HubSpot's [Custom objects](https://developers.hubspot.com/docs/api/crm/crm-custom-objects#properties){:target="_blank”} documentation.
+#### Understanding HubSpot's `date` and `dateTime` custom property types
+If you plan on sending a _date_ value that includes time data to your mapped HubSpot custom properties, select HubSpot's `dateTime` property type in HubSpot. If you plan to send a _date_ value that does not contain time data, select the `date` property value in HubSpot. For more information about custom property types, see HubSpot's [Custom objects](https://developers.hubspot.com/docs/api/crm/crm-custom-objects#properties){:target="_blank"} documentation.
If you send a _date_ value that contains time data to a custom property in HubSpot with a `date` property type, the event might fail due to an "**Invalid Date Error**."
diff --git a/src/connections/destinations/catalog/actions-iterable-lists/index.md b/src/connections/destinations/catalog/actions-iterable-lists/index.md
index 1875548fd8..6c9871e6b0 100644
--- a/src/connections/destinations/catalog/actions-iterable-lists/index.md
+++ b/src/connections/destinations/catalog/actions-iterable-lists/index.md
@@ -1,6 +1,5 @@
---
title: Iterable Lists (Actions) Destination
-strat: iterable
hide-boilerplate: true
id: 66a7c28810bbaf446695d27d
hide-dossier: true
diff --git a/src/connections/destinations/catalog/actions-iterable/index.md b/src/connections/destinations/catalog/actions-iterable/index.md
index 55ca1d3206..cafad4bb25 100644
--- a/src/connections/destinations/catalog/actions-iterable/index.md
+++ b/src/connections/destinations/catalog/actions-iterable/index.md
@@ -1,6 +1,5 @@
---
title: Iterable (Actions) Destination
-strat: iterable
hide-boilerplate: true
id: 645babd9362d97b777391325
hide-dossier: true
diff --git a/src/connections/destinations/catalog/actions-kafka/index.md b/src/connections/destinations/catalog/actions-kafka/index.md
index 3748bd60c4..4306627f0b 100644
--- a/src/connections/destinations/catalog/actions-kafka/index.md
+++ b/src/connections/destinations/catalog/actions-kafka/index.md
@@ -20,45 +20,20 @@ id: 65dde5755698cb0dab09b489
The way you've configured your Kafka Cluster informs the authentication and encryption settings you'll need to apply to the Segment Kafka Destination. You may need the assistance of someone technical to provide values for the following Settings:
-
- -
- On the Settings tab, enter values into the **Client ID**, **Brokers** and **Authentication Mechanism** setting fields.
-
- -
- Populate fields based on the value you selected from the Authentication Mechanism field:
-
- -
- Plain or SCRAM-SHA-256 / 512 authentication: provide values for Username and Password fields.
-
- -
- Client Certificate authentication: provide values for the SSL Client Key and SSL Client Certificate fields.
-
-
-
- -
- Populate the **SSL Certificate Authority** field, if necessary.
-
- -
- Save your changes and proceed to [Configure the Send Action](#configure-the-send-action).
-
-
+1. On the Settings tab, enter values into the **Client ID**, **Brokers** and **Authentication Mechanism** setting fields.
+2. Populate fields based on the value you selected from the **Authentication Mechanism** field:
+ - **Plain** or **SCRAM-SHA-256 / 512** authentication: provide values for **Username** and **Password** fields.
+ - **Client Certificate** authentication: provide values for the **SSL Client Key** and **SSL Client Certificate** fields.
+3. Populate the **SSL Certificate Authority** field, if necessary.
+4. Save your changes and proceed to [Configure the Send Action](#configure-the-send-action).
### Configure the "Send" Action
-
- -
- Select the Mappings tab and add a new **Send** mapping.
-
- -
- Select a Topic to send data to. This field should auto-populate based on the credentials you provided in the Settings tab.
-
- -
- Map your payload using the **Payload** field.
_(Optional)_: Specify partitioning preferences, Headers and Message Key values.
-
- -
- Save and enable the Action, then navigate back to the Kafka destination's Settings tab to enable and save the Destination.
-
-
+1. Select the Mappings tab and add a new **Send** mapping.
+2. Select a Topic to send data to. This field should auto-populate based on the credentials you provided in the Settings tab.
+3. Map your payload using the **Payload** field.
+ _(Optional)_: Specify partitioning preferences, Headers and Message Key values.
+4. Save and enable the Action, then navigate back to the Kafka destination's Settings tab to enable and save the Destination.
{% include components/actions-fields.html %}
diff --git a/src/connections/destinations/catalog/actions-klaviyo/index.md b/src/connections/destinations/catalog/actions-klaviyo/index.md
index 14e850ecbd..02fa5edf41 100644
--- a/src/connections/destinations/catalog/actions-klaviyo/index.md
+++ b/src/connections/destinations/catalog/actions-klaviyo/index.md
@@ -45,11 +45,11 @@ Klaviyo (Actions) Destination can accept [Reverse ETL](/docs/connections/reverse
| Track Event |
|
|
|
| Upsert Profile |
|
|
|
| Remove Profile |
|
|
|
-| Subscribe Profile |
|
|
**\*** |
+| Subscribe Profile |
|
|
\* |
| Unsubscribe Profile |
|
|
|
> info ""
-> **\***Though technically possible, this may not be the most intuitive approach to using Reverse ETL.
+> \* Though technically possible, this may not be the most intuitive approach to using Reverse ETL.
In order to add users to a list, use the **Upsert Profile** Action and fill out the **List** field with the Klaviyo list you'd like to add the profile to.
diff --git a/src/connections/destinations/catalog/actions-koala-cloud/index.md b/src/connections/destinations/catalog/actions-koala-cloud/index.md
index 0147339057..47ecd5d341 100644
--- a/src/connections/destinations/catalog/actions-koala-cloud/index.md
+++ b/src/connections/destinations/catalog/actions-koala-cloud/index.md
@@ -1,6 +1,6 @@
---
title: Koala (Cloud) Destination
-id: 6230c835c0d6535357ee950d
+id: 6489c893dd5357493f365a96
---
{% include content/plan-grid.md name="actions" %}
diff --git a/src/connections/destinations/catalog/actions-ms-bing-capi/index.md b/src/connections/destinations/catalog/actions-ms-bing-capi/index.md
index 47ed1d627d..1d10d5056d 100644
--- a/src/connections/destinations/catalog/actions-ms-bing-capi/index.md
+++ b/src/connections/destinations/catalog/actions-ms-bing-capi/index.md
@@ -2,6 +2,7 @@
title: Microsoft Bing CAPI Destination
id: 68b82be249b48bae343517c7a
beta: true
+redirect_from: "/connections/destinations/catalog/microsoft-bing-capi/"
---
{% include content/plan-grid.md name="actions" %}
diff --git a/src/connections/destinations/catalog/actions-stackadapt-audiences/index.md b/src/connections/destinations/catalog/actions-stackadapt-audiences/index.md
index 1a485b74a8..32e805c715 100644
--- a/src/connections/destinations/catalog/actions-stackadapt-audiences/index.md
+++ b/src/connections/destinations/catalog/actions-stackadapt-audiences/index.md
@@ -4,13 +4,14 @@ hide-boilerplate: true
hide-dossier: true
beta: true
id: 66e96b9f4ee97f41caa06487
-hidden: true
redirect_from: "/connections/destinations/catalog/actions-stackadapt/"
---
{% include content/plan-grid.md name="actions" %}
-[StackAdapt](https://www.stackadapt.com/){:target="\_blank"} is a programmatic advertising platform specializing in audience engagement. StackAdapt lets marketers deliver high-performing advertising campaigns across channels through real-time bidding, detailed audience targeting, and data-driven insights. StackAdapt’s integration with [Engage](/docs/engage/) helps you sync user data to optimize targeting and improve your campaign outcomes.
+[StackAdapt](https://www.stackadapt.com/){:target="_blank"} is a leading programmatic advertising platform designed to maximize audience engagement. It enables marketers to run high-performing, cross-channel campaigns through real-time bidding, advanced audience targeting, and powerful data-driven insights.
+
+With the [Engage](/docs/engage/) integration, you can seamlessly sync your Engage Audiences and user data with StackAdapt to refine targeting precision and drive stronger campaign performance.
This destination is maintained by StackAdapt. For any issues with the destination, submit a ticket to [StackAdapt's support team](https://support.stackadapt.com/hc/en-us/requests/new?ticket_form_id=360006572593){:target="\_blank"}.
@@ -57,7 +58,6 @@ Each Engage audience should only contain profiles that have a valid email addres
- (**Required**:) Select a default value for `Marketing Status`.
- (**Required**:) Confirm that you have a valid source field for `Email`.
- Select the source field for `Standard User Properties`. Ensure the source field matches the profile traits selected in step 4. You can learn more about the field format by hovering over the info icon of the field.
- - Create mappings for `Custom User Properties` if applicable.
- Follow the Destinations Actions documentation to [customize mappings](/docs/connections/destinations/actions/#customize-mappings).
To verify that your audience syncs with StackAdapt, open StackAdapt and navigate to **Audience & Attribution > Customer Data > Profiles**. On the Profiles tab, you should be able to see a list of profiles being synced to the StackAdapt platform.
@@ -77,13 +77,6 @@ To create a StackAdapt audience from your Engage audience:
> Use the _snake_case_ name of the Segment Engage audience which can be found in **Settings**, shown in the following screenshot.
> 
-### Sending an audience to StackAdapt
-
-1. In Segment, go to **Engage > Audiences** and select the audience to sync with StackAdapt.
-2. Click **Add Destination** and select **StackAdapt Audiences**.
-3. Toggle **Send Track** and **Send Identify** on.
-4. Click **Save**.
-
## Data and privacy
Review [StackAdapt's Data Processing Agreement](https://www.stackadapt.com/data-processing-agreement){:target="\_blank"} to learn more about StackAdapt's privacy and data terms.
diff --git a/src/connections/destinations/catalog/actions-taguchi/index.md b/src/connections/destinations/catalog/actions-taguchi/index.md
new file mode 100644
index 0000000000..d53bc753a8
--- /dev/null
+++ b/src/connections/destinations/catalog/actions-taguchi/index.md
@@ -0,0 +1,49 @@
+---
+title: Taguchi (Actions) Destination
+id: 68b6ddcd033b3f6d006d8e1f
+beta: true
+---
+
+{% include content/plan-grid.md name="actions" %}
+
+[Taguchi](https://taguchi.com.au){:target="_blank”} is a distributed customer engagement platform designed to help you communicate with customers. Taguchi provides tools for digital marketing, customer engagement, loyalty, marketing automation, targeting campaigns, and localized digital marketing.
+
+This destination is maintained by Taguchi. For any issues with the destination, [contact the Taguchi support team](mailto:support@taguchi.com){:target="_blank”}.
+
+## Getting started
+
+1. In your Segment workspace, go to the [Destination catalog page](https://app.segment.com/goto-my-workspace/destinations/catalog) and search for "Taguchi".
+2. Select the Taguchi (Actions) destination and click **Add Destination**.
+3. Select an existing source to connect to Taguchi (Actions).
+4. Go to the [Taguchi credential dashboard](https://login.taguchi.com.au//settings/credentials){:target="_blank”}. Create a new credential and copy the **API key**.
+5. In Segment, paste the **API Key** in the Taguchi destination settings.
+6. Next, go to the [Taguchi integration dashboard](https://login.taguchi.com.au//settings/integration){:target="_blank”} and create a new integration.
+7. Configure the integration:
+- Give it an appropriate Integration name.
+- Select API: **V5 endpoint (authenticated)** type.
+- Select the credential in Step 4 from the credential dropdown.
+- Select the **External ID (ref)** option in the Identify Profiles dropdown.
+- Enable the required checkboxes.
+8. Save and activate the integration.
+9. Copy the **Production Endpoint URL** from Taguchi. Return to Segment and paste the **Production Endpoint URL** in the Taguchi destination settings.
+10. Enter the **Organization ID** (found in the Taguchi dashboard).
+
+{% include components/actions-fields.html settings="true" %}
+
+## Identify (Sync User Profile)
+
+Use [Identify](docs/connections/spec/identify) calls to sync user profile data to Taguchi. When configuring mappings in the destination setup:
+
+1. Select **Sync User Profile**.
+2. Define the **Event type** as **Identify**.
+
+Segment maps user traits to corresponding Taguchi fields, sending them to Taguchi as a subscriber profile.
+
+## Track (Sync Event)
+
+Use [Track](docs/connections/spec/track/) calls to sync event data to Taguchi. When configuring mappings in the destination setup:
+
+1. Select **Sync Event**.
+2. Define the **Event type** as **Track**.
+
+Segment maps user actions to corresponding Taguchi fields, sending them to Taguchi as subscriber events.
diff --git a/src/connections/destinations/catalog/appsflyer/index.md b/src/connections/destinations/catalog/appsflyer/index.md
index c19cab1b09..97f471fc35 100644
--- a/src/connections/destinations/catalog/appsflyer/index.md
+++ b/src/connections/destinations/catalog/appsflyer/index.md
@@ -60,7 +60,7 @@ To prevent this, you can enable the new **Fallback to send IDFV when advertising
#### Additional React Native device-mode set up
-{% include content/react2-dest.md %}
+The device-mode destination SDK has platform restrictions in React Native. To add device-mode destination SDKs to a React Native project using Segment's new 2.0 release, please reference the [Destination Plugin documentation](/docs/connections/sources/catalog/libraries/mobile/react-native/#supported-destinations).
## Server
diff --git a/src/connections/destinations/catalog/facebook-pixel-server-side/index.md b/src/connections/destinations/catalog/facebook-pixel-server-side/index.md
index 35ec10ed08..360b51bd42 100644
--- a/src/connections/destinations/catalog/facebook-pixel-server-side/index.md
+++ b/src/connections/destinations/catalog/facebook-pixel-server-side/index.md
@@ -70,7 +70,7 @@ The Segment Facebook Conversions API destination gives you several ways to imple
The following implementation options are available:
1. [Send the same events from both the browser and the server](#send-the-same-events-from-both-the-browser-and-the-server).
-2. [Send different events; some from the browser others from the server](#send-different-events-some-from-the-browser-others-from-the-server).
+2. [Send different events - some from the browser others from the server](#send-different-events---some-from-the-browser-others-from-the-server).
3. [Only send events from the server](#only-send-events-from-the-server).
### Send the same events from both the browser and the server
diff --git a/src/connections/destinations/catalog/gameball/index.md b/src/connections/destinations/catalog/gameball/index.md
index 62e3c38e2a..4bb8341549 100644
--- a/src/connections/destinations/catalog/gameball/index.md
+++ b/src/connections/destinations/catalog/gameball/index.md
@@ -55,4 +55,4 @@ Set up your [custom `track` events in Gameball](https://help.gameball.co/en/arti
All `track` events _must_ contain a `userID` property.
-Segment sends `track` calls to Gameball as a `track` event.
+Segment sends `track` calls to Gameball as a `track` event.
\ No newline at end of file
diff --git a/src/connections/destinations/catalog/optimizely-web/index.md b/src/connections/destinations/catalog/optimizely-web/index.md
index c203028a89..d59a358490 100644
--- a/src/connections/destinations/catalog/optimizely-web/index.md
+++ b/src/connections/destinations/catalog/optimizely-web/index.md
@@ -135,7 +135,7 @@ This appends an additional property in your "Experiment Viewed" events called `n
#### Sending Experiment Viewed event properties as Google Analytics Custom Dimensions
-If you're sending your experiment data to Google Analytics in the form of `track` calls, Segment recommends creating hit-scoped custom dimensions in Google Analytics with titles like "Experiment Name" and "Variation Name," and then map the properties to those Custom Dimensions accordingly. For example, if you set Custom Dimension 5 to "Experiment Name" and Custom Dimension 1 to "Variation Name," here's how you'd configure the mappings in your Segment<>GA settings:
+If you're sending your experiment data to Google Analytics in the form of `track` calls, Segment recommends creating hit-scoped custom dimensions in Google Analytics with titles like "Experiment Name" and "Variation Name," and then map the properties to those Custom Dimensions accordingly. For example, if you set Custom Dimension 5 to "Experiment Name" and Custom Dimension 1 to "Variation Name," here's how you'd configure the mappings in your Segment\<>GA settings:

@@ -195,7 +195,7 @@ If you are sending anonymous data to Optimizely X Full Stack using their server-
### No Data for Anonymous Users
-Segment does not map any data to Optimizely from the Segment<>Optimizely Web destination for anonymous users - in other words, to map `track` and `page` data, a user must be `identified` with a `userId`.
+Segment does not map any data to Optimizely from the Segment\<>Optimizely Web destination for anonymous users - in other words, to map `track` and `page` data, a user must be `identified` with a `userId`.
### Lower Experiment Viewed counts inside Segment and other tools vs. Optimizely unique visitors
diff --git a/src/connections/destinations/catalog/personas-facebook-custom-audiences/index.md b/src/connections/destinations/catalog/personas-facebook-custom-audiences/index.md
index a795b65e6d..d878aed968 100644
--- a/src/connections/destinations/catalog/personas-facebook-custom-audiences/index.md
+++ b/src/connections/destinations/catalog/personas-facebook-custom-audiences/index.md
@@ -110,7 +110,8 @@ Once created, the audience should be available in Facebook in ten minutes unless
[Trait Enrichment](/docs/engage/trait-activation/trait-enrichment/) allows you to send an expanded list of identifiers or traits to Facebook, so that Facebook can try to use these additional data points to match to their user profiles. If you have this feature enabled and implemented any of these traits in your Segment tracking, Engage can send this data to Facebook. Segment can now also sync multiple emails if the profile contains more than one. Additionally as part of this feature, Segment hashes fields before sending them downstream to Facebook, if required. (See the table below for hashing requirements.) Note that the trait data implemented in your Segment tracking must match the naming convention and format specified in the table below, otherwise Segment can't send it to Facebook.
-| **Name** | **Trait Key formats supported** | **Facebook Keys** | **FB Hashing Required** | **FB Guidelines** |
+| **Name** | **Trait Key formats supported** | **Facebook Keys** | **FB Hashing Required** | **FB Guidelines** |
+| ----------- | ------------------------------------------------------------ | -------------------- | ----------------------- | --------------------- |
| Email | | EMAIL | Yes (Segment does the hashing for you. In case you are *already* hashing emails, emails will get sent to Facebook double-hashed. Facebook will still match on double-hashed emails, but this is *not* recommended. | Trim leading, trail whitespace, and convert all characters to lowercase. |
| Mobile ID | | MADID | No | Use all lowercase, keep hyphens. |
| First Name | first_name
firstname
firstName
first | FN | Yes | Use `a`-`z` only. Lowercase only, no punctuation. Special characters in UTF8 format. |
diff --git a/src/connections/destinations/catalog/quantcast/index.md b/src/connections/destinations/catalog/quantcast/index.md
index ef578a007a..eb81594c56 100644
--- a/src/connections/destinations/catalog/quantcast/index.md
+++ b/src/connections/destinations/catalog/quantcast/index.md
@@ -32,7 +32,7 @@ For purchase events, you should send an event called `Order Completed` per our s
### Features
#### Labels
-When you call `page`, `track` or `screen`, we'll pass the page name, event name or screen name and the category (if provided) to Quantcast as a label. The standard label will look like this "" for page or screen, and "" for track events. If you enable Quantcast for advertisers then we'll send "_fp.event." to match Quantcast's internal data structures for advertisers. If you do not pass any `category` or `name` for a `.page()` call, we will fallback on Quantcast's default label.
+When you call `page`, `track` or `screen`, we'll pass the page name, event name or screen name and the category (if provided) to Quantcast as a label. The standard label will look like this "\" for page or screen, and "\" for track events. If you enable Quantcast for advertisers then we'll send "_fp.event.\" to match Quantcast's internal data structures for advertisers. If you do not pass any `category` or `name` for a `.page()` call, we will fallback on Quantcast's default label.
Here's an example for Quantcast Advertisers:
diff --git a/src/connections/destinations/catalog/trubrics/index.md b/src/connections/destinations/catalog/trubrics/index.md
index 34aa98c72e..1fcca5867d 100644
--- a/src/connections/destinations/catalog/trubrics/index.md
+++ b/src/connections/destinations/catalog/trubrics/index.md
@@ -19,8 +19,8 @@ This destination is maintained by Trubrics. For any issues with the destination,
4. Go to the [Trubrics app](https://app.trubrics.com){:target="_blank"}, and copy the **Project API key** from the settings page.
5. Enter the **Project API Key** in the Trubrics destination settings in Segment, then enable the destination.
6. Add mappings for your AI/user properties.
- - To learn more about adding mappings, see [Trubrics <> Segment Mapping Events](https://www.loom.com/share/3bc3a02cf38d47b4b865c50314dbc8fb){:target="_blank”}.
+ - To learn more about adding mappings, see [Trubrics \<> Segment Mapping Events](https://www.loom.com/share/3bc3a02cf38d47b4b865c50314dbc8fb){:target="_blank”}.
-{% include components/actions-fields.html %}
\ No newline at end of file
+{% include components/actions-fields.html %}
diff --git a/src/connections/functions/destination-functions.md b/src/connections/functions/destination-functions.md
index 56c3cee001..42dfaf0e46 100644
--- a/src/connections/functions/destination-functions.md
+++ b/src/connections/functions/destination-functions.md
@@ -371,7 +371,7 @@ async function getAccessToken () {
### Functions permissions
-{% include content/functions/perms.md%}
+{% include content/functions/perms.md %}
### Editing and deleting functions
diff --git a/src/connections/functions/environment.md b/src/connections/functions/environment.md
index c64591c48a..fd29a04725 100644
--- a/src/connections/functions/environment.md
+++ b/src/connections/functions/environment.md
@@ -119,7 +119,7 @@ View Segment's [Public API](https://docs.segmentapis.com/tag/Functions){:target=
## Functions permissions
-{% include content/functions/perms.md%}
+{% include content/functions/perms.md %}
## ️Settings and secrets
diff --git a/src/connections/functions/insert-functions.md b/src/connections/functions/insert-functions.md
index 029508f610..f633d9c2bc 100644
--- a/src/connections/functions/insert-functions.md
+++ b/src/connections/functions/insert-functions.md
@@ -267,7 +267,7 @@ To prevent your insert function from processing data, toggle Enable Function off
## Batching the destination insert function
-Batch handlers are an extension of insert functions. When you define an `onBatch` handler alongside the handler functions for single events (for example, `onTrack` or `onIdentity`), you're telling Segment that the insert function can accept and handle batches of events.
+Batch handlers are an extension of insert functions. When you define an `onBatch` handler alongside the handler functions for single events (for example, `onTrack` or `onIdentity`), you're telling Segment that the insert function can accept and handle batches of events.
> info ""
> Batching is available for destination and destination insert functions only.
@@ -289,6 +289,8 @@ Segment collects the events over a short period of time and combines them into a
To create a batch handler, define an `onBatch` function within your destination insert function. You can also use the "Default Batch" template found in the Functions editor to get started quickly.
+You must preserve the original order in the `onBatch` implementation, as Segment's function invoker service relies on positional consistency in the `onBatch` handler between the input and output arrays. When a function returns a transformed batch, Segment pairs each output event with its corresponding input using array index positions, not event IDs or timestamps.
+
```js
async function onBatch(events, settings){
// handle the batch of events
@@ -306,6 +308,7 @@ The handler function receives an array of events. The events can be of any suppo
{
"type": "identify",
"userId": "019mr8mf4r",
+ "messageId": "ajs-next-1757955997356-c029ce21-9034-45a6-ac62-b8b23b655df5",
"traits": {
"email": "jake@yahoo.com",
"name": "Jake Peterson",
@@ -315,6 +318,7 @@ The handler function receives an array of events. The events can be of any suppo
{
"type": "track",
"userId": "019mr8mf4r",
+ "messageId": "ajs-next-1757955997356-bde2ad8e-2af9-45f5-837b-993671f6b1b0",
"event": "Song Played",
"properties": {
"name": "Fallin for You",
@@ -324,6 +328,7 @@ The handler function receives an array of events. The events can be of any suppo
{
"type": "track",
"userId": "971mj8mk7p",
+ "messageId": "ajs-next-1757955997356-9e2ba07c-0085-4a5b-8928-e4450a417f74",
"event": "Song Played",
"properties": {
"name": "Get Right",
@@ -339,6 +344,9 @@ Segment batches together any event _of any type_ that it sees over a short perio
```js
async function onBatch(events, settings) {
+ // store original order
+ const originalOrder = events.map(event => event.messageId);
+
// group events by type
const eventsByType = {}
for (const event of events) {
@@ -361,7 +369,10 @@ async function onBatch(events, settings) {
try {
const results = await Promise.all(promises);
const batchResult = [].concat(...results); // Combine arrays into a single array
- return batchResult;
+
+ // restore original order
+ const resultMap = new Map(batchResult.map(e => [e.messageId, e]));
+ return originalOrder.map(id => resultMap.get(id));
} catch (error) {
throw new RetryError(error.message);
}
@@ -469,7 +480,7 @@ You can view Segment's list of [Integration Error Codes](/docs/connections/integ
### Functions permissions
-{% include content/functions/perms.md%}
+{% include content/functions/perms.md %}
### Editing and deleting functions
diff --git a/src/connections/functions/source-functions.md b/src/connections/functions/source-functions.md
index 466764e397..502302ecfd 100644
--- a/src/connections/functions/source-functions.md
+++ b/src/connections/functions/source-functions.md
@@ -391,7 +391,7 @@ Segment only attempts to run your source function again if a **Retry** error occ
### Source functions permissions
-{% include content/functions/perms.md%}
+{% include content/functions/perms.md %}
### Editing and deleting source functions
diff --git a/src/connections/sources/catalog/cloud-apps/autopilothq/index.md b/src/connections/sources/catalog/cloud-apps/autopilothq/index.md
index 407b871b3f..aa8fe7cdd5 100644
--- a/src/connections/sources/catalog/cloud-apps/autopilothq/index.md
+++ b/src/connections/sources/catalog/cloud-apps/autopilothq/index.md
@@ -50,8 +50,7 @@ Additionally, Autopilot also sends `email` and `contact_id` under `context.trait
| Email Marked as Spam |
- Recipient marked message as spam
- |
+ Recipient marked message as spam |
| Email Opened |
diff --git a/src/connections/sources/catalog/cloud-apps/blueshift/index.md b/src/connections/sources/catalog/cloud-apps/blueshift/index.md
index fe1a83f3ab..09b6176648 100644
--- a/src/connections/sources/catalog/cloud-apps/blueshift/index.md
+++ b/src/connections/sources/catalog/cloud-apps/blueshift/index.md
@@ -12,7 +12,7 @@ In your favorite BI or analytics tool, you'll be able to analyze your email camp
## Getting Started
-1. From your workspace's segment.com//sources page, click Add source.
+1. From your workspace's segment.com/\/sources page, click Add source.
2. Choose Blueshift.
3. Give the Source a nickname and a schema name. The nickname is a label used in the Segment interface, and the schema name is the namespace you query against in your warehouse. You can name them however you'd like, but we recommend sticking to something that reflects the Source itself, like Blueshift for nickname and Blueshift for the schema name.
4. The next page ("Overview") will surface your Segment write key for Blueshift. Copy this write key.
diff --git a/src/connections/sources/catalog/cloud-apps/friendbuy-legacy/index.md b/src/connections/sources/catalog/cloud-apps/friendbuy-legacy/index.md
index 253702d73b..07e3cf870e 100644
--- a/src/connections/sources/catalog/cloud-apps/friendbuy-legacy/index.md
+++ b/src/connections/sources/catalog/cloud-apps/friendbuy-legacy/index.md
@@ -21,7 +21,7 @@ These events can be passed to your Segment Destinations such as data warehouses
6. Login to your Friendbuy account and enter this Segment write key at this location: [Settings>Configurations>Integrations](https://retailer.friendbuy.com/app){:target="_blank"}.
7. Click Save.
-
+
8. From your Segment account, click into your Friendbuy Source and you'll be able to add other downstream Destinations where you want to see referral events.
diff --git a/src/connections/sources/catalog/cloud-apps/launchdarkly/index.md b/src/connections/sources/catalog/cloud-apps/launchdarkly/index.md
index 72017319a8..29649235d9 100644
--- a/src/connections/sources/catalog/cloud-apps/launchdarkly/index.md
+++ b/src/connections/sources/catalog/cloud-apps/launchdarkly/index.md
@@ -60,7 +60,8 @@ Below are tables outlining the properties included in the events listed above.
event |
event type |
- | Common Properties |
+
+ | Common Properties |
Properties common to all event types |
diff --git a/src/connections/sources/catalog/cloud-apps/rise-ai/index.md b/src/connections/sources/catalog/cloud-apps/rise-ai/index.md
new file mode 100644
index 0000000000..e2375e3b60
--- /dev/null
+++ b/src/connections/sources/catalog/cloud-apps/rise-ai/index.md
@@ -0,0 +1,63 @@
+---
+title: Rise AI Source
+---
+
+[Rise AI](https://getrise.ai/?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank"} provides AI-powered user guidance and automation, helping users accomplish their jobs-to-be-done with intelligent walkthroughs and contextual assistance.
+
+This is an [Event Cloud Source](/docs/sources/#event-cloud-sources) which can not only export data into your Segment warehouse, but can also federate the exported data into your other enabled Segment Destinations.
+
+This source is maintained by Rise AI. For any issues with the source, [contact their Support team](mailto:support@getrise.ai).
+
+## Getting started
+
+1. From your workspace's [Sources catalog page](https://app.segment.com/goto-my-workspace/sources/catalog){:target="_blank"} click **Add Source**.
+2. Search for "Rise AI" in the Sources Catalog, select Rise AI, and click **Add Source**.
+3. On the next screen, give the source a name, then configure any other settings.
+
+ - The name is used as a label in the Segment app, and Segment creates a related schema name in your warehouse. The name can be anything, but we recommend using something that reflects the source itself and distinguishes amongst your environments (for example, `RiseAI_Prod`, `RiseAI_Staging`, or `RiseAI_Dev`).
+
+4. Click **Add Source** to save your settings.
+5. Copy the Write key from the Segment UI.
+6. Log in to your Rise AI account, then navigate to **Settings** > **Integrations** > **Segment Integration** and paste the key to connect.
+
+## Stream
+
+Rise AI uses our stream source component to send Segment event data. It uses a server-side Track method to send data to Segment. These events are then available in any destination that accepts server-side events, and available in a schema in your data warehouse, so you can query using SQL.
+
+Rise AI includes the `userId` when available, along with a unique `tenant_id` for tenant isolation to ensure data privacy and proper attribution across different workspaces.
+
+## Events
+
+The table below lists events that Rise AI sends to Segment. These events appear as tables in your warehouse, and as regular events in other destinations. Rise AI includes the `userId` if available.
+
+| Event name | Description |
+| ------------------- | ------------------------------------------------------------------ |
+| walkthrough-progress | User progress through AI-guided walkthroughs and onboarding flows |
+| chats | AI chat session creation and interactions |
+
+
+## Event properties
+
+The table below list the properties included in the events listed above.
+
+| Property name | Description |
+| ------------------------- | ---------------------------------------------------------------- |
+| `batch_id` | Unique identifier for the event batch |
+| `chat_id` | Unique identifier for the chat session |
+| `environment` | Environment where the event occurred (for example, production or staging) |
+| `event_timestamp` | Timestamp when the event occurred |
+| `tenant_id` | Unique identifier for the tenant/workspace |
+| `step_index` | Position of the current step in the walkthrough (walkthrough-progress only) |
+| `step_title` | Title of the current walkthrough step (walkthrough-progress only) |
+| `fulfillment_action` | Action taken to fulfill the step (walkthrough-progress only) |
+| `walkthrough_job_to_be_done` | The job-to-be-done that the walkthrough helps accomplish (walkthrough-progress only) |
+| `chat_type` | Type of chat interaction (chats only) |
+
+
+## Adding destinations
+
+Now that your source is set up, you can connect it with destinations.
+
+Log into your downstream tools and check to see that your events appear as expected, and that they contain all of the properties you expect. If your events and properties don't appear, check the [Event Delivery](/docs/connections/event-delivery/) tool, and refer to the destination docs for each tool for troubleshooting.
+
+If there are any issues with how the events are arriving to Segment, [contact the Rise AI support team](mailto:support@getrise.ai).
diff --git a/src/connections/sources/catalog/libraries/mobile/apple/live-plugins.md b/src/connections/sources/catalog/libraries/mobile/apple/live-plugins.md
index 69f1d6d0d8..2ed355627e 100644
--- a/src/connections/sources/catalog/libraries/mobile/apple/live-plugins.md
+++ b/src/connections/sources/catalog/libraries/mobile/apple/live-plugins.md
@@ -3,27 +3,29 @@ title: Live Plugins
strat: swift
---
-Live plugins are JavaScript code snippets published to your Segment workspace and then downloaded directly to the mobile devices of end users. Live plugins let you perform real-time modifications to events before they leave the mobile device.
+Live Plugins let you modify analytics events in real time, directly on user devices, without rebuilding or redeploying your app. They’re JavaScript snippets that you publish from your Segment workspace, where they run on your users’ mobile devices to filter or transform data before it’s sent to Segment.
-On this page, you'll learn how to set up live plugins and how to create your own live plugins. You'll also see example live plugins that address common use cases.
+Live Plugins work alongside [Auto-Instrumentation](/docs/connections/auto-instrumentation/) to give you flexible control over your event data.
-> info "Live Plugins is in pilot"
-> Live Plugins is currently in Pilot and available to select Business Tier Customers only. To enable this feature for your workspace, contact your CSM.
+On this page, you’ll learn how to set up your mobile app to support Live Plugins, create and deploy custom plugins, and explore examples for common use cases.
-## Live plugins overview
+> info "Live Plugins is in Public Beta"
+> Live Plugins is in public beta for Swift and Kotlin and available to select Business Tier Customers only. To enable this feature for your workspace, contact your CSM.
-You can use JavaScript live plugins with Analytics-Swift and Analytics-Kotlin to filter and modify data remotely. As a result, you can filter and modify analytics events without having to deploy updates to the app store for each change, ensuring data quality and consistency for all your mobile users.
+## Live Plugins overview
-Because live plugins let you modify event data before it leaves a mobile device, you can use the same function to modify data meant for all your cloud-mode and device-mode destinations.
+You can use JavaScript Live Plugins with Analytics-Swift and Analytics-Kotlin to modify or filter event data directly on user devices. This lets you make real-time updates to your tracking logic without redeploying your app, helping you maintain data quality and consistency across your mobile users.
+
+Because Live Plugins run before data leaves the device, you can apply the same logic to all destinations or target specific destinations as needed.
## Setup
-To use live plugins, you first need to set up your mobile app with a one-time configuration.
+To use Live Plugins, you first need to set up your mobile app with a one-time configuration.
-To configure live plugins:
+To configure Live Plugins:
-1. Include the [Analytics Live for Swift plugin](https://github.com/segment-integrations/analytics-swift-live){:target="_blank"}
- and [Analytics Live for Kotlin plugin](https://github.com/segment-integrations/analytics-kotlin-live){:target="_blank"}
+1. Include [Analytics-Live for Swift plugin](https://github.com/segment-integrations/analytics-swift-live){:target="_blank"}
+ and [Analytics-Live for Kotlin](https://github.com/segment-integrations/analytics-kotlin-live){:target="_blank"}
in your project.
2. Add the plugin to your instance of Analytics, using the following code:
@@ -49,68 +51,18 @@ analytics.add(LivePlugins())
{% endcodeexampletab %}
{% endcodeexample %}
-After you've completed setup, you can deploy your apps to the Apple App Store and Google Play Store. You can then add new JavaScript plugin code to your mobile apps through the CLI and perform updates as often as needed.
-
-## Live plugin tutorial
-
-This section walks you through a sample live plugin implementation.
-
-### 1. Write a live plugin in JavaScript
-
-Copy and save the following file, which anonymizes events by removing user IDs and device IDs:
-
-```js
-class PrivacyLivePlugin extends LivePlugin {
- // The execute function is called for every event.
- execute(event) {
- // Remove the user ID and device ID from the event to anonymize it.
- event.userId = null;
- delete event.context.device.id;
- return event;
- }
-}
-```
-
-Note the name of your saved file. You'll need it in the next step.
-
-### 2. Deploy the plugin with the Live Plugin CLI
-
-With your plugin saved, you'll next deploy the plugin with Segment's Live Plugin CLI. Follow these steps:
-
-#### Install the CLI with Homebrew
-
-Run this command to install the Segment CLI:
-
-```shell
-$ brew install segment-integrations/formulae/segmentcli
-```
-
-#### Authenticate with Segment
-
-Next, you'll authenticate with Segment to give the CLI access to your workspace:
-
-1. Within your Segment workspace, navigate to **Settings > Workspace Settings > Access Management > Tokens**.
-2. Click **Create token** to generate a new token with the `Workspace Owner` role. Copy the token.
-3. Return to your command line and use your token to authenticate:
-
- ```shell
- $ segmentcli auth
- ```
-4. Copy your source's ID. You'll find the Source ID under **Settings > API Keys > Source ID** on your source's page.
-7. Use your source ID and live plugin file name to upload your live plugin:
-
- ```shell
- $ segmentcli liveplugins upload
- ```
+After you've completed setup, you can deploy your apps to the Apple App Store and Google Play Store. You can then add new JavaScript plugin code to your mobile apps through the Segment website, and perform updates as often as needed.
-You've now successfully attached your live plugin(s) to your mobile source. The next time your users launch your app, their Segment SDK will download the latest live plugins, which will run every time new events are generated.
+## Create your own Live Plugin
-> info ""
-> Because the CDN settings object takes a few minutes to rebuild, your live plugins might not be available immediately.
+To access Live Plugins for your Swift and Kotlin sources:
-## Create your own live plugin
+1. In your Segment workspace, go to **Connections > Sources**.
+2. Select your Swift or Kotlin source (or create a new one).
+3. From the source's overview page, click the Live Plugin tab..
+
-Follow the steps in this section to create your own live plugin.
+Follow the steps in this section to create and deploy your own Live Plugin.
### 1. Subclass the `LivePlugin` class
@@ -137,9 +89,9 @@ analytics.add(new UserIdLivePlugin(LivePluginType.enrichment, null));
In this example, you've created a `UserIdLivePlugin` by subclassing `LivePlugin` and implementing the `execute()` function. This function gets applied to every event.
-### 2. Add your live plugin to the Analytics instance
+### 2. Add your Live Plugin to the Analytics instance
-After you define your custom live plugin, you need to add it to the Analytics instance. The Analytics object is globally accessible, and you can use the `add()` method to include your live plugin.
+After you define your custom Live Plugin, you need to add it to the Analytics instance. The Analytics object is globally accessible, and you can use the `add()` method to include your Live Plugin.
When you adding a new instance, you specify the `LivePluginType` and the destination to which it applies, or use null to apply it to all destinations.
@@ -151,7 +103,7 @@ analytics.add(new UserIdLivePlugin(LivePluginType.enrichment, "adobe"));
### 3. Use the `LivePluginType` enums
-To control when your custom live plugin runs during event processing, you can use `LivePluginType` enums, which define different timing options for your live plugin. Here are the available types:
+To control when your custom Live Plugin runs during the event lifecycle, you can use `LivePluginType` enums, which define different timing options for your Live Plugin. Here are the available types:
```js
const LivePluginType = {
@@ -162,9 +114,9 @@ const LivePluginType = {
}
```
-With these enums, you can select the timing that best fits your custom live plugin's target use case. These types align with categories used for Native Plugins.
+With these enums, you can select the timing that best fits your custom Live Plugin's target use case. These types align with categories used for Native Plugins.
-## Live plugin examples
+## Live Plugin examples
The following live plugin examples address common use cases:
@@ -301,7 +253,7 @@ analytics.add(new DownSampleLivePlugin(LivePluginType.enrichment, null));
## Live Plugins API
-Live plugins follow an interface that let you intercept Segment events and modify their data. This interface includes several functions that you can implement for custom behavior:
+Live Plugins expose an interface that lets you intercept Segment events and modify their data. This interface includes several functions that you can implement for custom behavior:
```js
// Interface for Live Plugins:
@@ -325,7 +277,7 @@ This section covers the primary event callbacks.
#### The `execute` callback
-The `execute` callback function serves as the primary entry point for live plugins to intercept and modify events. When you implement the `execute` function in your plugin, you can decide whether to keep the event by returning it or drop it by returning `null`.
+The `execute` callback function serves as the primary entry point for Live Plugins to intercept and modify events. When you implement the `execute` function in your plugin, you can decide whether to keep the event by returning it or drop it by returning `null`.
This callback is versatile, as you can use it for various event types when the event type itself is not critical. Additionally, `execute` lets you invoke more specific callbacks based on the event type.
@@ -351,4 +303,4 @@ There's one non-event function:
| Function | Description |
| --------------- | --------------------------------------------------------------------------- |
-| `reset(): null` | Called when the Analytics instance is about to be reset. Nothing to return. |
\ No newline at end of file
+| `reset(): null` | Called when the Analytics instance is about to be reset. Nothing to return. |
diff --git a/src/connections/sources/catalog/libraries/server/http-api/index.md b/src/connections/sources/catalog/libraries/server/http-api/index.md
index 40c374c8a5..735efde5aa 100644
--- a/src/connections/sources/catalog/libraries/server/http-api/index.md
+++ b/src/connections/sources/catalog/libraries/server/http-api/index.md
@@ -7,7 +7,7 @@ The Segment HTTP Tracking API lets you record analytics data from any website or
Segment has native [sources](/docs/connections/sources/) for most use cases (like JavaScript and iOS) that are open-source and built for high-performance. But for unsupported use cases, [blocked event forwarding](/docs/protocols/enforce/forward-blocked-events/) or when you're using [Segment-Managed Custom Domain](/docs/connections/sources/custom-domain/), you may want to send data to Segment's HTTP API directly.
-> info "HTTP API sources in EU workspaces should use the `events.eu1.segmentapis.com` endpoint"
+> info "HTTP API sources in EU workspaces should use the events.eu1.segmentapis.com endpoint"
> If you are located in the EU and use the `https://api.segment.io/v1/` endpoint, you might not see any errors, but your events will not appear in the Segment app. For more information about regional support, see the [Source Regional support](/docs/guides/regional-segment/#source-regional-support) documentation.
## Headers
@@ -23,7 +23,7 @@ Choose between [writeKey authentication](#writeKey-authentication), [basic authe
Authenticate to the Tracking API by sending your project's **Write Key** along with a request.
The authentication writeKey should be sent as part of the body of the request. This will be encrypted over https.
-```
+```shell
curl --location 'https://api.segment.io/v1/track' \
--header 'Content-Type: application/json' \
--data-raw '{
@@ -58,7 +58,7 @@ Include the access token in the Authorization header as a Bearer token along wit
For example, to use the access token in the HTTP API Source, use `access_token` in the header and `write_key` in the payload. An example cURL request looks like:
-```
+```shell
curl --location 'https://api.segment.io/v1/track' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer ' \
diff --git a/src/connections/storage/catalog/amazon-s3/index.md b/src/connections/storage/catalog/amazon-s3/index.md
index bad80cfdfa..6fd7c6e306 100644
--- a/src/connections/storage/catalog/amazon-s3/index.md
+++ b/src/connections/storage/catalog/amazon-s3/index.md
@@ -83,7 +83,9 @@ Segment stores logs as gzipped, newline-separated JSON containing the full call
Segment groups logs by day, and names them using the following format:
- s3://{bucket}/segment-logs/{source-id}/{received-day}/filename.gz
+```
+s3://{bucket}/segment-logs/{source-id}/{received-day}/filename.gz
+```
The received-day refers to the UTC date unix timestamp, that the API receives the file, which makes it easy to find all calls received within a certain timeframe.
diff --git a/src/connections/storage/catalog/aws-s3/index.md b/src/connections/storage/catalog/aws-s3/index.md
index e79b16e872..df08fd9f4d 100644
--- a/src/connections/storage/catalog/aws-s3/index.md
+++ b/src/connections/storage/catalog/aws-s3/index.md
@@ -2,7 +2,6 @@
title: AWS S3 with IAM Role Support Destination
redirect_from:
- '/connections/destinations/catalog/aws-s3/'
-hide-personas-partial: true
---
## Differences between the Amazon S3 destination and the AWS S3 destination
@@ -462,7 +461,9 @@ Segment stores logs as gzipped, newline-separated JSON containing the full call
Segment groups logs by day, and names them using the following format:
- s3://{bucket}/segment-logs/{source-id}/{received-day}/filename.gz
+```
+s3://{bucket}/segment-logs/{source-id}/{received-day}/filename.gz
+```
The received-day refers to the UTC date Unix timestamp, that the API receives the file, which makes it easy to find all calls received within a certain timeframe.
@@ -478,18 +479,6 @@ To use a custom key prefix for the files in your bucket, append the path to the
Amazon provides several methods to download data from an S3 bucket. For more information, see [Downloading an object](https://docs.aws.amazon.com/AmazonS3/latest/userguide/download-objects.html){:target="_blank"}.
-
-## Engage
-
-> warning ""
-> As mentioned above, the AWS S3 destination works differently than other destinations in Segment. As a result, Segment sends **all** data from a Engage source to S3 during the sync process, not only the connected audiences and traits.
-
-You can send computed traits and audiences generated using [Engage](/docs/engage) to this destination as a **user property**.
-
-For user-property destinations, Segment sends an [identify](/docs/connections/spec/identify/) call to the destination for each user added and removed. The property name is the snake_cased version of the audience name, with a true/false value to indicate membership. For example, when a user first completes an order in the last 30 days, Engage sends an Identify call with the property `order_completed_last_30days: true`. When the user no longer satisfies this condition (for example, it's been more than 30 days since their last order), Engage sets that value to `false`.
-
-When you first create an audience, Engage sends an Identify call for every user in that audience. Later audience syncs send updates for users whose membership has changed since the last sync.
-
## FAQ
### AWS S3 destination connection error “Multiple instance of AWS S3 are not allowed for this source"
diff --git a/src/engage/content/sms/template.md b/src/engage/content/sms/template.md
index f4d9352f52..df7eb7b1c5 100644
--- a/src/engage/content/sms/template.md
+++ b/src/engage/content/sms/template.md
@@ -46,9 +46,9 @@ Send a test SMS message before you include it as a step in your Journey.
1. After you build your SMS template, click **Test SMS**.
2. If your template has profile traits, enter a trait value for the test SMS. This ensures that your merge tags work as expected.
-- Empty fields show the default value that you've assigned. For example, `loyal customer` would be the default for the following merge tag: {% raw %}```{{profile.traits.first_name | default: "loyal customer"}}```{% endraw %}. If there's no default value, the field will be blank.
+ - Empty fields show the default value that you've assigned. For example, `loyal customer` would be the default for the following merge tag: {% raw %}```{{profile.traits.first_name | default: "loyal customer"}}```{% endraw %}. If there's no default value, the field will be blank.
3. Enter recipient phone numbers for the test message.
-- Profiles that you send test messages to must have a userId in Segment.
+ - Profiles that you send test messages to must have a userId in Segment.
4. Click **Send test SMS**.
diff --git a/src/engage/index.md b/src/engage/index.md
index f0cdd3d93a..4425dcb561 100644
--- a/src/engage/index.md
+++ b/src/engage/index.md
@@ -27,4 +27,4 @@ Create lists of users or accounts that match specific criteria. For example, aft
#### Sync audiences to downstream tools
Once you create your Computed Traits and Audiences, Engage sends them to your Segment Destinations in just a few clicks. You can use these Traits and Audiences to personalize messages across channels, optimize ad spend, and improve targeting. You can also use the [Profile API](/docs/unify/profile-api) to build in-app and onsite personalization. Learn more about [using Engage data](/docs/engage/using-engage-data/) and the [Profile API](/docs/unify/profile-api).
-{% include components/reference-button.html href="https://segment.com/customers/drift/" icon="personas.svg" title="Personalizing marketing campaigns" description="Marketing teams use Engage to run real-time multi-channel marketing campaigns based off specific user attributes they've computed in Engage. Read about how Drift used Engage to increase prospect engagement by 150% in two months." %}
\ No newline at end of file
+{% include components/reference-button.html href="https://segment.com/customers/drift/" icon="personas.svg" title="Personalizing marketing campaigns" description="Marketing teams use Engage to run real-time multi-channel marketing campaigns based off specific user attributes they've computed in Engage. Read about how Drift used Engage to increase prospect engagement by 150% in two months." %}
diff --git a/src/engage/journeys/v2/event-triggered-journeys-steps.md b/src/engage/journeys/v2/event-triggered-journeys-steps.md
index 0bbac2063f..0eb237231a 100644
--- a/src/engage/journeys/v2/event-triggered-journeys-steps.md
+++ b/src/engage/journeys/v2/event-triggered-journeys-steps.md
@@ -372,15 +372,16 @@ Here's an example of a payload before and after enrichment:
"Reservation Booked": {
"reservation_id": 12345,
"hotel_id": 67890
- },
- "Reservations": {
- "check_in_time": "2025-11-01T20:00:00Z",
- "check_out_time": "2025-11-04T15:00:00Z"
- },
- "Hotels": {
- "hotel_name": "Hotel California",
- "hotel_address": "1000 Sunset Boulevard, Los Angeles, CA"
}
+ },
+ "Reservations": {
+ "check_in_time": "2025-11-01T20:00:00Z",
+ "check_out_time": "2025-11-04T15:00:00Z"
+ },
+ "Hotels": {
+ "hotel_name": "Hotel California",
+ "hotel_address": "1000 Sunset Boulevard, Los Angeles, CA"
+ }
}
}
}
diff --git a/src/engage/journeys/v2/use-cases.md b/src/engage/journeys/v2/use-cases.md
index 1d5720610d..c5121bd3f7 100644
--- a/src/engage/journeys/v2/use-cases.md
+++ b/src/engage/journeys/v2/use-cases.md
@@ -632,7 +632,3 @@ These examples show key moments in the journey, from entry to conversion milesto
```
{% endcodeexampletab %}
{% endcodeexample %}
-
-
-
--->
\ No newline at end of file
diff --git a/src/getting-started/02-simple-install.md b/src/getting-started/02-simple-install.md
index 8cb42d55e3..116def8647 100644
--- a/src/getting-started/02-simple-install.md
+++ b/src/getting-started/02-simple-install.md
@@ -82,7 +82,7 @@ That snippet loads Analytics.js onto the page _asynchronously_, so it won't affe
The [Identify](/docs/connections/spec/identify/) method tells Segment who the current user is. It includes a unique user ID and any optional traits you know about them. You can read more about it in the [Identify method reference](/docs/connections/sources/catalog/libraries/website/javascript#identify).
-> info "You don't need to call `identify` for anonymous visitors to your site"
+> info "You don't need to call identify for anonymous visitors to your site"
> Segment automatically assigns them an `anonymousId` so just calling `page` and `track` works without `identify`.
Here's an example of what a basic call to `identify` might look like:
diff --git a/src/getting-started/index.md b/src/getting-started/index.md
index 62865a3e84..4989fcd045 100644
--- a/src/getting-started/index.md
+++ b/src/getting-started/index.md
@@ -8,7 +8,4 @@ With Segment, you can track [first-party customer data](https://segment.com/lear
Segment simplifies the process of collecting data and connecting new tools, allowing you to spend more time using your data and less time trying to collect, process, and share it with business tools. In most cases, you won't even need to touch your tracking code to connect to new tools.
-
-
- {% include components/reference-button.html newtab="false" href="/getting-started/01-what-is-segment/" icon="symbols/arrow-right.svg" title="Ready to get started?" description="Let's walk through the steps to get up and running on Segment. Let's go!" variant="related" subtitle="next" %}
-
+{% include components/reference-button.html newtab="false" href="/getting-started/01-what-is-segment/" icon="symbols/arrow-right.svg" title="Ready to get started?" description="Let's walk through the steps to get up and running on Segment. Let's go!" variant="related" subtitle="next" %}
diff --git a/src/privacy/consent-management/configure-consent-management.md b/src/privacy/consent-management/configure-consent-management.md
index 3a0c8fff64..3f76a05246 100644
--- a/src/privacy/consent-management/configure-consent-management.md
+++ b/src/privacy/consent-management/configure-consent-management.md
@@ -39,7 +39,7 @@ Before you can configure consent in Segment, take the following steps:
## Step 2: Integrating your CMP with Segment
-Once you've created consent categories in the Segment app, you need to integrate your CMP with Segment.
+Once you've created consent categories in the Segment app, you need to integrate your CMP with Segment and add the consent object to every event. If you're using Segment's OneTrust wrapper, the consent object automatically populates on each event. However, other methods may require you to manually include the consent object on your events.
Segment supports the following CMPs:
@@ -56,7 +56,7 @@ Segment supports the following CMPs:
If you'd like to integrate with any other CMP, Segment requires you to build your own wrapper or use any mechanism provided it meets the following requirements for data and event generation:
- Reads the end user consent preference from your CMP and includes the [consent object](/docs/privacy/consent-management/consent-in-segment-connections/#consent-object) in every event
- - If using Unify and Engage, generates the [Segment Consent Preference Updated](/docs/privacy/consent-management/consent-in-unify/#segment-consent-preference-updated-event) event every time a user provides or updates their consent preferences with their anonymousId and userId
+ - If using Unify or Twilio Engage, generates the [Segment Consent Preference Updated](/docs/privacy/consent-management/consent-in-unify/#segment-consent-preference-updated-event) event every time a user provides or updates their consent preferences with their anonymousId and userId
To get started building your own wrapper, follow the instructions in the [@segment/analytics-consent-tools](https://github.com/segmentio/analytics-next/tree/master/packages/consent/consent-tools){:target="_blank"} repository.
diff --git a/src/privacy/consent-management/consent-in-segment-connections.md b/src/privacy/consent-management/consent-in-segment-connections.md
index b4fc4c87c8..4698a04d83 100644
--- a/src/privacy/consent-management/consent-in-segment-connections.md
+++ b/src/privacy/consent-management/consent-in-segment-connections.md
@@ -20,10 +20,10 @@ If your sources also contain the integrations object, Segment looks at the conse
## Consent object
-Segment requires every event from all of your sources to include the end user consent preferences, captured by your CMP or your application logic, in the form of the **consent object**. The consent object is a JSON object nestled inside of the [context object](/docs/connections/spec/common/#context) with the following format:
+Segment requires every event from all of your sources to include the end user consent preferences, captured by your CMP or your application logic, in the form of the **consent object**.
+
+The consent object is a JSON object nestled inside of the [context object](/docs/connections/spec/common/#context) with the following format:
-> success ""
-> The JSON keys in the consent object should represent the `categoryId` for each consent category.
```json
{
@@ -41,9 +41,12 @@ Segment requires every event from all of your sources to include the end user co
```
-Events without the consent object continue to flow to destinations without consent enforcement.
+> success ""
+> The JSON keys in the consent object should represent the `categoryId` for each consent category.
+
+[Segment's OneTrust wrapper](/docs/privacy/consent-management/configure-consent-management/#step-2-integrating-your-cmp-with-segment) automatically adds the consent object to your events, but you can also manually add the consent object to your events if you're using a different CMP.
-Events that don't include a context object, a consent object, or that include them but leave them empty, don’t affect [Profile-level consent preferences](/docs/privacy/consent-management/consent-in-unify) and flow to all destinations.
+Events without the consent object continue to flow to destinations without consent enforcement. Events that don't include a context object, a consent object, or that include them but leave them empty, don’t affect [Profile-level consent preferences](/docs/privacy/consent-management/consent-in-unify) and flow to all destinations.
## Reconcile consent conflicts
diff --git a/src/privacy/data-retention-policy.md b/src/privacy/data-retention-policy.md
index f24d440dbe..421740a1fc 100644
--- a/src/privacy/data-retention-policy.md
+++ b/src/privacy/data-retention-policy.md
@@ -17,7 +17,8 @@ Segment enforces a strict data retention policy for all:
## Effective date
Segment’s enforcement of this data retention policy for active customers begins on:
- **April 15, 2025** for Object Store data
-- **August 15, 2025** for Archive event and Profile events data stores
+- **September 15, 2025** for Archive event data stores
+- **January 15, 2025** for Profile event data stores
## Active customers
diff --git a/src/protocols/apis-and-extensions/anomaly_detection.md b/src/protocols/apis-and-extensions/anomaly_detection.md
index f7064f1f42..8ff7b4c677 100644
--- a/src/protocols/apis-and-extensions/anomaly_detection.md
+++ b/src/protocols/apis-and-extensions/anomaly_detection.md
@@ -52,7 +52,8 @@ After you've enabled [Violation Forwarding](/docs/protocols/validate/forward-vio
You can copy and paste the example snippet below into the Event Template field to format the Slack message with the event name, violation description and source name. You can customize this message however you want, including adding @ mentions, and any of the [properties included in the Violation Generated event](/docs/protocols/validate/forward-violations/).
```
-Source: {% raw %}`{{properties.sourceName}}` \nEvent: `{{properties.eventName}}` \nViolation: `{{properties.violationDescription}}`{% endraw %}
+Source: {% raw %}`{{properties.sourceName}}` \nEvent: `{{properties.eventName}}` \nViolation: `{{properties.violationDescription}}`
+{% endraw %}
```
When you're done, it'll look like the screenshot below.
diff --git a/src/protocols/starter.md b/src/protocols/starter.md
index d28857e4e5..625c6551a6 100644
--- a/src/protocols/starter.md
+++ b/src/protocols/starter.md
@@ -12,7 +12,7 @@ With Segment tracking plans you can choose from the most common Events, and crea
This is a great way to get a head start on your tracking, and also to monitor events coming into your workspace as you implement your Segment tracking.
-### Starter tracking plan access
+## Starter tracking plan access
Only Workspace Owners can set up or edit the starter tracking plan.
diff --git a/src/segment-app/iam/sso.md b/src/segment-app/iam/sso.md
index 7ee2e8cf79..2eb2284aa8 100644
--- a/src/segment-app/iam/sso.md
+++ b/src/segment-app/iam/sso.md
@@ -102,7 +102,7 @@ Enter your domain and click "Add Domain." When you click verify, you're given tw
To configure SSO for multiple workspaces, your admin must configure access to each workspace as a separate app in your identity provider. You are unable to use verified domain(s) across multiple workspaces and will encounter the following error if you add a domain that is already verified in another workspace:
> warning ""
-> **Warning**: This domain has already been claimed.
+> This domain has already been claimed.
After your administrator configures separate apps for each workspace in your IdP, the end-users can log in to the IdP and click on the relevant app for the workspace you are trying to access. This is also referred to as IdP-initiated SSO.
diff --git a/src/unify/Traits/sql-traits.md b/src/unify/Traits/sql-traits.md
index f23d94b39b..2c904767f1 100644
--- a/src/unify/Traits/sql-traits.md
+++ b/src/unify/Traits/sql-traits.md
@@ -28,7 +28,7 @@ This unlocks some interesting possibilities to help you meet your business goals
> info ""
> Note that after you bring in data with SQL Traits, changing data types for fields may not be compatible with all destinations.
-### Example: cloud sources sync
+## Example: cloud sources sync
SQL Traits allow you to import data from [object cloud sources](/docs/connections/sources/#object-cloud-sources) like Salesforce, Stripe, Zendesk, Hubspot, Marketo, Intercom, and more. For example, bring in Salesforce Leads or Accounts, Zendesk ticket behavior, or Stripe LTV calculations.