diff --git a/CODEOWNERS b/CODEOWNERS
index 78e3ce8044..0642a808b4 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -1,8 +1,14 @@
+# Global default: all files fall back to the Segment docs team 
+# unless overridden by a more specific rule.
 * @segmentio/segment-doc-team
-# The default owners for everything in
-# the repo. Unless a later match takes precedence.
-CODEOWNERS  @segmentio/segment-doc-team 
 
+# The specific rules in this file still take precedence (for example, /src/protocols).
+# However, we've added @segmentio/segment-doc-team to each rule to make sure that
+# PRs can be reviewed by ANY member of the team. If the docs team member isn't available,
+# GitHub will assign reviewers randomly from the rest of the team.
+
+# CODEOWNERS file itself
+CODEOWNERS  @segmentio/segment-doc-team 
 
 # Utility scripts
 /scripts @segmentio/segment-doc-team
@@ -11,43 +17,23 @@ CODEOWNERS  @segmentio/segment-doc-team
 # /vale-styles @segmentio/segment-doc-team
 # .vale.ini @segmentio/segment-doc-team
 
-
-# Content owners should be in the order of PM, TL (team-lead), and EM (in a crisis) for a given team.
-# This team will receive review requests automatically when a PR is submitted modifying the files in
-# a given directory+subtree, or file type, etc. that matches below.  While Github won't enforce the
-# order names are listed in for the PR review, this file can provide insight on who should be contacted
-# if anything becomes time sensitive.  Names other than the PM can mostly ignore these review notifications
-# but are listed here as backup.
-
+# Content ownership by team member
 
 # Libraries owners
-/src/connections/catalog/libraries @stayseesong
-
-
-# Destinations owners
-# /src/connections/destinations  @stayseesong=
-
-# Stratconn
-## Adobe
-
-
-## Facebook
-
-
-## Google
-
-
-## Salesforce
+/src/connections/catalog/libraries @stayseesong @segmentio/segment-doc-team
 
+# Destinations owners; owned by the docs team only, 
+# so GitHub can assign a reviewer randomly. 
+/src/connections/destinations @segmentio/segment-doc-team
 
 # Engage
-/src/engage/ @pwseg 
+/src/engage/ @pwseg @segmentio/segment-doc-team
 
 # Unify
-/src/unify @pwseg 
+/src/unify @pwseg @segmentio/segment-doc-team
 
 # Protocols owners
-/src/protocols @forstisabella
+/src/protocols @forstisabella @segmentio/segment-doc-team
 
 # Storage owners
-/src/connections/storage @forstisabella
+/src/connections/storage @forstisabella @segmentio/segment-doc-team
diff --git a/src/_data/catalog/destination_categories.yml b/src/_data/catalog/destination_categories.yml
index 49592364ef..f8a919c06e 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-03-06 
+# destination categories last updated 2025-04-24 
 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 6b0446b8ac..96babbfd9a 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-03-06 
+# destination data last updated 2025-04-24 
 items:
 - id: 637e8d185e2dec264895ea89
   display_name: 1Flow
@@ -5848,15 +5848,15 @@ items:
     name: Conversion Events
     slug: conversionEvents
     description: >-
-      In ecommerce, conversions are purchase events often but not always
-      involving multiple products. Outside of a conversion can be any positive
-      signal associated with an index record. Query ID is optional and indicates
-      that the view events is the result of a search query.
+      In ecommerce, conversions are purchase or add-to-cart events often but not
+      always involving multiple products. Outside of ecommerce, a conversion can
+      be any positive signal associated with an index record. Query ID is
+      optional and indicates that the event is the result of a search query.
     platform: CLOUD
     hidden: false
     defaultTrigger: type = "track" and event = "Order Completed"
     fields:
-    - id: jyYQsHrUC3z5aTkmmrpJsP
+    - id: bzPDcwFKachfkx3rSDQR4X
       sortOrder: 0
       fieldKey: eventSubtype
       label: Event Subtype
@@ -5873,7 +5873,7 @@ items:
         value: addToCart
       dynamic: false
       allowNull: false
-    - id: r1ajnZpoosrfWMKPEt11Aj
+    - id: oi7UAXBM9m22uBxzHj6ZtU
       sortOrder: 1
       fieldKey: products
       label: Product Details
@@ -5901,7 +5901,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: bk1j5r61xNWoQwwywLrnor
+    - id: 97cVdQq1euH9xy7CBxBFnt
       sortOrder: 2
       fieldKey: index
       label: Index
@@ -5915,7 +5915,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: akcPLa9TcmmKuwPbwUXZsq
+    - id: 8zHC4XKT6zw1fSEVNCkpXx
       sortOrder: 3
       fieldKey: queryID
       label: Query ID
@@ -5935,7 +5935,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: xzLoCGn2gHpSUyxeBfLenv
+    - id: ue7YzadGXzJeh4ehdM3WCk
       sortOrder: 4
       fieldKey: userToken
       label: User Token
@@ -5955,7 +5955,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: oYhL6BB1Kp8bS1zEtK25vD
+    - id: h9Z14o4tJtwWSijrZHUKEX
       sortOrder: 5
       fieldKey: timestamp
       label: Timestamp
@@ -5969,7 +5969,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: bWn4BApB8KTnwC862E1rKQ
+    - id: 27h7UbwYBziAv55r7BkqVq
       sortOrder: 6
       fieldKey: value
       label: Value
@@ -5983,7 +5983,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 7Z1JEcXeSZZBrrvCSkmft8
+    - id: hNuSorFNTweWTihYZJpApn
       sortOrder: 7
       fieldKey: currency
       label: Currency
@@ -5999,7 +5999,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5u1aVjjqYbtv7RxfACpwfE
+    - id: i2QrLsoBAwJdZmyJioFtpK
       sortOrder: 8
       fieldKey: extraProperties
       label: Extra Properties
@@ -6015,7 +6015,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: eHmtysvj6uaFsdLHvqyE2b
+    - id: cLo6E8qcNBWbtyqQAitdz2
       sortOrder: 9
       fieldKey: eventName
       label: Event Name
@@ -6028,7 +6028,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 3zPARwpa5CszETXSmqN9kg
+    - id: 3jgcs9xg89MqesYUtgLue2
       sortOrder: 10
       fieldKey: eventType
       label: Event Type
@@ -6058,7 +6058,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event = "Product Viewed"
     fields:
-    - id: e56vXfr6pKJjDFgGCF6iCx
+    - id: kBPaEg6EPdnmtzYsTupfZr
       sortOrder: 0
       fieldKey: objectID
       label: Product ID
@@ -6072,7 +6072,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: hYjGsna7UPmqX4BN1BJ5zo
+    - id: uLVFmBiX7RrJgCa7wNRcyQ
       sortOrder: 1
       fieldKey: index
       label: Index
@@ -6086,7 +6086,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: dDtYnmTYZFDFQN7N947wvp
+    - id: tnVBeTQnKAV4vTSJTs91Qn
       sortOrder: 2
       fieldKey: queryID
       label: Query ID
@@ -6106,7 +6106,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: adBN78A1KLgWJkHSi5maah
+    - id: wZ3jvuLQnN2dVs4sVShBNo
       sortOrder: 3
       fieldKey: userToken
       label: User Token
@@ -6126,7 +6126,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 2MWUJEnJqfMF8n5x9CYtJg
+    - id: j19bZs6RrEFxHDLZThr31C
       sortOrder: 4
       fieldKey: timestamp
       label: Timestamp
@@ -6140,7 +6140,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: pGAFCyYUafTs9YxYDK2oz9
+    - id: eBpLKV7MGxZ7DYenVQFTKz
       sortOrder: 5
       fieldKey: extraProperties
       label: Extra Properties
@@ -6156,7 +6156,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: cjsUEHEhiy42Yt4xy39rNM
+    - id: oj4J9zP5sQ4sFQQL4syinC
       sortOrder: 6
       fieldKey: eventName
       label: Event Name
@@ -6171,7 +6171,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 3VXCJqtaYt49YGTUi9WNVK
+    - id: 3oJL4pbiUzCXyZ9iTQUAzb
       sortOrder: 7
       fieldKey: eventType
       label: Event Type
@@ -6200,7 +6200,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event = "Product Clicked"
     fields:
-    - id: 8LGqUWkJAkWrxrBGyUyBwQ
+    - id: 6YQw3RMv6kYGb4figikT71
       sortOrder: 0
       fieldKey: objectID
       label: Product ID
@@ -6216,7 +6216,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: b1V93CR2pWXssrVURST4Fq
+    - id: 4jQBych2ueuNKAi5E2La56
       sortOrder: 1
       fieldKey: index
       label: Index
@@ -6230,7 +6230,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 7iWzC63jRmjA6UaiecahtP
+    - id: htzkQqY5Uph1JVem4j51px
       sortOrder: 2
       fieldKey: queryID
       label: Query ID
@@ -6250,7 +6250,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: kmntVxdG5pSrQwAuABxa6P
+    - id: gy2vySb7QycbC4LZ9MSFvy
       sortOrder: 3
       fieldKey: position
       label: Position
@@ -6264,7 +6264,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: feFBuZR1LriwvkDuQjzSsL
+    - id: uqWsGp6kZPvWMU9CQ7BFgg
       sortOrder: 4
       fieldKey: userToken
       label: User Token
@@ -6284,7 +6284,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: b1pjQGZZyVse4MtLM9MU75
+    - id: cfNrCrUkHAvMsCCN7LueqU
       sortOrder: 5
       fieldKey: timestamp
       label: Timestamp
@@ -6298,7 +6298,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: oRQ968LvhBcuifgcvMc1mG
+    - id: kG3GmRo7pCVjCCmHZRjFeA
       sortOrder: 6
       fieldKey: extraProperties
       label: Extra Properties
@@ -6314,7 +6314,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 25b7CSZJB1z6BEDFReCiKt
+    - id: oqvq1M17zZzV5zeRTiv1G1
       sortOrder: 7
       fieldKey: eventName
       label: Event Name
@@ -6329,7 +6329,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: jRBNsFkRhke4ZmyZdf9pej
+    - id: qfoQBYmM87Rraj6sRkXiE8
       sortOrder: 8
       fieldKey: eventType
       label: Event Type
@@ -6356,7 +6356,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event = "Product List Filtered"
     fields:
-    - id: rL2dr9rjCayRKrj4REtuGB
+    - id: wBhy3BLj2GZioNeA7nGX7T
       sortOrder: 0
       fieldKey: filters
       label: Filters
@@ -6378,7 +6378,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: byjxTdgpbCLjGuPdKvhA2A
+    - id: cdLZgYVZfvRZjHqvwHWrNd
       sortOrder: 1
       fieldKey: index
       label: Index
@@ -6392,7 +6392,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5mRcubZda23iwBzDJGAePJ
+    - id: tcBcsVgS3uz9EAXwwPmfDw
       sortOrder: 2
       fieldKey: queryID
       label: Query ID
@@ -6412,7 +6412,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 9sE5aPsZYb7c2NB5ALs784
+    - id: uco5QWszWopGfGWdPS8Fj3
       sortOrder: 3
       fieldKey: userToken
       label: User Token
@@ -6432,7 +6432,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: dT811KKgopaU1rYjgC69E4
+    - id: nkPn7t5FJRzkLJQdKYBHCj
       sortOrder: 4
       fieldKey: timestamp
       label: Timestamp
@@ -6446,7 +6446,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: uEEcggxFZwTRe4Nh1Xttny
+    - id: v9ka7FqZXtiCME7QtFAqsq
       sortOrder: 5
       fieldKey: extraProperties
       label: Extra Properties
@@ -6462,7 +6462,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: vxtGErF73oypm77JmD22bG
+    - id: bJuE2GvAw8FfgQ5PY7FS5o
       sortOrder: 6
       fieldKey: eventName
       label: Event Name
@@ -6477,7 +6477,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: khMVMfBDSkQHqWHUuK8BLP
+    - id: 3assDR2KSKnAQrGjQ39Pvh
       sortOrder: 7
       fieldKey: eventType
       label: Event Type
@@ -6497,17 +6497,18 @@ items:
       dynamic: false
       allowNull: false
   - id: jBtAWFiwa9ovR5HvbNDMbf
-    name: Product Added Events
+    name: '[Deprecated] Product Added Events'
     slug: productAddedEvents
     description: >-
       Product added events for ecommerce use cases for a customer adding an item
       to their cart. Query ID is optional and indicates that the event was the
-      result of a search query.
+      result of a search query. **Important** This Action is deprecated. Use the
+      **Conversion Events** Action instead.
     platform: CLOUD
     hidden: false
     defaultTrigger: type = "track" and event = "Product Added"
     fields:
-    - id: kM4ksMhSVgjF4KsyMXw3Sx
+    - id: k8ChFgusnwjkvRNmHiWVtx
       sortOrder: 0
       fieldKey: product
       label: Product ID
@@ -6523,7 +6524,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ivdLsdCEXHGVRbEci3DLqA
+    - id: 8fApLYemLJfTkkNx5XTydm
       sortOrder: 1
       fieldKey: index
       label: Index
@@ -6537,7 +6538,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: rVjDxhbfTdV369Mz8SJUx1
+    - id: bGwhTz3JsscNZtnAqy7yU8
       sortOrder: 2
       fieldKey: queryID
       label: Query ID
@@ -6557,7 +6558,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 3BJosBmTeXvEnBq2doC7o3
+    - id: hYo2PDRg33itLQZFskNWZn
       sortOrder: 3
       fieldKey: userToken
       label: User Token
@@ -6577,7 +6578,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: gsWk1KjvZpH1EZQ19iMANd
+    - id: 7aGbKTfjfJtaRwNR4fczE1
       sortOrder: 4
       fieldKey: timestamp
       label: Timestamp
@@ -6591,7 +6592,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 9kxdRNtGagtRS2Ux6vjc3R
+    - id: qfZrHXESR69peBrqEtpsci
       sortOrder: 5
       fieldKey: extraProperties
       label: Extra Properties
@@ -6607,7 +6608,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: nAtWL5z6umVFLiM5rMUYNs
+    - id: tSXZbMv3ixmEZYXRTx9jZw
       sortOrder: 6
       fieldKey: eventName
       label: Event Name
@@ -6620,7 +6621,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ipYUnxWpDrfQxK4ciJ18KA
+    - id: jWbAM4fsyHif2ZfLPoPn1p
       sortOrder: 7
       fieldKey: eventType
       label: Event Type
@@ -6650,11 +6651,23 @@ items:
       type = "alias"
     fields: []
   presets:
-  - actionId: 63BBDy2TNprpH9uExRJKop
-    name: Send product viewed events to Algolia
+  - actionId: 2KEUSgKKYG2W82DdaBGsF4
+    name: Send purchase events to Algolia
     fields:
-      objectID:
-        '@path': $.properties.product_id
+      eventSubtype: purchase
+      products:
+        '@arrayPath':
+        - $.properties.products
+        - product_id:
+            '@path': $.product_id
+          price:
+            '@path': $.price
+          quantity:
+            '@path': $.quantity
+          discount:
+            '@path': $.discount
+          queryID:
+            '@path': $.queryID
       index:
         '@path': $.properties.search_index
       queryID:
@@ -6675,15 +6688,19 @@ items:
             '@path': $.anonymousId
       timestamp:
         '@path': $.timestamp
+      value:
+        '@path': $.properties.value
+      currency:
+        '@path': $.properties.currency
       extraProperties:
         '@path': $.properties
-      eventName: Product Viewed
-      eventType: view
-    trigger: type = "track" and event = "Product Viewed"
-  - actionId: jBtAWFiwa9ovR5HvbNDMbf
-    name: Send product added events to Algolia
+      eventName: Conversion Event
+      eventType: conversion
+    trigger: type = "track" and event = "Order Completed"
+  - actionId: etbKXm8QsQyQAo83znMszn
+    name: Send product clicked events to Algolia
     fields:
-      product:
+      objectID:
         '@path': $.properties.product_id
       index:
         '@path': $.properties.search_index
@@ -6695,6 +6712,8 @@ items:
             '@path': $.properties.query_id
           else:
             '@path': $.integrations.Algolia Insights (Actions).query_id
+      position:
+        '@path': $.properties.position
       userToken:
         '@if':
           exists:
@@ -6707,17 +6726,11 @@ items:
         '@path': $.timestamp
       extraProperties:
         '@path': $.properties
-      eventName: Add to cart
-      eventType: conversion
-    trigger: type = "track" and event = "Product Added"
-  - actionId: pMj2PGgP2c3hHzLMae4iBb
-    name: Algolia Plugin
-    fields: {}
-    trigger: >-
-      type = "track" or type = "identify" or type = "group" or type = "page" or
-      type = "alias"
-  - actionId: etbKXm8QsQyQAo83znMszn
-    name: Send product clicked events to Algolia
+      eventName: Product Clicked
+      eventType: click
+    trigger: type = "track" and event = "Product Clicked"
+  - actionId: 63BBDy2TNprpH9uExRJKop
+    name: Send product viewed events to Algolia
     fields:
       objectID:
         '@path': $.properties.product_id
@@ -6731,8 +6744,6 @@ items:
             '@path': $.properties.query_id
           else:
             '@path': $.integrations.Algolia Insights (Actions).query_id
-      position:
-        '@path': $.properties.position
       userToken:
         '@if':
           exists:
@@ -6745,9 +6756,9 @@ items:
         '@path': $.timestamp
       extraProperties:
         '@path': $.properties
-      eventName: Product Clicked
-      eventType: click
-    trigger: type = "track" and event = "Product Clicked"
+      eventName: Product Viewed
+      eventType: view
+    trigger: type = "track" and event = "Product Viewed"
   - actionId: amxZNcsLHjUhJTRP5YHwaE
     name: Send product list filtered events to Algolia
     fields:
@@ -6784,9 +6795,9 @@ items:
       eventType: click
     trigger: type = "track" and event = "Product List Filtered"
   - actionId: 2KEUSgKKYG2W82DdaBGsF4
-    name: Send conversion events to Algolia
+    name: Send add-to-cart events to Algolia
     fields:
-      eventSubtype: purchase
+      eventSubtype: addToCart
       products:
         '@arrayPath':
         - $.properties.products
@@ -6828,7 +6839,13 @@ items:
         '@path': $.properties
       eventName: Conversion Event
       eventType: conversion
-    trigger: type = "track" and event = "Order Completed"
+    trigger: type = "track" and event = "Product Added"
+  - actionId: pMj2PGgP2c3hHzLMae4iBb
+    name: Algolia Plugin
+    fields: {}
+    trigger: >-
+      type = "track" or type = "identify" or type = "group" or type = "page" or
+      type = "alias"
   partnerOwned: true
 - id: 66543798b2fb3cb3e9ff992c
   display_name: Amazon Ads DSP and AMC
@@ -6895,7 +6912,7 @@ items:
     hidden: false
     defaultTrigger: event = "Audience Entered" or event = "Audience Exited"
     fields:
-    - id: iWAEFNBAkAAWfg68qS8677
+    - id: uqsytr7irf9murj6hGc3nP
       sortOrder: 1
       fieldKey: externalUserId
       label: External User ID
@@ -6909,12 +6926,12 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: jazuKzEArste3n3VigWPPm
+    - id: 5LTeP8VWAkoAU3jq59vMpB
       sortOrder: 2
       fieldKey: email
       label: Email
       type: STRING
-      description: User email address. Vaule will be hashed before sending to Amazon.
+      description: User email address. If not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -6929,12 +6946,12 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: fzXUeosx365WgNsS33LFGt
+    - id: 9RtG3Z4xxYWjPABeJaoahm
       sortOrder: 3
       fieldKey: firstName
       label: First name
       type: STRING
-      description: User first name. Value will be hashed before sending to Amazon.
+      description: User first name. If not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@path': $.properties.first_name
@@ -6943,12 +6960,12 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 75uHVRXZhaeJaSTB8mo3At
+    - id: VduS1yHQpryezQjTL2UK2
       sortOrder: 4
       fieldKey: lastName
       label: Last name
       type: STRING
-      description: User Last name. Value will be hashed before sending to Amazon.
+      description: User Last name. If not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@path': $.properties.last_name
@@ -6957,12 +6974,12 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 8z93d5siat8d7Sr9E7pov6
+    - id: bZNfzrpvhf8AuDsVbVJApz
       sortOrder: 5
       fieldKey: phone
       label: Phone
       type: STRING
-      description: Phone Number. Value will be hashed before sending to Amazon.
+      description: Phone Number. If not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@path': $.properties.phone
@@ -6971,12 +6988,12 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ndcdbNWMsUr2tKq13Hpiam
+    - id: ChKz6e7fh9PHJ3DCxWfzw
       sortOrder: 6
       fieldKey: postal
       label: Postal
       type: STRING
-      description: POstal Code. Value will be hashed before sending to Amazon.
+      description: POstal Code. If not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@path': $.properties.postal
@@ -6985,12 +7002,12 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: aZG1KC5Qdxa5QPa3wa3JFy
+    - id: hkUcgsdMFeDZzXTrV7BvFs
       sortOrder: 7
       fieldKey: state
       label: State
       type: STRING
-      description: State Code. Value will be hashed before sending to Amazon.
+      description: State Code. If not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@path': $.properties.state
@@ -6999,12 +7016,12 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: agSk4UTz5AiFsQjrURz7vb
+    - id: sUMyhH2Yr1xC6QnRy5Mxf7
       sortOrder: 8
       fieldKey: city
       label: City
       type: STRING
-      description: City name. Value will be hashed before sending to Amazon.
+      description: City name. If not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@path': $.properties.city
@@ -7013,12 +7030,12 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: qE7R8vnmDu1uz1b4RmDkhR
+    - id: rxodfctwzztkCJH8m3Y8Tf
       sortOrder: 9
       fieldKey: address
       label: Address
       type: STRING
-      description: Address Code. Value will be hashed before sending to Amazon.
+      description: Address Code. If not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@path': $.properties.address
@@ -7027,7 +7044,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ob3A7PV1cEKJg4GFTYeeXY
+    - id: sHaUo7WSARy6ccxNNyUGvx
       sortOrder: 11
       fieldKey: enable_batching
       label: Enable Batching
@@ -24612,7 +24629,7 @@ items:
     hidden: false
     defaultTrigger: event = "Audience Entered" or event = "Audience Exited"
     fields:
-    - id: x53nX9sScgCzLdFpxshPqV
+    - id: MYWx7cbqiDEtU3oMu4uZp
       sortOrder: 0
       fieldKey: external_id
       label: External User ID
@@ -24631,7 +24648,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 4yo6yvyVzW67E5Ci8dmH9m
+    - id: dmoSCo2UqPKRx6eqY7J4mn
       sortOrder: 1
       fieldKey: user_alias
       label: User Alias Object
@@ -24648,7 +24665,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: k1qCv78j49HNUiDfv9DUMs
+    - id: rzBuJ21aYq1uQdKZCoizBH
       sortOrder: 2
       fieldKey: device_id
       label: Device ID
@@ -24664,7 +24681,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: jYZzGtHsu9Kg7eGdzxtpQ7
+    - id: vnSpRMiHSMieY4V19FQ3dP
       sortOrder: 5
       fieldKey: enable_batching
       label: Enable Batching
@@ -24678,7 +24695,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 3Y3GygGwnrUh4ncoKPRNqm
+    - id: 37hRwjbqcqtLa8ZiUAvPhE
       sortOrder: 6
       fieldKey: personas_audience_key
       label: Segment Engage Audience Key
@@ -24694,29 +24711,6 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: t4mKB7BJAhijBgbpHB596r
-      sortOrder: 7
-      fieldKey: event_properties
-      label: Event Properties
-      type: OBJECT
-      description: >-
-        Displays properties of the event to add/remove users to a cohort and the
-        traits of the specific user
-      placeholder: ''
-      defaultValue:
-        '@if':
-          exists:
-            '@path': $.properties
-          then:
-            '@path': $.properties
-          else:
-            '@path': $.traits
-      required: true
-      multiple: false
-      choices: null
-      dynamic: false
-      allowNull: false
-      hidden: false
   presets: []
   partnerOwned: false
 - id: 60fb01aec459242d3b6f20c1
@@ -24785,9 +24779,8 @@ items:
     defaultValue: false
     description: >-
       To indicate that you trust the Braze dashboard users to write
-      non-malicious Javascript click actions, set this property to true. If
-      enableHtmlInAppMessages is true, this option will also be set to true.
-      [See more
+      non-malicious Javascript click actions, set this property to true. [See
+      more
       details](https://js.appboycdn.com/web-sdk/latest/doc/modules/appboy.html#initializationoptions)
     required: false
     label: Allow User Supplied Javascript
@@ -24970,7 +24963,7 @@ items:
     label: Safari Website Push ID
   - name: sdkVersion
     type: select
-    defaultValue: '4.10'
+    defaultValue: '5.8'
     description: The version of the Braze SDK to use
     required: true
     label: SDK Version
@@ -25020,7 +25013,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event != "Order Completed"
     fields:
-    - id: 6Q1QaSvy8Uwaj1FXX1nQim
+    - id: stJYHuavLhjpZSbbtWnA9F
       sortOrder: 0
       fieldKey: eventName
       label: Event Name
@@ -25034,7 +25027,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: rCF4hvZL1FfBLZqypECaYN
+    - id: oqyLaWBRrKvgipb129suEp
       sortOrder: 1
       fieldKey: eventProperties
       label: Event Properties
@@ -25056,7 +25049,7 @@ items:
     hidden: false
     defaultTrigger: type = "identify" or type = "group"
     fields:
-    - id: h7m1HSpMDMMkrwyQ4Y2pwH
+    - id: dxeRTvLWTwQDdN6fvK5VVo
       sortOrder: 0
       fieldKey: external_id
       label: External User ID
@@ -25070,7 +25063,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: eeCv1kJYS3BMG3PV6m49tM
+    - id: Vht76mw1WSQtpe4F2hq9y
       sortOrder: 1
       fieldKey: country
       label: Country
@@ -25084,7 +25077,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: maHTDJD6jjaPyGeqAeCAWB
+    - id: t2f6CUzpAgn5XxgJk1xNxu
       sortOrder: 2
       fieldKey: current_location
       label: Current Location
@@ -25096,7 +25089,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: qxtRJD9EezUBUpoCrs9T1d
+    - id: ggD55GKgXsecAwdSxmhdMi
       sortOrder: 3
       fieldKey: custom_attributes
       label: Custom Attributes
@@ -25112,7 +25105,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 4ZEyKQrLYop2FmwrhyozB3
+    - id: uvVWeQxCMHz7TdwD7DnXuS
       sortOrder: 4
       fieldKey: dob
       label: Date of Birth
@@ -25124,7 +25117,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: ns3C16DRH3Jfjdyw29e9jc
+    - id: edhysng2wqWHGcMTuKZxqe
       sortOrder: 5
       fieldKey: email
       label: Email
@@ -25138,7 +25131,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: wbPyLK2tqmGHmtYUQFP8SX
+    - id: rZx6KjpoUpFHR7t2Fmiq5n
       sortOrder: 6
       fieldKey: email_subscribe
       label: Email Subscribe
@@ -25153,7 +25146,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: wPfiYFTdjsWg7FrNhSTzgA
+    - id: idp8ibzUex7Q8NRoXjRFNt
       sortOrder: 7
       fieldKey: first_name
       label: First Name
@@ -25167,7 +25160,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: 6fshCvxdyQvM2Vj6thn5sm
+    - id: wJUxu5uqed8QwikHQGJPwr
       sortOrder: 8
       fieldKey: last_name
       label: Last Name
@@ -25181,7 +25174,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: htenqgZoB34c7XTYBUxDE4
+    - id: AuoHPe9CaefQ4FPSxmfUB
       sortOrder: 9
       fieldKey: gender
       label: Gender
@@ -25197,7 +25190,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: vUvwztZVwVTZ6mf6u7r2ia
+    - id: qHDUBGmgkX88vWktNt83Yq
       sortOrder: 10
       fieldKey: home_city
       label: Home City
@@ -25211,7 +25204,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: d8ogAxX7WgUUFXuHh7wcdR
+    - id: thsnNVbYj21rf1NS8iMBHA
       sortOrder: 11
       fieldKey: image_url
       label: Image URL
@@ -25225,7 +25218,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: r8WtFganYGATKoW6Dxfc7C
+    - id: u3oVoEBu4cDAU5UoWTXaML
       sortOrder: 12
       fieldKey: language
       label: Language
@@ -25237,7 +25230,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: fEvwmPnSLsg7MSzEKnpLWY
+    - id: uUv5TJoDTBXqw7RuQmAbky
       sortOrder: 13
       fieldKey: phone
       label: Phone Number
@@ -25251,7 +25244,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: bJEZPpwKnTzTmNrBCafDMr
+    - id: vPztZQqR8pmaBv8aqTr5q1
       sortOrder: 14
       fieldKey: push_subscribe
       label: Push Subscribe
@@ -25266,7 +25259,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: qeprmWFJtkaC27aBhS5tt4
+    - id: cQon4TDMCpkYVTpVvQHZtT
       sortOrder: 15
       fieldKey: subscription_groups
       label: Subscription Groups
@@ -25291,7 +25284,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event = "Order Completed"
     fields:
-    - id: wxZJp2DL8VbeS7QXe8tqv9
+    - id: 8ydScjmfB9212W6BD1D3id
       sortOrder: 0
       fieldKey: purchaseProperties
       label: Purchase Properties
@@ -25311,7 +25304,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 8BkKtPyxuPNYzcWTcokXJc
+    - id: 7DU4vc5BQoMQbfUBtFaLst
       sortOrder: 1
       fieldKey: products
       label: Products
@@ -25326,6 +25319,14 @@ items:
       dynamic: false
       allowNull: false
   presets:
+  - actionId: uL67YU9rAsuT4cp4dNNmBu
+    name: Order Completed calls
+    fields:
+      purchaseProperties:
+        '@path': $.properties
+      products:
+        '@path': $.properties.products
+    trigger: type = "track" and event = "Order Completed"
   - actionId: fRZrfm4TC5JL3AGeRnLk3W
     name: Track Calls
     fields:
@@ -25360,14 +25361,6 @@ items:
       subscription_groups:
         '@path': $.traits.braze_subscription_groups
     trigger: type = "identify" or type = "group"
-  - actionId: uL67YU9rAsuT4cp4dNNmBu
-    name: Order Completed calls
-    fields:
-      purchaseProperties:
-        '@path': $.properties
-      products:
-        '@path': $.properties.products
-    trigger: type = "track" and event = "Order Completed"
   partnerOwned: false
 - id: 6241e78214aad278a6322f52
   display_name: Breyta CRM
@@ -30464,6 +30457,12 @@ items:
     description: Your Criteo API client secret
     required: true
     label: API Client Secret
+  - name: enable_batching
+    type: boolean
+    defaultValue: true
+    description: 'Important: This setting should remain enabled!'
+    required: false
+    label: Enable Batching
   actions:
   - id: i1hNum2eXrRDke1x4b9Jn6
     name: Remove users from Audience
@@ -30473,7 +30472,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event = "Audience Exited"
     fields:
-    - id: 9TuG4fb3DeFRn3bTksy46o
+    - id: pvW4CibYBwEGgfxfZfXh85
       sortOrder: 0
       fieldKey: audience_key
       label: Audience key
@@ -30488,7 +30487,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: hQ46BST86zt2yCssvjTsvq
+    - id: 62rLxvUKZJaXYM1eyfReSQ
       sortOrder: 1
       fieldKey: event
       label: Event name
@@ -30503,7 +30502,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: fEBbjDhiDzQSbcyXgy5jdX
+    - id: cgFW7QiYXTQrz8WDJkrenk
       sortOrder: 2
       fieldKey: email
       label: Email
@@ -30518,7 +30517,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: myfR2g1ondo3CV5D5uKyQc
+    - id: 5YJHvHqrWD1DEdotrKS3He
       sortOrder: 3
       fieldKey: hash_emails
       label: Hash Emails
@@ -30535,7 +30534,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 48UG5pCmVJYuQZfpeWNqHB
+    - id: 2zw36yjEgDdHDivz1GF6XN
       sortOrder: 4
       fieldKey: enable_batching
       label: Enable Batching?
@@ -30555,7 +30554,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event = "Audience Entered"
     fields:
-    - id: 4WwVWm1hzvy7JqarCbMJir
+    - id: 6APzV8AJGTNmUhtubUH4kX
       sortOrder: 0
       fieldKey: audience_key
       label: Audience key
@@ -30570,7 +30569,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: qAAEHg71NgxcSc3jxJMYoh
+    - id: tf6QTage6RqtuffuSkydtE
       sortOrder: 1
       fieldKey: event
       label: Event name
@@ -30585,7 +30584,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 5dTYi6v1kKV4W1BqGJ3yH7
+    - id: s5FsjXJB5GQEZZTfvNZ1eN
       sortOrder: 2
       fieldKey: email
       label: Email
@@ -30600,7 +30599,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: tDySYCbVen29KtGiu892jz
+    - id: eQypK4Yt5Rc7PXened4SaB
       sortOrder: 3
       fieldKey: hash_emails
       label: Hash Emails
@@ -30617,7 +30616,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: fkRfFZemCKGVz9f8y5jHzQ
+    - id: qAiMkshChZhhByLgNdVKa3
       sortOrder: 4
       fieldKey: enable_batching
       label: Enable Batching?
@@ -33051,7 +33050,7 @@ items:
     hidden: false
     defaultTrigger: event = "Audience Exited"
     fields:
-    - id: fXFR2b5pNgUVFsXD8qmwvQ
+    - id: 87DyUk3WGykAMRA1nqLQP1
       sortOrder: 2
       fieldKey: mobile_advertising_id
       label: Mobile Advertising ID
@@ -33065,7 +33064,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: d5kfNzrJmdCpmtD4YM1eZG
+    - id: p7kDAf4zEKkiv6a9HnMgPc
       sortOrder: 3
       fieldKey: google_gid
       label: Google GID
@@ -33081,7 +33080,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: b5JqEKs2cLtRxL7pGZYZL
+    - id: 7isz7DC9zoFH3RWHPm6qn2
       sortOrder: 4
       fieldKey: partner_provided_id
       label: Partner Provided ID
@@ -33105,7 +33104,7 @@ items:
     hidden: false
     defaultTrigger: event = "Audience Entered"
     fields:
-    - id: wUMaDo7XGxk7t6ccibC5RT
+    - id: tWR4nxVtTHhqEXe7XfuC5Z
       sortOrder: 2
       fieldKey: mobile_advertising_id
       label: Mobile Advertising ID
@@ -33119,7 +33118,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: r2njfNxsmfoWrLsdHM5GzK
+    - id: ccUkQ5c4kJtJmnnmtPMgU9
       sortOrder: 3
       fieldKey: google_gid
       label: Google GID
@@ -33135,7 +33134,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: kBVti6k7B8cSehgdZcVjv3
+    - id: 4xfn7TyFj2Rzthz4ZTYFhh
       sortOrder: 4
       fieldKey: partner_provided_id
       label: Partner Provided ID
@@ -33819,7 +33818,7 @@ items:
     hidden: false
     defaultTrigger: type = "identify" or type = "track"
     fields:
-    - id: oZi2Jq64L21iyBMEHFoQqa
+    - id: dusoxVsiwzuAS4NciDPPTh
       sortOrder: 2
       fieldKey: external_audience_id
       label: External Audience ID
@@ -33836,7 +33835,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: fx8Ee9kDgASTYxfHufQdPK
+    - id: iVDKx4fY8RtE6xEMRtEaH7
       sortOrder: 3
       fieldKey: segment_audience_key
       label: Audience Key
@@ -33851,7 +33850,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 8hCiwrwz4RAEMXehiF2SyY
+    - id: wWVBVh4MwGCmLbGGcTb2Fq
       sortOrder: 4
       fieldKey: traits_or_props
       label: Traits or Properties
@@ -36516,6 +36515,161 @@ items:
   actions: []
   presets: []
   partnerOwned: true
+- id: 66b1f528d26440823fb27af9
+  display_name: Extensible Webhook
+  name: Extensible Webhook
+  slug: extensible-webhook
+  hidden: false
+  endpoints:
+  - US
+  regions:
+  - us-west-2
+  - eu-west-1
+  url: connections/destinations/catalog/extensible-webhook
+  previous_names:
+  - Extensible Webhook
+  website: http://www.segment.com
+  status: PUBLIC_BETA
+  categories:
+  - Raw Data
+  logo:
+    url: https://cdn-devcenter.segment.com/8e83ff62-3673-4220-ae19-10a19e237fa6.svg
+  mark:
+    url: https://cdn-devcenter.segment.com/fe8e7fb8-c800-46f5-898c-7a0636508483.svg
+  methods:
+    track: true
+    identify: true
+    group: true
+    alias: true
+    screen: false
+    page: true
+  platforms:
+    browser: true
+    mobile: false
+    server: true
+    warehouse: true
+    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: sharedSecret
+    type: string
+    defaultValue: ''
+    description: >-
+      If set, Segment will sign requests with an HMAC in the "X-Signature"
+      request header. The HMAC is a hex-encoded SHA1 hash generated using this
+      shared secret and the request body.
+    required: false
+    label: Shared Secret
+  actions:
+  - id: ja2fMtPLyGVf5gRvcPg2Km
+    name: Send
+    slug: send
+    description: Send an HTTP request.
+    platform: CLOUD
+    hidden: false
+    defaultTrigger: null
+    fields:
+    - id: cpvuk4sXMd1Y2MjEfaUhjq
+      sortOrder: 0
+      fieldKey: url
+      label: URL
+      type: STRING
+      description: URL to deliver data to.
+      placeholder: ''
+      required: true
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: kYDuEArgcXFZReFi3r9hYk
+      sortOrder: 1
+      fieldKey: method
+      label: Method
+      type: STRING
+      description: HTTP method to use.
+      placeholder: ''
+      defaultValue: POST
+      required: true
+      multiple: false
+      choices:
+      - label: POST
+        value: POST
+      - label: PUT
+        value: PUT
+      - label: PATCH
+        value: PATCH
+      dynamic: false
+      allowNull: false
+    - id: gC9tLMUDMnwqJ2ZHcmz5rC
+      sortOrder: 2
+      fieldKey: batch_size
+      label: Batch Size
+      type: NUMBER
+      description: >-
+        Maximum number of events to include in each batch. Actual batch sizes
+        may be lower.
+      placeholder: ''
+      defaultValue: 0
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: 734xVeU73UHgLkv84RFPin
+      sortOrder: 3
+      fieldKey: headers
+      label: Headers
+      type: OBJECT
+      description: >-
+        HTTP headers to send with each request. Only ASCII characters are
+        supported.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: c4QXdzFu8WoqsMsX4JWqb4
+      sortOrder: 4
+      fieldKey: data
+      label: Data
+      type: OBJECT
+      description: Payload to deliver to webhook URL (JSON-encoded).
+      placeholder: ''
+      defaultValue:
+        '@path': $.
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: qnuUVq1tBSRH8rtw2Zsc4N
+      sortOrder: 5
+      fieldKey: enable_batching
+      label: Enable Batching?
+      type: BOOLEAN
+      description: When enabled, Segment will send events in batches.
+      defaultValue: false
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+  presets: []
+  partnerOwned: true
 - id: 5e79ef31929aef3bdfbc53a5
   display_name: Extole Platform
   name: Extole Platform
@@ -36834,7 +36988,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: 88gqVMdzRqTV1adn9fv6Ze
+    - id: ideu5aAiSPGxn7KtA6xCTq
       sortOrder: 0
       fieldKey: action_source
       label: Action Source
@@ -36866,7 +37020,7 @@ items:
         value: other
       dynamic: false
       allowNull: false
-    - id: AJRAfBHCzToWTSeQUhvMd
+    - id: 7NXVFT2fbaEJaVSc6s2rc3
       sortOrder: 1
       fieldKey: event_name
       label: Event Name
@@ -36885,7 +37039,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 4tC9E1ahrGFA1hbtHZQm1N
+    - id: 6oQRJigyEq39Pp5oH4jx3E
       sortOrder: 2
       fieldKey: event_time
       label: Event Time
@@ -36901,7 +37055,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: mHBozHSnwT2Y6RyZAsBjVy
+    - id: aDaGYA5N13UZZnZK9wPQPq
       sortOrder: 3
       fieldKey: user_data
       label: User Data
@@ -36951,7 +37105,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 9aLqm8bvBpim2h3RksJWvD
+    - id: i6vck1oS9VuqBkZK2ef85j
       sortOrder: 4
       fieldKey: app_data_field
       label: App Events Fields
@@ -36995,7 +37149,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 7UbV7Aa1BgmM3mhBKJnySC
+    - id: pGJgJYRUKne3FiLptxbYYm
       sortOrder: 5
       fieldKey: custom_data
       label: Custom Data
@@ -37011,7 +37165,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: pgT5VQMAXyM6JmtuDizCMQ
+    - id: h5aUQQoZMkq3KyoAfCoDXp
       sortOrder: 6
       fieldKey: event_id
       label: Event ID
@@ -37027,7 +37181,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: vVnLxZqFVGd6KCn9opVYmR
+    - id: uCWs8qbe2rUq6U8mxa1Ayo
       sortOrder: 7
       fieldKey: event_source_url
       label: Event Source URL
@@ -37044,7 +37198,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: cbKjUK3nvmz15B11bRcNeA
+    - id: kTB2i1mjiAroaZp1sJ3ENK
       sortOrder: 8
       fieldKey: data_processing_options
       label: Data Processing Options
@@ -37061,7 +37215,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: voT7DxmpJ4hMaWwGbcGP54
+    - id: ockVhJmPxJ6jodDCq3EYeQ
       sortOrder: 9
       fieldKey: data_processing_options_country
       label: Data Processing Country
@@ -37082,7 +37236,7 @@ items:
         value: 1
       dynamic: false
       allowNull: false
-    - id: hJy3mERU8kWhfAHUHaaey8
+    - id: qDuJieU67hZY7sFWheF1bs
       sortOrder: 10
       fieldKey: data_processing_options_state
       label: Data Processing State
@@ -37123,7 +37277,7 @@ items:
         value: 1010
       dynamic: false
       allowNull: false
-    - id: uFnsDjvCG53rE5pcaxRAsK
+    - id: a2WqfpDsGefszi39Ht7diR
       sortOrder: 11
       fieldKey: test_event_code
       label: Test Event Code
@@ -37148,7 +37302,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event = "Order Completed"
     fields:
-    - id: tZ3W3LNS5xUsWQRi33BcbJ
+    - id: h1eh8b7Wfp8vtTJtwjXd1H
       sortOrder: 0
       fieldKey: action_source
       label: Action Source
@@ -37180,7 +37334,7 @@ items:
         value: other
       dynamic: false
       allowNull: false
-    - id: sGnp8fnyoh1f4sUd7Z75YX
+    - id: 53jSRgQXYZXurGRGkmZxwz
       sortOrder: 1
       fieldKey: currency
       label: Currency
@@ -37196,7 +37350,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: x7DZEqnyMcmWBMhVPb8TGv
+    - id: uBbR3JqHdYnnkzDcnh2pDY
       sortOrder: 2
       fieldKey: event_time
       label: Event Time
@@ -37212,7 +37366,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: pWJvVLww7XJgb9LBjB3PgU
+    - id: 3MeBYVy2vA4FnJwLEpxDX7
       sortOrder: 3
       fieldKey: user_data
       label: User Data
@@ -37262,7 +37416,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 9s2m7E3F3NZKPi2XLgbXrt
+    - id: rAXNYRKa4vr5N6sBq6XRQ9
       sortOrder: 4
       fieldKey: app_data_field
       label: App Events Fields
@@ -37306,7 +37460,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5yXU9YL2eGX8HJoRnWaxC7
+    - id: 9b6zfBH5VozwvHLUtpsVxY
       sortOrder: 5
       fieldKey: value
       label: Value
@@ -37322,7 +37476,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 2C99nUu8VmTqQzacAHHgVW
+    - id: ttM1ZQW8g9qwVHcxRYbK6Q
       sortOrder: 6
       fieldKey: content_ids
       label: Content IDs
@@ -37334,7 +37488,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 9bkpBHhh5ZL8QUHBnRXNWH
+    - id: uEtqYDCcBEBNxX1uJzat1M
       sortOrder: 7
       fieldKey: content_name
       label: Content Name
@@ -37346,7 +37500,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: onSzkPsyrHo8exnZwGosv3
+    - id: gj6akyC1FpmqHQ876EavHr
       sortOrder: 8
       fieldKey: content_type
       label: Content Type
@@ -37362,7 +37516,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: iNcDpkJvwCstHHSQwUBi3y
+    - id: sn7p7qQZfUTUiW7vV9QtXZ
       sortOrder: 9
       fieldKey: contents
       label: Contents
@@ -37386,7 +37540,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: aG84chRr5DM2GpmG8Lm8wm
+    - id: dt7m19kG8emuSbAq6RneBv
       sortOrder: 10
       fieldKey: event_id
       label: Event ID
@@ -37402,7 +37556,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: n6sxYVaEEgsWhbUnBDLUP2
+    - id: 9yTaszuPU7ki7ts1cFQ2Hb
       sortOrder: 11
       fieldKey: event_source_url
       label: Event Source URL
@@ -37419,7 +37573,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: Z6AELUz3AcXstCnadHMct
+    - id: 86dpXTwCwqAssyHtLYX7M5
       sortOrder: 12
       fieldKey: num_items
       label: Number of Items
@@ -37431,7 +37585,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: pU6ZHTpam6kLYduJqfRHCv
+    - id: vL9JudUtEScKhZ3Y6swiD6
       sortOrder: 13
       fieldKey: custom_data
       label: Custom Data
@@ -37447,7 +37601,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 3pY331Ejyv7tVNhGLHcutz
+    - id: aoGJLW5tsf8dgmafjCsAXf
       sortOrder: 14
       fieldKey: data_processing_options
       label: Data Processing Options
@@ -37464,7 +37618,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ovn59xF4aeaWnq1tGnfUdn
+    - id: 9c3T2m6gCh2vdNr3oPEyin
       sortOrder: 15
       fieldKey: data_processing_options_country
       label: Data Processing Country
@@ -37485,7 +37639,7 @@ items:
         value: 1
       dynamic: false
       allowNull: false
-    - id: oZXkhMsnDKhhcBVz26qr1i
+    - id: 2yRUEqBw1fRBfAPWHPgcL2
       sortOrder: 16
       fieldKey: data_processing_options_state
       label: Data Processing State
@@ -37526,7 +37680,7 @@ items:
         value: 1010
       dynamic: false
       allowNull: false
-    - id: hPFikH5JEb4wHNXztCRZUZ
+    - id: gAXdMTPvgTct8tDmMq1cpY
       sortOrder: 17
       fieldKey: test_event_code
       label: Test Event Code
@@ -37551,7 +37705,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event = "Products Searched"
     fields:
-    - id: 2MgH3cXZTKaZFKQUM4dr5f
+    - id: ocWugXCTMnzJ9dmC6xQkwC
       sortOrder: 0
       fieldKey: action_source
       label: Action Source
@@ -37583,7 +37737,7 @@ items:
         value: other
       dynamic: false
       allowNull: false
-    - id: 2jDB6cKjXoyFipAkeBZmjj
+    - id: ik3xxL4cVmqthf8zXPAw5q
       sortOrder: 1
       fieldKey: event_time
       label: Event Time
@@ -37599,7 +37753,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 9xrWSUMDc8NSCM4AmxDnyo
+    - id: cUxpe4VYkQHBpoiEWBzFGL
       sortOrder: 2
       fieldKey: user_data
       label: User Data
@@ -37649,7 +37803,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: mYZfayXKWvNbTHq9ChH3qm
+    - id: 5pJXT89Uifi8sT59EAo5v3
       sortOrder: 3
       fieldKey: app_data_field
       label: App Events Fields
@@ -37693,7 +37847,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 3TwwnSgaCWNqysKGcFRFtM
+    - id: gPnirwFVDuYfqEDVNggfQ9
       sortOrder: 4
       fieldKey: content_category
       label: Content Category
@@ -37705,7 +37859,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: iUPt6ctzeQGng3bpgFdURQ
+    - id: pcbarwHesrQpUSEBP759gJ
       sortOrder: 5
       fieldKey: content_ids
       label: Content IDs
@@ -37717,7 +37871,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: gnpc7J4tC1Br1Bg21E4Whc
+    - id: 4WM16ibS8GQUMcafjRG1gQ
       sortOrder: 6
       fieldKey: contents
       label: Contents
@@ -37741,7 +37895,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 8tYu2RzfaZNZZ2ndQYB8Ar
+    - id: jsWRXj1JL6GutaxWpnmS6z
       sortOrder: 7
       fieldKey: currency
       label: Currency
@@ -37757,7 +37911,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: vFf1e55armhN8d8t99PyFn
+    - id: pTRmC76ncY5VUMejA5Y5Q1
       sortOrder: 8
       fieldKey: event_id
       label: Event ID
@@ -37773,7 +37927,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 7fDTdwVuP6VQFzVHb4mavE
+    - id: tdPtG6A1sEC6zVdpBRqkSs
       sortOrder: 9
       fieldKey: event_source_url
       label: Event Source URL
@@ -37790,7 +37944,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: nh9EgchSgsbwLktiBbMYRj
+    - id: 7TccJvjzqDuSaMj7Pu3YH6
       sortOrder: 10
       fieldKey: search_string
       label: Search String
@@ -37804,7 +37958,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: xpfySxTPRF6d3RuDB1UNPm
+    - id: xeHrrinyVcJMQS97LbtZfp
       sortOrder: 11
       fieldKey: value
       label: Value
@@ -37818,7 +37972,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: j5FCTvg4WjuSZhajwekFhi
+    - id: 2JVh41ANHQM3QSTzrm4k2V
       sortOrder: 12
       fieldKey: custom_data
       label: Custom Data
@@ -37834,7 +37988,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: t2ndxpMwMtvL61tbAV1bFU
+    - id: irjaZhWaMP56zPfz5ZYgkS
       sortOrder: 13
       fieldKey: data_processing_options
       label: Data Processing Options
@@ -37851,7 +38005,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: iXZu27oKqDb8DQ9DGBdyD1
+    - id: eJm61Dn9JcKynrq5CYb9Xm
       sortOrder: 14
       fieldKey: data_processing_options_country
       label: Data Processing Country
@@ -37872,7 +38026,7 @@ items:
         value: 1
       dynamic: false
       allowNull: false
-    - id: 78dEffp9ztBj9potwT2fGK
+    - id: 8sPpV8CW3KrH8x6sxCZvGy
       sortOrder: 15
       fieldKey: data_processing_options_state
       label: Data Processing State
@@ -37913,7 +38067,7 @@ items:
         value: 1010
       dynamic: false
       allowNull: false
-    - id: xjTHeME26cikp18jSfdL13
+    - id: jjQ76oZfcUJquUCqU9PN6f
       sortOrder: 16
       fieldKey: test_event_code
       label: Test Event Code
@@ -37938,7 +38092,7 @@ items:
     hidden: false
     defaultTrigger: type = "page"
     fields:
-    - id: bFurdmhcKkXtBBPoWyHCp8
+    - id: t91vgt68sq8jei8kmDuHZp
       sortOrder: 0
       fieldKey: action_source
       label: Action Source
@@ -37970,7 +38124,7 @@ items:
         value: other
       dynamic: false
       allowNull: false
-    - id: jzzRdrSbg1KUFC76NEGMCK
+    - id: 2itabjHVkvP9pbVcD9JCUx
       sortOrder: 1
       fieldKey: event_time
       label: Event Time
@@ -37986,7 +38140,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: oWPeGtkyR3RZRu2J9gicBD
+    - id: 3o8RsMJhRNbTKxZvUxGSsp
       sortOrder: 2
       fieldKey: user_data
       label: User Data
@@ -38036,7 +38190,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: s99pijAJT5EWw163CoD8ay
+    - id: tAhTLSS3T2sDxNHMPaXU82
       sortOrder: 3
       fieldKey: app_data_field
       label: App Events Fields
@@ -38080,7 +38234,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: uV6CfB2hBAFpKv2LefXSdZ
+    - id: m4rjjw4Cp6SBASM6JcLC8V
       sortOrder: 4
       fieldKey: event_id
       label: Event ID
@@ -38096,7 +38250,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: te25cjRCQShymQwNRmzYaZ
+    - id: cqXGnaPGoAA9soyrYRu2jt
       sortOrder: 5
       fieldKey: event_source_url
       label: Event Source URL
@@ -38113,7 +38267,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: qTKCYNkKQZZcDsNULwsSux
+    - id: 6Wr68uL5kgdxQkMEuc7v28
       sortOrder: 6
       fieldKey: custom_data
       label: Custom Data
@@ -38129,7 +38283,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: rGYHiMnWJnJjmJXdXDrfb9
+    - id: qYfmuEhcq465DokJNHQDd4
       sortOrder: 7
       fieldKey: data_processing_options
       label: Data Processing Options
@@ -38146,7 +38300,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 4fEZ6MFmNRVjzegAVw6Vt9
+    - id: 6m8xoQtzDmQWZgqLNfEgCY
       sortOrder: 8
       fieldKey: data_processing_options_country
       label: Data Processing Country
@@ -38167,7 +38321,7 @@ items:
         value: 1
       dynamic: false
       allowNull: false
-    - id: 7KPwRZ8C6T1wtinYj1RC1Y
+    - id: u58oTor4wPJWihsxyQ4j2p
       sortOrder: 9
       fieldKey: data_processing_options_state
       label: Data Processing State
@@ -38208,7 +38362,7 @@ items:
         value: 1010
       dynamic: false
       allowNull: false
-    - id: nYZGmuANoD1etUzeXFDmc6
+    - id: fzokXwgoxTSW8QCsSnAz5U
       sortOrder: 10
       fieldKey: test_event_code
       label: Test Event Code
@@ -38233,7 +38387,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event = "Checkout Started"
     fields:
-    - id: 5WqV8BJ5boV5E8xycJvDhr
+    - id: 8QU1LNTwJN8oyj2LgMcgGS
       sortOrder: 0
       fieldKey: action_source
       label: Action Source
@@ -38265,7 +38419,7 @@ items:
         value: other
       dynamic: false
       allowNull: false
-    - id: 2hffbu6NBYgkPncD2PAvj8
+    - id: obnAkQQfVAx3jmuGwNTmaB
       sortOrder: 1
       fieldKey: event_time
       label: Event Time
@@ -38281,7 +38435,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: qSUuUicABBZb2WJhFx83mh
+    - id: 6DK3GcGXaitGw8dAeD486E
       sortOrder: 2
       fieldKey: user_data
       label: User Data
@@ -38331,7 +38485,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ow9UTw1ydDTc82fKA8Pcdj
+    - id: boh283xLzzT4Rv3uz5t2uF
       sortOrder: 3
       fieldKey: app_data_field
       label: App Events Fields
@@ -38375,7 +38529,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: bu4bLAamE1K37x3gEfX6vM
+    - id: py2L7sepK7z3ZtjVMTYsGq
       sortOrder: 4
       fieldKey: content_category
       label: Content Category
@@ -38387,7 +38541,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: vpdmUgHMThTkhxtsWe3j9q
+    - id: 4Vs7BstFuMLzXnMjgu3UBS
       sortOrder: 5
       fieldKey: content_ids
       label: Content IDs
@@ -38399,7 +38553,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ioTqF4iGoy86vPj6D1MYeV
+    - id: uBk1SrUTxgsqaToKvAagMw
       sortOrder: 6
       fieldKey: contents
       label: Contents
@@ -38423,7 +38577,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 3xE7Zg4bcnygMtSzhHnZUY
+    - id: vAYrsC93M2jjqbuHEiop5E
       sortOrder: 7
       fieldKey: currency
       label: Currency
@@ -38439,7 +38593,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: hHaGbvJNoJzTtSfCfHef4g
+    - id: eccrK3w7c8swBsEtj9ffhZ
       sortOrder: 8
       fieldKey: event_id
       label: Event ID
@@ -38455,7 +38609,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: txjExoJhnjfreT9bSCJNMr
+    - id: fZ2vCVvT6aZZJkMLArR4n3
       sortOrder: 9
       fieldKey: event_source_url
       label: Event Source URL
@@ -38472,7 +38626,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: bVg7A9U3fXhuWqgyAP3S7u
+    - id: a3itAZxz9MhJZpjk66Kyri
       sortOrder: 10
       fieldKey: num_items
       label: Number of Items
@@ -38484,7 +38638,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: aShwQCXoQBdKcRaXGPfok3
+    - id: crHE3n3oDa7GkqH76EoSAS
       sortOrder: 11
       fieldKey: value
       label: Value
@@ -38500,7 +38654,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: k9Svr6Cq62ZKXfzpHxRWz3
+    - id: qFRt9bKxS9sgB3i2mWpSL6
       sortOrder: 12
       fieldKey: custom_data
       label: Custom Data
@@ -38516,7 +38670,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 9PBZ7kk5TGATT6Km5wKV1m
+    - id: tVNuwBSoGkCstwr5MMrox2
       sortOrder: 13
       fieldKey: data_processing_options
       label: Data Processing Options
@@ -38533,7 +38687,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: vEYKDa4zMnj2X7A2G4EPRw
+    - id: fQzY4JvgvjPxvkhPxJsfba
       sortOrder: 14
       fieldKey: data_processing_options_country
       label: Data Processing Country
@@ -38554,7 +38708,7 @@ items:
         value: 1
       dynamic: false
       allowNull: false
-    - id: e5XXhFsYgUm54w2mjnYgrh
+    - id: e8Lc8C3XXLmBSxwuuAj6TL
       sortOrder: 15
       fieldKey: data_processing_options_state
       label: Data Processing State
@@ -38595,7 +38749,7 @@ items:
         value: 1010
       dynamic: false
       allowNull: false
-    - id: 8zrUC6KqNX3NivrDyAkiig
+    - id: hHB8uuCpAe29VNCdQg77CJ
       sortOrder: 16
       fieldKey: test_event_code
       label: Test Event Code
@@ -38620,7 +38774,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event = "Product Viewed"
     fields:
-    - id: 8Njbkf2yCxg3p2tfLKxCTN
+    - id: pd9Y3ofDE2gnEXHTFx8DFk
       sortOrder: 0
       fieldKey: action_source
       label: Action Source
@@ -38652,7 +38806,7 @@ items:
         value: other
       dynamic: false
       allowNull: false
-    - id: fZwcPuDZTzwKyS1WPMJEjm
+    - id: vqm7TkibL5xfhsXeurkoZH
       sortOrder: 1
       fieldKey: event_time
       label: Event Time
@@ -38668,7 +38822,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: oVpbrgNbmCW8hBTn3uHjfv
+    - id: q32444gCEDsDQPcYr6Dum8
       sortOrder: 2
       fieldKey: user_data
       label: User Data
@@ -38718,7 +38872,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: qhUafMXVdmoDJJe2wdcVbn
+    - id: c7BEozUdCReZ6ew1AGwMU3
       sortOrder: 3
       fieldKey: app_data_field
       label: App Events Fields
@@ -38762,7 +38916,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: stLTFoNNCbzctMeurNLtb9
+    - id: p4nBsvw1wNWPxMsgBv9e4u
       sortOrder: 4
       fieldKey: content_category
       label: Content Category
@@ -38774,7 +38928,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: n69Cgjm3y3i5oW6tToSqw4
+    - id: mEtoD8ptJiyszhujfcMCcn
       sortOrder: 5
       fieldKey: content_ids
       label: Content IDs
@@ -38788,7 +38942,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: n6KyW2rpvJzCEeJo7aX7PS
+    - id: 4W2yc8o9p8KytfD6BRXKXz
       sortOrder: 6
       fieldKey: content_name
       label: Content Name
@@ -38800,7 +38954,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: dJYQzhxmm4rXMuf1obZNX
+    - id: d6nBLo5P16S1bHok7ziFit
       sortOrder: 7
       fieldKey: content_type
       label: Content Type
@@ -38816,7 +38970,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: vMTLgJR37EPyTCYNbKPBhP
+    - id: srn8nDyJm2vBEzZVCXu6eH
       sortOrder: 8
       fieldKey: contents
       label: Contents
@@ -38840,7 +38994,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 8Vq88yMno4eY9TRKHQEvvE
+    - id: tbbAcNwoi8HAz5aVfMUTMt
       sortOrder: 9
       fieldKey: currency
       label: Currency
@@ -38856,7 +39010,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: aH8FFDXZsS7dEXssYPaLTn
+    - id: raPw7KM13ZKBhF9mDQut6w
       sortOrder: 10
       fieldKey: event_id
       label: Event ID
@@ -38872,7 +39026,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 2U2X4dE3RV8q2kHx5VJMA3
+    - id: 3h4fLKWzeH8GVcmMouMi4g
       sortOrder: 11
       fieldKey: event_source_url
       label: Event Source URL
@@ -38889,7 +39043,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ts7xYxZetntc6dz58LngSf
+    - id: rktqPta4BpyTZ2L3Uhi7C6
       sortOrder: 12
       fieldKey: value
       label: Value
@@ -38905,7 +39059,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: sSFRxZT4m8uLhJiZQgKgNr
+    - id: 6EKii3Z4EptG1uQCwoEpvy
       sortOrder: 13
       fieldKey: custom_data
       label: Custom Data
@@ -38921,7 +39075,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: pj4fQXyY4Fyr3Hfx4C5tmg
+    - id: 6xLuiMruJw6SBSa54sAnxk
       sortOrder: 14
       fieldKey: data_processing_options
       label: Data Processing Options
@@ -38938,7 +39092,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ugCyyic3offGjzEzjuv1cS
+    - id: hdNEAZeoatF1GnqPTZotPZ
       sortOrder: 15
       fieldKey: data_processing_options_country
       label: Data Processing Country
@@ -38959,7 +39113,7 @@ items:
         value: 1
       dynamic: false
       allowNull: false
-    - id: kFuckbpZpixr3wQ2pE4SFQ
+    - id: hzQUbqu5fCJv71mQMS2y1g
       sortOrder: 16
       fieldKey: data_processing_options_state
       label: Data Processing State
@@ -39000,7 +39154,7 @@ items:
         value: 1010
       dynamic: false
       allowNull: false
-    - id: 7L3PAxi7NwLJSqta6Chq2s
+    - id: wZVt1J5xezFZLpMUgUBFVM
       sortOrder: 17
       fieldKey: test_event_code
       label: Test Event Code
@@ -39025,7 +39179,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event = "Product Added"
     fields:
-    - id: tqphsqYTAG6T4NavqkBS1G
+    - id: Ex1fAN78HPmK9f9dEzwz2
       sortOrder: 0
       fieldKey: action_source
       label: Action Source
@@ -39057,7 +39211,7 @@ items:
         value: other
       dynamic: false
       allowNull: false
-    - id: k7nbpPHfuQTGQsDHjKG6Kq
+    - id: pvBnpZCqx4t7TG4DybvSAG
       sortOrder: 1
       fieldKey: event_time
       label: Event Time
@@ -39073,7 +39227,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 4hU7y2cZRN33jgRswR32rL
+    - id: ozfrDY1aZFzcLoHvQ1kBFu
       sortOrder: 2
       fieldKey: user_data
       label: User Data
@@ -39123,7 +39277,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: uepg5ZZ6e6txdcAjXgarMM
+    - id: 84TRE7R4XHhRzqFihJdQxY
       sortOrder: 3
       fieldKey: app_data_field
       label: App Events Fields
@@ -39167,7 +39321,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 95tSEBBNMK28wcmSxNudzL
+    - id: 3xjtWxM39b56goPeAuBpqe
       sortOrder: 4
       fieldKey: content_ids
       label: Content IDs
@@ -39179,7 +39333,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: bbscc5ksLzYowxQYz6YFMt
+    - id: wJKSWvQmQTZEYu9PSjSQTK
       sortOrder: 5
       fieldKey: content_name
       label: Content Name
@@ -39191,7 +39345,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: tMyG4uQdZsYzr2MP1RexPU
+    - id: xWqQDujac3gaN2ioWQehS
       sortOrder: 6
       fieldKey: content_type
       label: Content Type
@@ -39207,7 +39361,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: bzBzaCsud6AtkKL6YByGC8
+    - id: 7TfhYa7RJKSRNXvFJqEttK
       sortOrder: 7
       fieldKey: contents
       label: Contents
@@ -39231,7 +39385,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: vpR8zUaUpiCZen3Q7qbwLy
+    - id: tN6pXA2hcCc3rLedHApqTh
       sortOrder: 8
       fieldKey: currency
       label: Currency
@@ -39247,7 +39401,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 8sAjKaiAJh9VRhaVPTR5S7
+    - id: ex8bVRDDFuZ7j66qdRiDhu
       sortOrder: 9
       fieldKey: event_id
       label: Event ID
@@ -39263,7 +39417,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: v6tSuQnqQur7Ri2yBPdpHp
+    - id: ditpeSR9mf3dSmQk717i6d
       sortOrder: 10
       fieldKey: event_source_url
       label: Event Source URL
@@ -39280,7 +39434,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: baumWGFd8Ye9qTuhPYAuzn
+    - id: aeuw4KE1bKKsWbw9Ytxx1e
       sortOrder: 11
       fieldKey: value
       label: Value
@@ -39296,7 +39450,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: tCAh5gzjLYk775AWCjAEAo
+    - id: kDye4YF6hfre9ZDCL1EzxB
       sortOrder: 12
       fieldKey: custom_data
       label: Custom Data
@@ -39312,7 +39466,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: rSRBcbsT314Ks1XQjW27ZT
+    - id: aEg3FE4Q2GDFXahVK4eskr
       sortOrder: 13
       fieldKey: data_processing_options
       label: Data Processing Options
@@ -39329,7 +39483,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: grb4HZLbJKT9r3ebUZ61rS
+    - id: 2ooassQU6gcfyU2t35xEYk
       sortOrder: 14
       fieldKey: data_processing_options_country
       label: Data Processing Country
@@ -39350,7 +39504,7 @@ items:
         value: 1
       dynamic: false
       allowNull: false
-    - id: j23K5CusDNqCzj4R5rjv5z
+    - id: x5zaksk7rQPCJnCeMrVhE7
       sortOrder: 15
       fieldKey: data_processing_options_state
       label: Data Processing State
@@ -39391,7 +39545,7 @@ items:
         value: 1010
       dynamic: false
       allowNull: false
-    - id: oqQTUepofWQ8mWJ7HLeHcX
+    - id: 7Dn6K1mbY5S35Xt7rt8aV9
       sortOrder: 16
       fieldKey: test_event_code
       label: Test Event Code
@@ -39416,7 +39570,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event = "Order Completed"
     fields:
-    - id: 3uV7MDUmSgXYQzxNN7hQgW
+    - id: 8zJ9XQci1P4v6zikBXurFh
       sortOrder: 0
       fieldKey: action_source
       label: Action Source
@@ -39448,7 +39602,7 @@ items:
         value: other
       dynamic: false
       allowNull: false
-    - id: xxXpQ7rGpgvJtjBKZi7mhZ
+    - id: ohAEwM4AYWrqbLrU9zRsGH
       sortOrder: 1
       fieldKey: currency
       label: Currency
@@ -39464,7 +39618,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ptjbnGcBLKLiouGZCCA5mV
+    - id: tqW7Fo19Y7s7puPz8jwjVP
       sortOrder: 2
       fieldKey: event_time
       label: Event Time
@@ -39480,7 +39634,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: oTwUJD9aSbKbwMvvGJuQ95
+    - id: wuYFJCcwYaoc8FREbYqQkJ
       sortOrder: 3
       fieldKey: user_data
       label: User Data
@@ -39530,7 +39684,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: rmEsmmpK1uUQisboKGzpTX
+    - id: kbVMrC5AKYPfWVpcMGzjT4
       sortOrder: 4
       fieldKey: app_data_field
       label: App Events Fields
@@ -39574,7 +39728,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: p7XNDVg772dD6P25ZnDBSX
+    - id: j8e4PXzfwiNjdj29fqFu8c
       sortOrder: 5
       fieldKey: value
       label: Value
@@ -39590,7 +39744,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: nTjNaBUxh3zthGj1CHw3XX
+    - id: 2J1dje2iM7WwYytRT2bkxk
       sortOrder: 6
       fieldKey: content_ids
       label: Content IDs
@@ -39602,7 +39756,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: tQaH1dxNsoWnvMbYvuWgaH
+    - id: ftn3eHobozH3kbCkLSbhcv
       sortOrder: 7
       fieldKey: content_name
       label: Content Name
@@ -39614,7 +39768,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 9owYqYcG6zgxzuvkk4cuaV
+    - id: 9A8xsTkphq6kTvkLW5SE83
       sortOrder: 8
       fieldKey: content_type
       label: Content Type
@@ -39630,7 +39784,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: np2mQdYQFtdzsZ7FigE3MN
+    - id: fQxkMaNFU2F2QFrxCVZcRg
       sortOrder: 9
       fieldKey: contents
       label: Contents
@@ -39654,7 +39808,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: h4oc1byiVaWCWGQGxxtVzZ
+    - id: nYivRXmfPVD1C4yzqkNyKT
       sortOrder: 10
       fieldKey: event_id
       label: Event ID
@@ -39670,7 +39824,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: jbRvRcZYSrA9S6KWRyVuXG
+    - id: pgvVhqoErSNcsV1qUFPGDv
       sortOrder: 11
       fieldKey: event_source_url
       label: Event Source URL
@@ -39687,7 +39841,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: EALiz2ciirWLKCyJW9T8A
+    - id: 2JNvrMD5dSc3572kxiB2rP
       sortOrder: 12
       fieldKey: num_items
       label: Number of Items
@@ -39699,7 +39853,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: wg3J8hJAzTVcCjjim3m1dM
+    - id: kunMBeUCJ4fk9YNjD9VJLG
       sortOrder: 13
       fieldKey: custom_data
       label: Custom Data
@@ -39715,7 +39869,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 7wf1mniWwUFixLZeoA4XgC
+    - id: m2oB6eDtv1cVShaxigZpds
       sortOrder: 14
       fieldKey: data_processing_options
       label: Data Processing Options
@@ -39732,7 +39886,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: gEqAC5x5KSnxJQsE4mtB1r
+    - id: et2JtPMAjQZcbsH6ZRvKNU
       sortOrder: 15
       fieldKey: data_processing_options_country
       label: Data Processing Country
@@ -39753,7 +39907,7 @@ items:
         value: 1
       dynamic: false
       allowNull: false
-    - id: 2gGT87oyz533noRAe8uQWc
+    - id: ah2BL8LpMrGqugQfzHf9ri
       sortOrder: 16
       fieldKey: data_processing_options_state
       label: Data Processing State
@@ -39794,7 +39948,7 @@ items:
         value: 1010
       dynamic: false
       allowNull: false
-    - id: 7ZwqHkRssPHBbjRQGmgPnC
+    - id: vjenyDFjuVBmhzjYkDGXAx
       sortOrder: 17
       fieldKey: test_event_code
       label: Test Event Code
@@ -39819,7 +39973,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event = "Product Added"
     fields:
-    - id: 4HeRaV6wAZV1mnvPfK98YJ
+    - id: nDwWPKr7azyd5hgKUkr7Yn
       sortOrder: 0
       fieldKey: action_source
       label: Action Source
@@ -39851,7 +40005,7 @@ items:
         value: other
       dynamic: false
       allowNull: false
-    - id: ankaompQZCm3Lg5iVDUzkS
+    - id: sC9sgxLpyhHF4c7kZzosay
       sortOrder: 1
       fieldKey: event_time
       label: Event Time
@@ -39867,7 +40021,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: sEcQQ76TY6fTyDhDwm5Ct2
+    - id: 2h2PVYiuovjekg97uAdRBe
       sortOrder: 2
       fieldKey: user_data
       label: User Data
@@ -39917,7 +40071,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 3tpnTTzCgZvuKhtcftPcf2
+    - id: 9Cv6h79uNu7EA7SHzyneVQ
       sortOrder: 3
       fieldKey: app_data_field
       label: App Events Fields
@@ -39961,7 +40115,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: tGGmQFvJakQFwqSUZkGx2w
+    - id: ozNKeTL3pe6AxwNnUf5QJJ
       sortOrder: 4
       fieldKey: content_ids
       label: Content IDs
@@ -39973,7 +40127,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: HQHsgnQW22w7PvtyCsPRS
+    - id: kQVHShiQPPXSoKG7tTEAvU
       sortOrder: 5
       fieldKey: content_name
       label: Content Name
@@ -39985,7 +40139,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: pVEeNb4wcnM1smoeKSGCBg
+    - id: q2ffsW6Kzvzu8UxKo21Vs1
       sortOrder: 6
       fieldKey: content_type
       label: Content Type
@@ -40001,7 +40155,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: hZ6Nmjue1YKCtKTpQHBNYJ
+    - id: jNdeVuueqzq7iNptJKYwHo
       sortOrder: 7
       fieldKey: contents
       label: Contents
@@ -40025,7 +40179,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: xAp5NyDBb4V8ExtUft6GBE
+    - id: 9c9sWP1SniT8fYYVzc5w5E
       sortOrder: 8
       fieldKey: currency
       label: Currency
@@ -40041,7 +40195,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: qZqEq486PkFpjaNffHUvEj
+    - id: qHELazMr9m5dxGaC5wsJMR
       sortOrder: 9
       fieldKey: event_id
       label: Event ID
@@ -40057,7 +40211,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: a6DwJb4LCMVRK495U2SkLZ
+    - id: vV5UuE1dqDpLQ3dSfcbHvd
       sortOrder: 10
       fieldKey: event_source_url
       label: Event Source URL
@@ -40074,7 +40228,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: dMoC2gJiN4ATfM9XD9aFyD
+    - id: oyW6QGdzaLtRCJA5mgDUHY
       sortOrder: 11
       fieldKey: value
       label: Value
@@ -40090,7 +40244,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: qH79TJ9bJXLyWhbrRDYCvt
+    - id: v8SVNPZ5n2iETnwXrRPoLm
       sortOrder: 12
       fieldKey: custom_data
       label: Custom Data
@@ -40106,7 +40260,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: a3EdM9iasr7nhk5WM1VgNJ
+    - id: oCqPafr1nsjErjyYGNqVmy
       sortOrder: 13
       fieldKey: data_processing_options
       label: Data Processing Options
@@ -40123,7 +40277,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: iXnPRPro3RWPCYGkA9LDNx
+    - id: mzrBX5FzaPrk6E3sBcGaeU
       sortOrder: 14
       fieldKey: data_processing_options_country
       label: Data Processing Country
@@ -40144,7 +40298,7 @@ items:
         value: 1
       dynamic: false
       allowNull: false
-    - id: s8tkXydUGqPrm7eCHHwskx
+    - id: sdpLnXwpn3ZS7UG1QNP1h3
       sortOrder: 15
       fieldKey: data_processing_options_state
       label: Data Processing State
@@ -40185,7 +40339,7 @@ items:
         value: 1010
       dynamic: false
       allowNull: false
-    - id: aSmQnLgYxc36E5CWFoGzgW
+    - id: 3GTNbCtD6SRisnHoZSfRyK
       sortOrder: 16
       fieldKey: test_event_code
       label: Test Event Code
@@ -40210,7 +40364,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: mzMPD1Tc9ChjjhhuxmjxsP
+    - id: rhCbbfBVAJnNbTFyk51Lwb
       sortOrder: 0
       fieldKey: action_source
       label: Action Source
@@ -40242,7 +40396,7 @@ items:
         value: other
       dynamic: false
       allowNull: false
-    - id: oX8hE5Uo9pxpb2rGH5uLDM
+    - id: bqXzG6KqYbmv25Zg2cYUQq
       sortOrder: 1
       fieldKey: event_name
       label: Event Name
@@ -40261,7 +40415,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 7pEbgWF18cuULeSyU3y7np
+    - id: MCdQyM9eABPjMpC75k8Rk
       sortOrder: 2
       fieldKey: event_time
       label: Event Time
@@ -40277,7 +40431,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ukKTSkG6cyKM5G4L1AKiMc
+    - id: 5MpCvNY9e3jHuVnKrAqX3a
       sortOrder: 3
       fieldKey: user_data
       label: User Data
@@ -40327,7 +40481,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: mTvmRGagCvG7vPfT9J9CFa
+    - id: qukysx8WqRSuQaHR84deNx
       sortOrder: 4
       fieldKey: app_data_field
       label: App Events Fields
@@ -40371,7 +40525,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 6Hks5Tama4aDvdhsR5DadU
+    - id: 8B8cTMdP5j1vbk58voxhxK
       sortOrder: 5
       fieldKey: custom_data
       label: Custom Data
@@ -40387,7 +40541,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: tfTdAQj8jTdHEeUQpaLe3G
+    - id: w2hxfwHajMyTZrFeQaJJP4
       sortOrder: 6
       fieldKey: event_id
       label: Event ID
@@ -40403,7 +40557,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 3F3B6XzEm6KfEJvuD7JPsy
+    - id: o47EhSD7wuaECMSgiHAcqR
       sortOrder: 7
       fieldKey: event_source_url
       label: Event Source URL
@@ -40420,7 +40574,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: f2R5J966w18QaXNu7b5yWZ
+    - id: kraMY9MniuspLtmGiafWWN
       sortOrder: 8
       fieldKey: data_processing_options
       label: Data Processing Options
@@ -40437,7 +40591,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 2QWPqEznPryfLiW9kNKbp4
+    - id: rMGcGXMdm1dxSBWSSGgopW
       sortOrder: 9
       fieldKey: data_processing_options_country
       label: Data Processing Country
@@ -40458,7 +40612,7 @@ items:
         value: 1
       dynamic: false
       allowNull: false
-    - id: mShXDw3M3m2swzZPT4m44i
+    - id: nnbXMCyG2NFhnUcxuKp9Le
       sortOrder: 10
       fieldKey: data_processing_options_state
       label: Data Processing State
@@ -40499,7 +40653,7 @@ items:
         value: 1010
       dynamic: false
       allowNull: false
-    - id: stD32dtpC6mHnX5Cq2AYov
+    - id: sCfvjoLYXNmtSqn53gEv2c
       sortOrder: 11
       fieldKey: test_event_code
       label: Test Event Code
@@ -40524,7 +40678,7 @@ items:
     hidden: false
     defaultTrigger: type = "page"
     fields:
-    - id: gcEfrBPB9XRMybNLjDuYF1
+    - id: ngX88Ni3FKjjo7uSUNpCmx
       sortOrder: 0
       fieldKey: action_source
       label: Action Source
@@ -40556,7 +40710,7 @@ items:
         value: other
       dynamic: false
       allowNull: false
-    - id: 69DGzG8xaCPRNq1WErgimF
+    - id: iF89mWxbFmtZcDtoaqdBer
       sortOrder: 1
       fieldKey: event_time
       label: Event Time
@@ -40572,7 +40726,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5tecHGbu48syau9AFPu5WZ
+    - id: byqoZWMEKAbaPeaRdEhcpy
       sortOrder: 2
       fieldKey: user_data
       label: User Data
@@ -40622,7 +40776,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: pTBxBsvn17dueuWopzRcP1
+    - id: qNwDMBsfvFxtqfgH5Di59r
       sortOrder: 3
       fieldKey: app_data_field
       label: App Events Fields
@@ -40666,7 +40820,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 4ZpExMUwxP8LKwbN7cZ62A
+    - id: ivejALn2kbvPtHjr91sMJg
       sortOrder: 4
       fieldKey: event_id
       label: Event ID
@@ -40682,7 +40836,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: b4tzsR7mrGff18nZZTBkb6
+    - id: qpgqndT5atEs3SBpL7jD3G
       sortOrder: 5
       fieldKey: event_source_url
       label: Event Source URL
@@ -40699,7 +40853,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: vq8XPJJyJKq8ZS6sjvZgNq
+    - id: uxumCvjLWeZGkoW2eh52a1
       sortOrder: 6
       fieldKey: custom_data
       label: Custom Data
@@ -40715,7 +40869,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: eAtenz4Mvbk4UUYQUd7Qis
+    - id: uXsTSPnSAtTZ4krev1RAX9
       sortOrder: 7
       fieldKey: data_processing_options
       label: Data Processing Options
@@ -40732,7 +40886,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: dv1VPoQHPai38pfABoo4xW
+    - id: 6AqGP36cb82ug9rQuf3SC
       sortOrder: 8
       fieldKey: data_processing_options_country
       label: Data Processing Country
@@ -40753,7 +40907,7 @@ items:
         value: 1
       dynamic: false
       allowNull: false
-    - id: xs2S9KvTc2VH2iUHdfktU
+    - id: 85XhiVfFoiL3A5aCaT7y1b
       sortOrder: 9
       fieldKey: data_processing_options_state
       label: Data Processing State
@@ -40794,7 +40948,7 @@ items:
         value: 1010
       dynamic: false
       allowNull: false
-    - id: ojd6N4BEMQRm3dNHrYpT3b
+    - id: ftPQhexSghy5kQCCGQPoyG
       sortOrder: 10
       fieldKey: test_event_code
       label: Test Event Code
@@ -40819,7 +40973,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event = "Product Viewed"
     fields:
-    - id: iky4MfuMQkyuEKaUeU5PBV
+    - id: dGEZTYcAzwWNK7jZsBk3Ks
       sortOrder: 0
       fieldKey: action_source
       label: Action Source
@@ -40851,7 +41005,7 @@ items:
         value: other
       dynamic: false
       allowNull: false
-    - id: cnv3Lsy43uNvSpXuZgijcC
+    - id: fk4ALJn56DnxNcRKSdFdY5
       sortOrder: 1
       fieldKey: event_time
       label: Event Time
@@ -40867,7 +41021,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 6aNyEZaCGjFQJ2nxr424gn
+    - id: 3tK9mDB99MHC5hMcw9YxQn
       sortOrder: 2
       fieldKey: user_data
       label: User Data
@@ -40917,7 +41071,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 35b2VPVzssfR6PXrup7arL
+    - id: g2PsfQbPy5VyaqVfs6LPxm
       sortOrder: 3
       fieldKey: app_data_field
       label: App Events Fields
@@ -40961,7 +41115,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: a3eEQYFtqoZZfuWBK8zpoc
+    - id: 8tyaJVfAy2UvH9LGRuAkWG
       sortOrder: 4
       fieldKey: content_category
       label: Content Category
@@ -40973,7 +41127,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 9zY4Vx9k2vuoh7SnxGLkuS
+    - id: j2voPcUADM583GY71hcUGi
       sortOrder: 5
       fieldKey: content_ids
       label: Content IDs
@@ -40987,7 +41141,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ooGm3wbTrjFDcRuomyfNEd
+    - id: fY5yuRgWjzmuREnM5QHeQ3
       sortOrder: 6
       fieldKey: content_name
       label: Content Name
@@ -40999,7 +41153,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: gqsgU5WkMLVES3bJDWwH8x
+    - id: rDCW3Rd5Cxu1Vpk6Pa8cL3
       sortOrder: 7
       fieldKey: content_type
       label: Content Type
@@ -41015,7 +41169,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: d1G824HTpZoPj2BYrv8sa9
+    - id: cnaThQ8ccttChWGriHeRcc
       sortOrder: 8
       fieldKey: contents
       label: Contents
@@ -41039,7 +41193,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: b48jQhM1NQ2dF1Yqo8bZyd
+    - id: gZpkLEy4TBYcVj3hjLyzAE
       sortOrder: 9
       fieldKey: currency
       label: Currency
@@ -41055,7 +41209,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: cNgwsTEDnJtLE6nhrYqm34
+    - id: hzeJ9aBpp7y7XZTz5Q2YUC
       sortOrder: 10
       fieldKey: event_id
       label: Event ID
@@ -41071,7 +41225,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: sGuqFsBpEHCMSqk2nXXojj
+    - id: xjnHMrYehtnd169tFgdwdt
       sortOrder: 11
       fieldKey: event_source_url
       label: Event Source URL
@@ -41088,7 +41242,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: j6aSgNcv7C94P7J1ZXWiom
+    - id: 2YoNWcn1eMswq4NtqGT6pb
       sortOrder: 12
       fieldKey: value
       label: Value
@@ -41104,7 +41258,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: gK2XhAC11CvKFv7LFjtsad
+    - id: 5sq2hruB19XnXzMGBLMNeT
       sortOrder: 13
       fieldKey: custom_data
       label: Custom Data
@@ -41120,7 +41274,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: tqBfCwmm8fo4VWVNpfQAJo
+    - id: bPr8aNFqvfKxdNzrbRcBTL
       sortOrder: 14
       fieldKey: data_processing_options
       label: Data Processing Options
@@ -41137,7 +41291,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: srBRXpZbPAdcVi9PWmbbZH
+    - id: 8CY6ataAu2V1G3u52iSjj2
       sortOrder: 15
       fieldKey: data_processing_options_country
       label: Data Processing Country
@@ -41158,7 +41312,7 @@ items:
         value: 1
       dynamic: false
       allowNull: false
-    - id: 3WmymaVBLvpnXtzhsyKsVN
+    - id: TBKRdGgjs9zaEECzaT2ht
       sortOrder: 16
       fieldKey: data_processing_options_state
       label: Data Processing State
@@ -41199,7 +41353,7 @@ items:
         value: 1010
       dynamic: false
       allowNull: false
-    - id: 4J3Cdyhhj4qTDz7ZC45yAj
+    - id: g6Cosbdj4xejexBmzkG5RA
       sortOrder: 17
       fieldKey: test_event_code
       label: Test Event Code
@@ -41224,7 +41378,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event = "Checkout Started"
     fields:
-    - id: cwCSA2auWZZEkCq2nGrzr6
+    - id: vAuwy65B6F2hCAmAYJkycz
       sortOrder: 0
       fieldKey: action_source
       label: Action Source
@@ -41256,7 +41410,7 @@ items:
         value: other
       dynamic: false
       allowNull: false
-    - id: 4fxaoQQtzZqzZrz2aC6m9w
+    - id: pwxqgN8f1X6KfWSHjHpf8k
       sortOrder: 1
       fieldKey: event_time
       label: Event Time
@@ -41272,7 +41426,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 2QvjaPxun1uixxeTz8va9L
+    - id: ncqZLGGW5wHbwi9KM4wtvY
       sortOrder: 2
       fieldKey: user_data
       label: User Data
@@ -41322,7 +41476,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: a6EjQmvEM1DFXjcDQXYDc3
+    - id: aYi8p9tXQL52gng4urpo7Y
       sortOrder: 3
       fieldKey: app_data_field
       label: App Events Fields
@@ -41366,7 +41520,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: su61uYmcCq8GJvKqURBNQ9
+    - id: uGQhShWmAsoATWTVRPVkU2
       sortOrder: 4
       fieldKey: content_category
       label: Content Category
@@ -41378,7 +41532,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: tNZrded2HrNNaPdJDXH7dc
+    - id: epX2zXomVL6aPuBf7F2zLz
       sortOrder: 5
       fieldKey: content_ids
       label: Content IDs
@@ -41390,7 +41544,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: d7sMbjePP13orb553TYZof
+    - id: 8Br7zu38vGovGpVwyMMDs9
       sortOrder: 6
       fieldKey: contents
       label: Contents
@@ -41414,7 +41568,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 7CWKx6vRgZr2NshvZF9b68
+    - id: 9pVM7k3VpshxFUePuh6Lau
       sortOrder: 7
       fieldKey: currency
       label: Currency
@@ -41430,7 +41584,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: pZ1RJvDZfRFComgaQotgtf
+    - id: pHsE8yivFNasEv7k61tv1n
       sortOrder: 8
       fieldKey: event_id
       label: Event ID
@@ -41446,7 +41600,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ik1vwr913xtMGmYvR1uX1f
+    - id: jf3Fxc8SKz3wDPGhMnBpKR
       sortOrder: 9
       fieldKey: event_source_url
       label: Event Source URL
@@ -41463,7 +41617,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: sMk8x1Q1PdzFEqTuT6RWan
+    - id: eKh2d5x8ApD5zPDhCFnVi3
       sortOrder: 10
       fieldKey: num_items
       label: Number of Items
@@ -41475,7 +41629,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: K2ujBcuACQCFT2X9U4NDi
+    - id: e4nrFeCyk3ZritA1rAuS2n
       sortOrder: 11
       fieldKey: value
       label: Value
@@ -41491,7 +41645,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: demm6oS47mxaPopbSMLDYm
+    - id: tTbbr2vZNvK5YoN6Z1Zad3
       sortOrder: 12
       fieldKey: custom_data
       label: Custom Data
@@ -41507,7 +41661,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 2d2DkfL9hJH9FeFzPkC9HP
+    - id: 6GDJHXa4tjPCQXc1jw5HKt
       sortOrder: 13
       fieldKey: data_processing_options
       label: Data Processing Options
@@ -41524,7 +41678,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: sAndCzvzC2YHcAxw6mxXuP
+    - id: m5MWgQYXm1Y9H5zcpt6Xod
       sortOrder: 14
       fieldKey: data_processing_options_country
       label: Data Processing Country
@@ -41545,7 +41699,7 @@ items:
         value: 1
       dynamic: false
       allowNull: false
-    - id: 8N9hHi3ZEjAbuzoMxHCAJ6
+    - id: jbP8grYaoRGYVKZR9CNhci
       sortOrder: 15
       fieldKey: data_processing_options_state
       label: Data Processing State
@@ -41586,7 +41740,7 @@ items:
         value: 1010
       dynamic: false
       allowNull: false
-    - id: zBZbMHF73m5HGQ1uokzkb
+    - id: tuvDR9aiz4PC1XpVKaQYwD
       sortOrder: 16
       fieldKey: test_event_code
       label: Test Event Code
@@ -41611,7 +41765,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event = "Products Searched"
     fields:
-    - id: ozVftq3cgFjP4ng3Wa5boM
+    - id: 23XohSXMo6XuBUHfuTiHMY
       sortOrder: 0
       fieldKey: action_source
       label: Action Source
@@ -41643,7 +41797,7 @@ items:
         value: other
       dynamic: false
       allowNull: false
-    - id: ipyebhbbXGNChzVpHTFjg8
+    - id: ctBAPSAdyzPKdwdxSF5nVg
       sortOrder: 1
       fieldKey: event_time
       label: Event Time
@@ -41659,7 +41813,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: HsBWbChQqggoGLcirjh38
+    - id: 628nxDHp4cJSvtrEXbDrBT
       sortOrder: 2
       fieldKey: user_data
       label: User Data
@@ -41709,7 +41863,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 86B9n6z4ok7vbzHgJdaUi7
+    - id: cj484JExD9wo2Jzr5RKx24
       sortOrder: 3
       fieldKey: app_data_field
       label: App Events Fields
@@ -41753,7 +41907,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: eUjD4cQxbHzFWuMw2y96hE
+    - id: r7xtCdM9M46g6JNxiQ1EcQ
       sortOrder: 4
       fieldKey: content_category
       label: Content Category
@@ -41765,7 +41919,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: rENYJXhKdNiQ4VdLKrNTdt
+    - id: cMudMu7yaRDvTy7WQBiCTL
       sortOrder: 5
       fieldKey: content_ids
       label: Content IDs
@@ -41777,7 +41931,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 7UtybaU8Sn4tBb9CBhbc5R
+    - id: nfTqLerHCSx4TDSwTnoR3K
       sortOrder: 6
       fieldKey: contents
       label: Contents
@@ -41801,7 +41955,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: doRsN4kuRni4Psh8sBeXZX
+    - id: i93XP7WExEk7WWrR2ynnB8
       sortOrder: 7
       fieldKey: currency
       label: Currency
@@ -41817,7 +41971,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5ezrmWLG4VbBYkEBoWb7p4
+    - id: hLFECrWjJziCu7VgePiuWp
       sortOrder: 8
       fieldKey: event_id
       label: Event ID
@@ -41833,7 +41987,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 47EriJ272jWSN1B7bc4bfm
+    - id: 3amdQoSkgPi5BJArAfKit4
       sortOrder: 9
       fieldKey: event_source_url
       label: Event Source URL
@@ -41850,7 +42004,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: b2TU2nftYjm3ebYC2cn7qQ
+    - id: miAZnU4oMeg1CP5hfF7hk4
       sortOrder: 10
       fieldKey: search_string
       label: Search String
@@ -41864,7 +42018,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: mYbBpeaj2DRdoNBLWbV3gz
+    - id: 4uTotuAVEv5bZrF9zTpuRf
       sortOrder: 11
       fieldKey: value
       label: Value
@@ -41878,7 +42032,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 7S2E5UuVSJJa4aD5La2GMF
+    - id: wzmPzjTxDMDFKzVTGnX7F5
       sortOrder: 12
       fieldKey: custom_data
       label: Custom Data
@@ -41894,7 +42048,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 6gf1qWvpLSPsLguEmVNfhp
+    - id: bbPJCCRZmhgb8fdwuifb5F
       sortOrder: 13
       fieldKey: data_processing_options
       label: Data Processing Options
@@ -41911,7 +42065,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: a2fcQKC71vckX6uYCgGzQM
+    - id: szgdX3yYM2vWSLB18aUqjh
       sortOrder: 14
       fieldKey: data_processing_options_country
       label: Data Processing Country
@@ -41932,7 +42086,7 @@ items:
         value: 1
       dynamic: false
       allowNull: false
-    - id: 9tBsMbuwQ2ELdRZ7Mh5Jr4
+    - id: 5U4aGwRgUa35V5gS5TmgYu
       sortOrder: 15
       fieldKey: data_processing_options_state
       label: Data Processing State
@@ -41973,7 +42127,7 @@ items:
         value: 1010
       dynamic: false
       allowNull: false
-    - id: iZ6obUeuFUdWP9zz18twVx
+    - id: dyMLVSupPnH2MrE6x6tuLB
       sortOrder: 16
       fieldKey: test_event_code
       label: Test Event Code
@@ -42021,9 +42175,9 @@ items:
     screen: false
     page: true
   platforms:
-    browser: false
+    browser: true
     mobile: false
-    server: false
+    server: true
     warehouse: true
     cloudAppObject: false
     linkedAudiences: false
@@ -42037,9 +42191,9 @@ items:
       mobile: false
       server: false
     cloud:
-      web: false
+      web: true
       mobile: false
-      server: false
+      server: true
   settings:
   - name: retlAdAccountId
     type: string
@@ -42058,177 +42212,192 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: wb69yTj5iPwkPh3BDwGPjA
+    - id: kiMpM5CFKryy4hzqo4mQ9s
       sortOrder: 0
       fieldKey: externalId
       label: External ID
       type: STRING
       description: >-
         Your company’s custom identifier for this user. This can be any unique
-        ID, such as loyalty membership IDs, user IDs, and external cookie IDs.
+        ID, such as loyalty membership IDs, user IDs, and external cookie IDs..
+        If not hashed, Segment will hash this value.
       placeholder: ''
       required: true
       multiple: false
       choices: null
       dynamic: false
       allowNull: false
-    - id: cADyK4oANJGTQHy26eA3Nh
+    - id: jpBr8vZJbP7bckNGfdvfZH
       sortOrder: 1
       fieldKey: email
       label: Email
       type: STRING
-      description: 'User’s email (ex: foo@bar.com)'
+      description: >-
+        User’s email (ex: foo@bar.com). If not hashed, Segment will hash this
+        value.
       placeholder: ''
       required: false
       multiple: false
       choices: null
       dynamic: false
       allowNull: false
-    - id: DnpzzRfscJFB9zdjDdwph
+    - id: v3amwwgmQjrFC5xmNQtqaB
       sortOrder: 2
       fieldKey: phone
       label: Phone
       type: STRING
       description: >-
         User’s phone number, including country code. Punctuation and spaces are
-        ok (ex: 1-234-567-8910 or +44 844 412 4653)
+        ok (ex: 1-234-567-8910 or +44 844 412 4653). If not hashed, Segment will
+        hash this value.
       placeholder: ''
       required: false
       multiple: false
       choices: null
       dynamic: false
       allowNull: false
-    - id: qroHKChprr8AfHRJ1k4BGU
+    - id: 4yD19DwmZXRdC4xkroZMLK
       sortOrder: 3
       fieldKey: country
       label: Country
       type: STRING
-      description: User’s country. Use 2-letter country codes in ISO 3166-1 alpha-2 format.
+      description: >-
+        User’s country. Use 2-letter country codes in ISO 3166-1 alpha-2
+        format.. If not hashed, Segment will hash this value.
       placeholder: ''
       required: false
       multiple: false
       choices: null
       dynamic: false
       allowNull: false
-    - id: sDUxbcVRErRMuM3xyMAUHA
+    - id: g5ysDZBuxBcAseTaJhWQY2
       sortOrder: 4
       fieldKey: birth
       label: Date of Birth
       type: OBJECT
       description: >-
         User’s date of birth. Include as many fields as possible for better
-        match rates (ex: year = YYYY, month = MM, day = DD)
+        match rates (ex: year = YYYY, month = MM, day = DD). If not hashed,
+        Segment will hash this value.
       placeholder: ''
       required: false
       multiple: false
       choices: null
       dynamic: false
       allowNull: false
-    - id: i2cWRb5vwg9orMMzfhHG3v
+    - id: 5WTLdtspBSEHH8MAQtYAgQ
       sortOrder: 5
       fieldKey: name
       label: Name
       type: OBJECT
       description: >-
         User’s name. Include as many fields as possible for better match rates.
-        Use a-z only. No punctuation. Special characters in UTF-8 format
+        Use a-z only. No punctuation. Special characters in UTF-8 format. If not
+        hashed, Segment will hash this value.
       placeholder: ''
       required: false
       multiple: false
       choices: null
       dynamic: false
       allowNull: false
-    - id: bsVHQkvZgvcVhWx2kyFTCP
+    - id: vEJsv4TMdqoQZuA8AuHtYb
       sortOrder: 6
       fieldKey: city
       label: City
       type: STRING
-      description: User’s city. Use a-z only. No punctuation. No special characters.
+      description: >-
+        User’s city. Use a-z only. No punctuation. No special characters.. If
+        not hashed, Segment will hash this value.
       placeholder: ''
       required: false
       multiple: false
       choices: null
       dynamic: false
       allowNull: false
-    - id: 7wdGBCVNF7QrSNP4cX9Pqh
+    - id: YcYu2G5KpmQKpnbbFmXFy
       sortOrder: 7
       fieldKey: state
       label: State
       type: STRING
       description: >-
         User’s state. Use the 2-character ANSI abbreviation code, Normalize
-        states outside the US with no punctuation and no special characters.
+        states outside the US with no punctuation and no special characters.. If
+        not hashed, Segment will hash this value.
       placeholder: ''
       required: false
       multiple: false
       choices: null
       dynamic: false
       allowNull: false
-    - id: uyqVRnhi9Sn565aWQC5VCa
+    - id: xucBzMoHYjgX8Lb1FyJLJS
       sortOrder: 8
       fieldKey: zip
       label: Postal Code
       type: STRING
       description: >-
         User’s postal code. For the US, use only the first 5 digits. For the UK,
-        use the Area/District/Sector format.
+        use the Area/District/Sector format.. If not hashed, Segment will hash
+        this value.
       placeholder: ''
       required: false
       multiple: false
       choices: null
       dynamic: false
       allowNull: false
-    - id: 6jy28YHEyEiqJhjtt2cu7v
+    - id: aTGvYiRGeqLukW5ynEc3J9
       sortOrder: 9
       fieldKey: gender
       label: Gender
       type: STRING
-      description: User’s gender (m for male, f for female)
+      description: >-
+        User’s gender (m for male, f for female). If not hashed, Segment will
+        hash this value.
       placeholder: ''
       required: false
       multiple: false
       choices: null
       dynamic: false
       allowNull: false
-    - id: iWTFhoNrAqFn3GHsVrPYou
+    - id: jGoaLoWhYrnJGRCAFqNnWN
       sortOrder: 10
       fieldKey: mobileAdId
       label: Mobile Advertising ID
       type: STRING
       description: >-
         User’s Apple IDFA, Android Ad ID, or Facebook app scoped ID. Keep
-        hyphens (ex: AB1234CD-E123-12FG-J123)
+        hyphens (ex: AB1234CD-E123-12FG-J123). If not hashed, Segment will hash
+        this value.
       placeholder: ''
       required: false
       multiple: false
       choices: null
       dynamic: false
       allowNull: false
-    - id: oC8auqadH4rvzeU3fUVCZi
+    - id: otuVNdwW6YmeXSFkRvi89D
       sortOrder: 11
       fieldKey: appId
       label: App ID
       type: STRING
-      description: The app ID of the user.
+      description: The app ID of the user.. If not hashed, Segment will hash this value.
       placeholder: ''
       required: false
       multiple: false
       choices: null
       dynamic: false
       allowNull: false
-    - id: hs6UCXsZAHvBxFzE7LvbtG
+    - id: jdipr7zdCYWQT6eaQ6HzvP
       sortOrder: 12
       fieldKey: pageId
       label: Page ID
       type: STRING
-      description: The page ID of the user.
+      description: The page ID of the user.. If not hashed, Segment will hash this value.
       placeholder: ''
       required: false
       multiple: false
       choices: null
       dynamic: false
       allowNull: false
-    - id: x67oq1KFxFick4tQzP3796
+    - id: uFkpXukGyCpHcA7iGKQSLh
       sortOrder: 15
       fieldKey: operation
       label: Create a new custom audience or connect to an existing one?
@@ -42250,7 +42419,7 @@ items:
         value: existing
       dynamic: false
       allowNull: false
-    - id: qPpynsNRpUHqY8nAfMp5AY
+    - id: dg74nGMMCj4eMseXofcRDu
       sortOrder: 16
       fieldKey: audienceName
       label: Audience Creation Name
@@ -42263,7 +42432,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: rzb6tyQGLfD8ywnzD1us4i
+    - id: kzxEPoSjXYvDqsuwwzufJc
       sortOrder: 17
       fieldKey: existingAudienceId
       label: Existing Audience ID
@@ -42275,7 +42444,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: duxtfHpwp6tdyj9atZgZEt
+    - id: azYfYAZi5tCd1jg4Dn7tGq
       sortOrder: 18
       fieldKey: retlOnMappingSave
       label: Select or create an audience in Facebook
@@ -42294,115 +42463,6 @@ items:
       hidden: false
   presets: []
   partnerOwned: false
-- id: 58ae54dc70a3e552b95415f6
-  display_name: Facebook Offline Conversions
-  name: Facebook Offline Conversions
-  slug: facebook-offline-conversions
-  hidden: false
-  endpoints:
-  - US
-  regions:
-  - us-west-2
-  - eu-west-1
-  url: connections/destinations/catalog/facebook-offline-conversions
-  previous_names:
-  - Facebook Offline Conversions
-  website: https://www.facebook.com/business/help/1782327938668950
-  status: PUBLIC
-  categories:
-  - Advertising
-  logo:
-    url: https://cdn.filepicker.io/api/file/MjCkA4RSTm7BQMFAcy8N
-  mark:
-    url: https://cdn.filepicker.io/api/file/TP1ONlaTGaF8fjL5XWhI
-  methods:
-    track: true
-    identify: false
-    group: false
-    alias: false
-    screen: false
-    page: false
-  platforms:
-    browser: false
-    mobile: false
-    server: true
-    warehouse: false
-    cloudAppObject: false
-    linkedAudiences: false
-  components:
-  - code: >-
-      https://github.com/segmentio/integrations/tree/master/integrations/facebook-offline-conversions
-    type: SERVER
-  browserUnbundlingSupported: false
-  browserUnbundlingPublic: true
-  replay: false
-  connection_modes:
-    device:
-      web: false
-      mobile: false
-      server: false
-    cloud:
-      web: false
-      mobile: true
-      server: true
-  settings:
-  - name: completeRegistrations
-    type: text-map
-    defaultValue: {}
-    description: >-
-      Enter your Segment `.track()` event names on the left that you want to
-      send as `CompleteRegistration` conversions. On the right hand side, put
-      the ID of the Facebook Offline Event Set where you want to send these
-      conversions.
-    required: false
-    label: Map Track Events as CompleteRegistration Conversions to Event Set IDs
-  - name: events
-    type: text-map
-    defaultValue: {}
-    description: >-
-      Enter your Segment `.track()` event names on the left that you want to
-      send as conversions. On the right hand side, put the ID of the Facebook
-      Offline Event Set where you want to send these conversions.
-    required: false
-    label: Map Track Events to Event Set IDs
-  - name: leads
-    type: text-map
-    defaultValue: {}
-    description: >-
-      Enter your Segment `.track()` event names on the left that you want to
-      send as `Lead` conversions. On the right hand side, put the ID of the
-      Facebook Offline Event Set where you want to send these conversions.
-    required: false
-    label: Map Track Events as Lead Conversions to Event Set IDs
-  - name: limitedDataUse
-    type: boolean
-    defaultValue: false
-    description: >-
-      The Limited Data Use (LDU) setting controls whether or not Data Processing
-      Options are sent to Facebook. When enabling LDU, you **must** set the user
-      geography values in the `Facebook Offline Conversions` integration options
-      under the `dataProcessingOptions` key. If you do not pass specific
-      geography values, Segment will default to empty Data Processing Options.
-    required: false
-    label: Limited Data Use
-  - name: oauth
-    type: oauth
-    defaultValue: {}
-    description: 'Authorize Segment to oauth `<UPDATE>` '
-    required: false
-    label: oauth
-  - name: valueIdentifier
-    type: select
-    defaultValue: value
-    description: >-
-      For pre-purchase events such as `Product Viewed`, `Product Added`, and
-      `Product List Viewed`, choose which Segment property you would like to map
-      to Facebook's `value` property. 
-    required: false
-    label: Value Field Identifier
-  actions: []
-  presets: []
-  partnerOwned: false
 - id: 5661eb58e954a874ca44cc07
   display_name: Facebook Pixel
   name: Facebook Pixel
@@ -42801,7 +42861,7 @@ items:
     hidden: false
     defaultTrigger: event = "Audience Entered"
     fields:
-    - id: ttkgnqKCXzzPK4EVChzjKJ
+    - id: eriaHFF2sTsXx15Cn6jqq6
       sortOrder: 0
       fieldKey: mobileDeviceIds
       label: Mobile Device IDs
@@ -42827,7 +42887,7 @@ items:
     hidden: false
     defaultTrigger: event = "Audience Entered"
     fields:
-    - id: nF8V1euiip2uhfKkf78mjo
+    - id: sBAoHad7dhYpWFqqGK1wPP
       sortOrder: 0
       fieldKey: mobileDeviceIds
       label: Mobile Device IDs
@@ -42853,14 +42913,14 @@ items:
     hidden: false
     defaultTrigger: event = "Audience Entered"
     fields:
-    - id: ho5EmgVCqLfxQSN1PnSfRE
+    - id: we7easNRz2ityJDwEc6NEk
       sortOrder: 0
       fieldKey: emails
       label: Emails
       type: STRING
       description: >-
         A list of the user's emails. If not already hashed, the system will hash
-        them before use.
+        them before use.. If not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@path': $.context.traits.emails
@@ -42869,14 +42929,14 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: bWsSqV3iKuLWN2tMKhGDqX
+    - id: tBGKtWfqUoPRW2vzvPKsTw
       sortOrder: 1
       fieldKey: phoneNumbers
       label: Phone Numbers
       type: STRING
       description: >-
         A list of the user's phone numbers. If not already hashed, the system
-        will hash them before use.
+        will hash them before use.. If not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@path': $.context.traits.phoneNumbers
@@ -42885,7 +42945,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 4dfVYvLcWQfApxSuNLNXkf
+    - id: pGuyseYrPw4EoV7yaNJvNz
       sortOrder: 2
       fieldKey: zipCodes
       label: ZIP Codes
@@ -42899,14 +42959,14 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: kZKetf4TwkPHMk7yaCNKsd
+    - id: 8yMVkcuM5bPHEFZ7f6qwtv
       sortOrder: 3
       fieldKey: firstName
       label: First Name
       type: STRING
       description: >-
         The user's first name. If not already hashed, the system will hash it
-        before use.
+        before use.. If not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@path': $.context.traits.firstName
@@ -42915,14 +42975,14 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 8FUsHqDfLi3ssZHrzezkvw
+    - id: qui4TUBujyKyxRpu9cdiWh
       sortOrder: 4
       fieldKey: lastName
       label: Last Name
       type: STRING
       description: >-
         The user's last name. If not already hashed, the system will hash it
-        before use.
+        before use.. If not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@path': $.context.traits.lastName
@@ -42931,7 +42991,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: fDjfFodrKCkhq2WL2KS1Qz
+    - id: 5VA2nqiz6szLsfveZrKw9j
       sortOrder: 5
       fieldKey: countryCode
       label: Country Code
@@ -42955,14 +43015,14 @@ items:
     hidden: false
     defaultTrigger: event = "Audience Exited"
     fields:
-    - id: 2BM88zBGxTxFcBpwgqhDiF
+    - id: nvjXeeNtfGpT1LU6DJNscq
       sortOrder: 0
       fieldKey: emails
       label: Emails
       type: STRING
       description: >-
         A list of the user's emails. If not already hashed, the system will hash
-        them before use.
+        them before use.. If not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@path': $.context.traits.emails
@@ -42971,14 +43031,14 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: iFss7A7ucG88Twc32EXFeD
+    - id: fCDx3y3hw7QbXcy3V6SZfh
       sortOrder: 1
       fieldKey: phoneNumbers
       label: Phone Numbers
       type: STRING
       description: >-
         A list of the user's phone numbers. If not already hashed, the system
-        will hash them before use.
+        will hash them before use.. If not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@path': $.context.traits.phoneNumbers
@@ -42987,7 +43047,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: qTKCT6XUuSFQajSLwejHkU
+    - id: kJYdWJAzNGViqxm2zW7MjA
       sortOrder: 2
       fieldKey: zipCodes
       label: ZIP Codes
@@ -43001,14 +43061,14 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 2kcE9MKtZmtummRNpy2spq
+    - id: onfADpS459LQU4MZKqsTSk
       sortOrder: 3
       fieldKey: firstName
       label: First Name
       type: STRING
       description: >-
         The user's first name. If not already hashed, the system will hash it
-        before use.
+        before use.. If not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@path': $.context.traits.firstName
@@ -43017,14 +43077,14 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: dyZ2e4MMmk26BfYgZyV76w
+    - id: hyFo73eYZHoSGHvNNEUnk9
       sortOrder: 4
       fieldKey: lastName
       label: Last Name
       type: STRING
       description: >-
         The user's last name. If not already hashed, the system will hash it
-        before use.
+        before use.. If not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@path': $.context.traits.lastName
@@ -43033,7 +43093,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ieGXJKQdeeaMLKRPosFkKf
+    - id: 9y3d6NvcRBCo5axkUmBWGU
       sortOrder: 5
       fieldKey: countryCode
       label: Country Code
@@ -49477,7 +49537,7 @@ items:
     hidden: true
     defaultTrigger: null
     fields:
-    - id: 5ueE3MjAVgBYrAT6YNktQ6
+    - id: vuY2JxCgHx78xy8KRk8cvU
       sortOrder: 0
       fieldKey: conversion_label
       label: Conversion Label
@@ -49494,7 +49554,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: kM7DYArxJpHpRuPscCsZCx
+    - id: 8nR7HvHQL2m2JM68PahKZ9
       sortOrder: 1
       fieldKey: email
       label: Email
@@ -49515,7 +49575,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: g2xxyc4PFSF9LPL3WSN9Qk
+    - id: 9gxNvkAUeBjhFyXwNxVqqf
       sortOrder: 2
       fieldKey: transaction_id
       label: Order ID
@@ -49534,7 +49594,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: wD32teoizPEa7eCsvJiBW8
+    - id: xbpsYu6xFcNNhLjoD2TyPj
       sortOrder: 3
       fieldKey: user_agent
       label: User Agent
@@ -49554,7 +49614,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: mVYg5W35oKjVfqWqnSr4ca
+    - id: eeJT48f1vqbLydia4rLxvy
       sortOrder: 4
       fieldKey: conversion_time
       label: Conversion Time
@@ -49569,7 +49629,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: vHrFpcKzJ53dhu8Rg1vKHV
+    - id: jCEsjDgS6VpLc9VF6T3Mc6
       sortOrder: 5
       fieldKey: value
       label: Value
@@ -49584,7 +49644,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: xoaPCBmoby8ieRadaLaenu
+    - id: wMiH9LJwHazMmRd3vws75w
       sortOrder: 6
       fieldKey: currency_code
       label: Currency Code
@@ -49601,7 +49661,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 8DHnAPNjQ52JN1fX8isTG5
+    - id: tKrVcYUju9NtA8dGPMXkQg
       sortOrder: 7
       fieldKey: is_app_incrementality
       label: App Conversion for Incrementality Study
@@ -49615,7 +49675,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: jvbdwyE7gBD2ysUUPmAmHr
+    - id: m5aDgmksQA2FgkoCVNq2S8
       sortOrder: 8
       fieldKey: pcc_game
       label: PCC Game Flag
@@ -49631,7 +49691,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: ggzcfRSedXaigAhzcP4HTF
+    - id: bsymLV4opHDYuR7He147MU
       sortOrder: 9
       fieldKey: phone_number
       label: Phone Number
@@ -49654,7 +49714,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: htKqJWwEN92HdwhXAYyyUr
+    - id: vhHaoeWdWTyMRtQKvUJn7Y
       sortOrder: 10
       fieldKey: first_name
       label: First Name
@@ -49675,7 +49735,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: u6BrePk4zCWVNSYQMc6ns3
+    - id: gpZ6NGrUzMeS89bxLS8jgy
       sortOrder: 11
       fieldKey: last_name
       label: Last Name
@@ -49696,12 +49756,14 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: jbjDj7k5vDs7CBsN8mZgde
+    - id: gcDa7Jr27apnZMfqye7tgb
       sortOrder: 12
       fieldKey: street_address
       label: Street Address
       type: STRING
-      description: Street address of the individual who triggered the conversion event.
+      description: >-
+        Street address of the individual who triggered the conversion event.. If
+        not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -49717,7 +49779,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: oAgCTwSr8aYPS4UD2DXxVv
+    - id: aA5b9ey3q5Vzg9skkfSAGC
       sortOrder: 13
       fieldKey: city
       label: City
@@ -49738,7 +49800,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: gBxbszMS4stihFBWn9UE7z
+    - id: akMJdMJYhZwasZSq5CVUXv
       sortOrder: 14
       fieldKey: region
       label: Region
@@ -49759,7 +49821,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 4tMZ4JhiT13QgDF9m4J8uh
+    - id: fZaRCpUhYBhDBSZKW2Mdh3
       sortOrder: 15
       fieldKey: post_code
       label: Postal Code
@@ -49780,7 +49842,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: u316ZK5WdVWDvVGxn2TeeQ
+    - id: xpguSoPdf6L6ZFP5nyVgmt
       sortOrder: 16
       fieldKey: country
       label: Country
@@ -49809,7 +49871,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: dtFGGRC5JRZP233Fxk99sr
+    - id: iwqhpWxJbpCHt4YoBeKAE9
       sortOrder: 0
       fieldKey: conversion_action
       label: Conversion Action ID
@@ -49822,7 +49884,7 @@ items:
       dynamic: true
       allowNull: false
       hidden: false
-    - id: jJnH9fkfzov4DztuQgrSUA
+    - id: osKntTTznAwTPs62vrwEXq
       sortOrder: 1
       fieldKey: adjustment_type
       label: Adjustment Type
@@ -49848,7 +49910,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: npQTrbkbZJ7dq7ZNuqYJcG
+    - id: bJyNtfUvCyUcmvZ9D2muNE
       sortOrder: 2
       fieldKey: adjustment_timestamp
       label: Adjustment Timestamp
@@ -49867,7 +49929,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: droTPffE1EdotcqS7YVdXC
+    - id: fdVMv56HM4hwopXdFnYJ4w
       sortOrder: 3
       fieldKey: order_id
       label: Order ID
@@ -49891,7 +49953,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 78SkfjFEasweBsLgoKGdw2
+    - id: V7CAavECCkjZqNkdrxVLr
       sortOrder: 4
       fieldKey: gclid
       label: GCLID
@@ -49906,7 +49968,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: khXTPkFoViJp1UKxz4q4WK
+    - id: vvg2U9grm7v4BWPA7wG6ch
       sortOrder: 5
       fieldKey: conversion_timestamp
       label: Conversion Timestamp
@@ -49923,7 +49985,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: sM22JhV99bPUhVvBFhpezG
+    - id: g4Q5FRsVxas4KbXM8wRcA6
       sortOrder: 6
       fieldKey: restatement_value
       label: Restatement Value
@@ -49940,7 +50002,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: Jv9UCka1KwtUPxUk5QNSZ
+    - id: vHR83XhhzNi2davqFwHr59
       sortOrder: 7
       fieldKey: restatement_currency_code
       label: Restatement Currency Code
@@ -49957,14 +50019,14 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: QWEqySvZGubVGBZiu7FEU
+    - id: 7283Z61NRi56i2DPtWMd2a
       sortOrder: 8
       fieldKey: email_address
       label: Email Address
       type: STRING
       description: >-
-        Email address of the individual who triggered the conversion event.
-        Segment will hash this value before sending to Google.
+        Email address of the individual who triggered the conversion event.. If
+        not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -49980,15 +50042,30 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: jZkCMJf5mFfFcWvRNS7gNP
+    - id: 3g5ZqTwLMAxHfeqDbiSjYK
       sortOrder: 9
+      fieldKey: phone_country_code
+      label: Phone Number Country Code
+      type: STRING
+      description: >-
+        The numeric country code to associate with the phone number. If not
+        provided Segment will default to '+1'. If the country code does not
+        start with '+' Segment will add it.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: sywAMZDDxVuMxCLdkdWt6P
+      sortOrder: 10
       fieldKey: phone_number
       label: Phone Number
       type: STRING
       description: >-
         Phone number of the individual who triggered the conversion event, in
-        E.164 standard format, e.g. +14150000000. Segment will hash this value
-        before sending to Google.
+        E.164 standard format, e.g. +14150000000. If not hashed, Segment will
+        hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -50004,14 +50081,12 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: VkKGx5YhAiLyLkTqWJgA2
-      sortOrder: 10
+    - id: 27Bvvy14t5XZvv7h6nQ5vG
+      sortOrder: 11
       fieldKey: first_name
       label: First Name
       type: STRING
-      description: >-
-        First name of the user who performed the conversion. Segment will hash
-        this value before sending to Google.
+      description: First name of the user who performed the conversion
       placeholder: ''
       defaultValue:
         '@if':
@@ -50027,14 +50102,14 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: ubYkEjoZeXcP2gqrfvF8A9
-      sortOrder: 11
+    - id: p2ouzLA41RDs451JvbHtvK
+      sortOrder: 12
       fieldKey: last_name
       label: Last Name
       type: STRING
       description: >-
-        Last name of the user who performed the conversion. Segment will hash
-        this value before sending to Google.
+        Last name of the user who performed the conversion. If not hashed,
+        Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -50050,8 +50125,8 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: nvajRmzRKACgiu4VEpbyWE
-      sortOrder: 12
+    - id: bTWWaqMoqHWRPniV58q5Zn
+      sortOrder: 13
       fieldKey: city
       label: City
       type: STRING
@@ -50071,8 +50146,8 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: d4x6zds99JGx91hunNZGas
-      sortOrder: 13
+    - id: DtxPpQCX3hFkaiDv5wRoP
+      sortOrder: 14
       fieldKey: state
       label: State
       type: STRING
@@ -50092,8 +50167,8 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: ddNBBbht7Db888p1pzc5p
-      sortOrder: 14
+    - id: 312ruMzDJP8B7M7Z8X9Uc9
+      sortOrder: 15
       fieldKey: country
       label: Country
       type: STRING
@@ -50115,8 +50190,8 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: mY5DePyaEHtPGMF86DF1wy
-      sortOrder: 15
+    - id: 7NFWmqDyZmnCihfCbw51Mg
+      sortOrder: 16
       fieldKey: postal_code
       label: Postal Code
       type: STRING
@@ -50136,14 +50211,12 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: jwrCMUHWU3NgepVfuqk4pf
-      sortOrder: 16
+    - id: 2a11Y1Uz5gidvJ4LjZecyP
+      sortOrder: 17
       fieldKey: street_address
       label: Street Address
       type: STRING
-      description: >-
-        Street address of the user who performed the conversion. Segment will
-        hash this value before sending to Google.
+      description: Street address of the user who performed the conversion
       placeholder: ''
       defaultValue:
         '@if':
@@ -50159,8 +50232,8 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: pg1JCZ8UKzttEYRqgPvQmx
-      sortOrder: 17
+    - id: uToUUsjKLZqH45hNBvTbbc
+      sortOrder: 18
       fieldKey: user_agent
       label: User Agent
       type: STRING
@@ -50187,7 +50260,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: pHDzShk2F3NH632fmoQozi
+    - id: tnzUuE5Kdv8ffVUJEEZWmA
       sortOrder: 0
       fieldKey: conversion_action
       label: Conversion Action ID
@@ -50200,7 +50273,7 @@ items:
       dynamic: true
       allowNull: false
       hidden: false
-    - id: p1hND1YUqr7rRGvjbJLbic
+    - id: xscGRMrqhWTxPwDr7ZPxYs
       sortOrder: 1
       fieldKey: gclid
       label: GCLID
@@ -50213,7 +50286,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: aHGJxwmyTJ2Txu1c3A83H2
+    - id: q6fD8yZM1zCSnG7oiXMqhC
       sortOrder: 2
       fieldKey: gbraid
       label: GBRAID
@@ -50228,7 +50301,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: sH2FAxKzucpvxASupZUEr1
+    - id: pahjc1QtDpuHRbaksJgaQY
       sortOrder: 3
       fieldKey: wbraid
       label: WBRAID
@@ -50243,7 +50316,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: hrnj9p7SnpDKGGP6NgDjAs
+    - id: kFdZMNWPtV732Vapc9MMNw
       sortOrder: 4
       fieldKey: conversion_timestamp
       label: Conversion Timestamp
@@ -50261,14 +50334,14 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: aKSXDWa1KQVtt3XGu2PPa7
+    - id: jDp9oejxLHQNVYfQuGG8Vv
       sortOrder: 5
       fieldKey: email_address
       label: Email Address
       type: STRING
       description: >-
-        Email address of the individual who triggered the conversion event.
-        Segment will hash this value before sending to Google.
+        Email address of the individual who triggered the conversion event. If
+        not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -50284,15 +50357,30 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: qg18VrseiccxNj4NgPxrhP
+    - id: p8ocFJAQy7VJyQ6os3XkW1
       sortOrder: 6
+      fieldKey: phone_country_code
+      label: Phone Number Country Code
+      type: STRING
+      description: >-
+        The numeric country code to associate with the phone number. If not
+        provided Segment will default to '+1'. If the country code does not
+        start with '+' Segment will add it.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: g3cHRZrgVZLtdPDPt1cQXU
+      sortOrder: 7
       fieldKey: phone_number
       label: Phone Number
       type: STRING
       description: >-
         Phone number of the individual who triggered the conversion event, in
-        E.164 standard format, e.g. +14150000000. Segment will hash this value
-        before sending to Google.
+        E.164 standard format, e.g. +14150000000. If not hashed, Segment will
+        hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -50308,8 +50396,8 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: ae4jjq6tvKtKDuV5LmN6UU
-      sortOrder: 7
+    - id: dWB4fK7wTrFpDE2uYLjcsf
+      sortOrder: 8
       fieldKey: order_id
       label: Order ID
       type: STRING
@@ -50331,8 +50419,8 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: mMXnYVFA6st2AN5zAiKbQ3
-      sortOrder: 8
+    - id: uKYhVJUjWoQKAxQKJC2XhC
+      sortOrder: 9
       fieldKey: value
       label: Value
       type: NUMBER
@@ -50346,8 +50434,8 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: qiT3nfRCah7N4LH2z98rWN
-      sortOrder: 9
+    - id: mWRfBwNH9L3BzRzyNTXYeh
+      sortOrder: 10
       fieldKey: currency
       label: Currency
       type: STRING
@@ -50363,8 +50451,8 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 5i3q12yDWBVLicAQ3nh18Z
-      sortOrder: 10
+    - id: cQ4vGnVvvQPtWjKQA39CH9
+      sortOrder: 11
       fieldKey: conversion_environment
       label: Conversion Environment
       type: STRING
@@ -50386,8 +50474,8 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 8dLiZK3bSe6RtUrkFEimDU
-      sortOrder: 11
+    - id: rXTGRtq539b6K6wJFKrVfb
+      sortOrder: 12
       fieldKey: merchant_id
       label: Merchant Center ID
       type: STRING
@@ -50399,8 +50487,8 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: jEWR5oqdeH4JnxsdcxdmgP
-      sortOrder: 12
+    - id: ofRuYTLRnHBCQrkMjT4vFp
+      sortOrder: 13
       fieldKey: merchant_country_code
       label: Merchant Center Feed Country Code
       type: STRING
@@ -50414,8 +50502,8 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: fZ5DtfDDdzvUVE4mJAENra
-      sortOrder: 13
+    - id: 9de93BPGzPbRkCKd1ba4c8
+      sortOrder: 14
       fieldKey: merchant_language_code
       label: Merchant Center Feed Language Code
       type: STRING
@@ -50429,8 +50517,8 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: cHPuzWHSXVkdWdc4Lmbf4L
-      sortOrder: 14
+    - id: hhT5KGFrEaupgh2NzC34H9
+      sortOrder: 15
       fieldKey: local_cost
       label: Local Transaction Cost
       type: NUMBER
@@ -50444,8 +50532,8 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: dCwt2UYwWdneUqBHVEtvB9
-      sortOrder: 15
+    - id: 4t7ZBaBNBZsChFPX5Ze5bg
+      sortOrder: 16
       fieldKey: items
       label: Items
       type: OBJECT
@@ -50466,8 +50554,8 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: eWsx433ufPa6KAkNBLCyst
-      sortOrder: 16
+    - id: 5DSDzpCwrdz1WBras9muFz
+      sortOrder: 17
       fieldKey: custom_variables
       label: Custom Variables
       type: OBJECT
@@ -50485,8 +50573,8 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 5GQCzMV1QD7qPVz51pWqNj
-      sortOrder: 17
+    - id: c5u8frYQ7n5NF4BTTv5pYz
+      sortOrder: 18
       fieldKey: ad_user_data_consent_state
       label: Ad User Data Consent State
       type: STRING
@@ -50506,8 +50594,8 @@ items:
         value: UNSPECIFIED
       dynamic: false
       allowNull: false
-    - id: bESR75A92UYtWK719PtvFK
-      sortOrder: 18
+    - id: 5A75UCT9ufcku7thQdDRyE
+      sortOrder: 19
       fieldKey: ad_personalization_consent_state
       label: Ad Personalization Consent State
       type: STRING
@@ -50536,7 +50624,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: ePU9izWz8B5M1S7KHPNGD7
+    - id: 36t2naXDWiYCkGubGPpRXg
       sortOrder: 0
       fieldKey: conversion_action
       label: Conversion Action ID
@@ -50549,7 +50637,7 @@ items:
       dynamic: true
       allowNull: false
       hidden: false
-    - id: 8cv8EQSEYtrY5j3YjAuqQt
+    - id: eiTY6yJQjKFjALbe8PaFDE
       sortOrder: 1
       fieldKey: caller_id
       label: Caller ID
@@ -50564,7 +50652,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: oCibnB7ckUbHpVYwkcdjbr
+    - id: pUPQB9BKcs2ZvzuzXroJcW
       sortOrder: 2
       fieldKey: call_timestamp
       label: Call Timestamp
@@ -50580,7 +50668,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: sbubniSmiEwsk99NPvAP17
+    - id: qtxzCiTdQnnPwSLVC23iHs
       sortOrder: 3
       fieldKey: conversion_timestamp
       label: Conversion Timestamp
@@ -50598,7 +50686,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: kiESsMLNoZPwh1P3pLhKKg
+    - id: hoSBGcUgpHhpyX2PzWXJWt
       sortOrder: 4
       fieldKey: value
       label: Value
@@ -50613,7 +50701,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: wz8hdDaKi1kdU5ehE1DMSD
+    - id: bWHQ3apoghBKRPoNzGQUT6
       sortOrder: 5
       fieldKey: currency
       label: Currency
@@ -50630,7 +50718,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: mC38zNcc69MoLu58RDuF5t
+    - id: kknEn5MBM6e4gjfSAQJcEU
       sortOrder: 6
       fieldKey: custom_variables
       label: Custom Variables
@@ -50649,7 +50737,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: tiSxeJBL1r7GXPoWzJ9sMf
+    - id: tPEWnv8EJ5ndSm4ZDCzoae
       sortOrder: 7
       fieldKey: ad_user_data_consent_state
       label: Ad User Data Consent State
@@ -50670,7 +50758,7 @@ items:
         value: UNSPECIFIED
       dynamic: false
       allowNull: false
-    - id: dY8P9bfxuKfcgvfogeTTAQ
+    - id: 5B8pZVQv74BvFVduuHMvUR
       sortOrder: 8
       fieldKey: ad_personalization_consent_state
       label: Ad Personalization Consent State
@@ -50700,14 +50788,12 @@ items:
     hidden: false
     defaultTrigger: event = "Audience Entered" or event = "Audience Exited"
     fields:
-    - id: qTzBXk8erDLfY7LrrDVZ7p
+    - id: oYWx4MLjrGHNxesq5UjKmP
       sortOrder: 0
       fieldKey: first_name
       label: First Name
       type: STRING
-      description: >-
-        The user's first name. If not hashed, Segment will normalize and hash
-        this value.
+      description: The user's first name.. If not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -50722,14 +50808,12 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: qSYSrx4a5oEwgHwhqCP5Em
+    - id: 5tsgo3sY6YJzHuWtoDC2F9
       sortOrder: 1
       fieldKey: last_name
       label: Last Name
       type: STRING
-      description: >-
-        The user's last name. If not hashed, Segment will normalize and hash
-        this value.
+      description: The user's last name.. If not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -50744,14 +50828,12 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: v3p2zjzcTPXXvMF7PwDamF
+    - id: uYXUWtApGUqGdRn7eEutHU
       sortOrder: 2
       fieldKey: email
       label: Email
       type: STRING
-      description: >-
-        The user's email address. If not hashed, Segment will normalize and hash
-        this value.
+      description: The user's email address.. If not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -50766,14 +50848,12 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 3jckXy9Nd4MVYLbwecM616
+    - id: 6xKhJLeKbp4yScRy1KfdsY
       sortOrder: 3
       fieldKey: phone
       label: Phone
       type: STRING
-      description: >-
-        The user's phone number. If not hashed, Segment will convert the phone
-        number to the E.164 format and hash this value.
+      description: The user's phone number. . If not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -50788,7 +50868,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 8SLN4kgeAaqDiM6CWVKWMY
+    - id: 5Qe6EYpYLapmkckKbWCzCb
       sortOrder: 4
       fieldKey: phone_country_code
       label: Phone Number Country Code
@@ -50803,7 +50883,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: uWTWyMz5Cek9CcxThA3dEo
+    - id: 78PGR1jNwSkEBjM6q4MvTG
       sortOrder: 5
       fieldKey: country_code
       label: Address Country Code
@@ -50815,7 +50895,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 3N4FfJytbs9qbYZ42CBJuB
+    - id: ecpaULmas8P8skhnUAHeCW
       sortOrder: 6
       fieldKey: postal_code
       label: Postal Code
@@ -50827,7 +50907,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: mBmR9pKvzEHA6Qq6xvMVYG
+    - id: r8pnay8aF4ZonSMyvQXLLh
       sortOrder: 7
       fieldKey: crm_id
       label: CRM ID
@@ -50841,7 +50921,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: nXjQd6SUoqHxVq7AWxDRp7
+    - id: x54HPK2PTQThH39b9447mF
       sortOrder: 8
       fieldKey: mobile_advertising_id
       label: Mobile Advertising ID
@@ -50857,7 +50937,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: mYstnWFpEtXkqQhMtRZHob
+    - id: 78bJNidRQAxHGHwgcYpzuc
       sortOrder: 9
       fieldKey: ad_user_data_consent_state
       label: Ad User Data Consent State
@@ -50878,7 +50958,7 @@ items:
         value: UNSPECIFIED
       dynamic: false
       allowNull: false
-    - id: 3YJPYeNvBz9B8Ec5cxNive
+    - id: n3eNJDuWRALZ16xmwTJeDE
       sortOrder: 10
       fieldKey: ad_personalization_consent_state
       label: Ad Personalization Consent State
@@ -50900,7 +50980,7 @@ items:
         value: UNSPECIFIED
       dynamic: false
       allowNull: false
-    - id: cgeGrne7XpYwR84bMJ5fSA
+    - id: 6XxanLabhuWCMA49SD2vvo
       sortOrder: 15
       fieldKey: list_id
       label: Existing List ID
@@ -50914,7 +50994,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: 4BTPiMi112KzuHu1PUzGC
+    - id: k1H6jnosoMznT8jYntPJD3
       sortOrder: 16
       fieldKey: list_name
       label: List Name
@@ -50926,7 +51006,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 7L7r6CDVw3jrqcQGYLSvgA
+    - id: orHqJoznKfo2Ut73CHuF9j
       sortOrder: 17
       fieldKey: external_id_type
       label: External ID Type
@@ -50945,7 +51025,7 @@ items:
         value: MOBILE_ADVERTISING_ID
       dynamic: false
       allowNull: false
-    - id: dKs5wyZFzPwiLUkFrTZrLx
+    - id: nktcfbBSZ1RMNoXSLicWsi
       sortOrder: 18
       fieldKey: app_id
       label: App ID
@@ -50960,7 +51040,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: sguSBaBE8ZoxLbieCFU4C8
+    - id: v2aL3TUHMQLCo4WqitoLNs
       sortOrder: 19
       fieldKey: retlOnMappingSave
       label: Connect to a Google Customer Match User List
@@ -50983,7 +51063,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: dEx81FLbWtikAkF5DurvH
+    - id: iK2czbQxfrNBEx4ieFeZeL
       sortOrder: 0
       fieldKey: conversion_action
       label: Conversion Action ID
@@ -50995,7 +51075,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: v8daFL74AKGYB31rRNbfUu
+    - id: 2B6FkpkzSF7yAN2qS5tZ9U
       sortOrder: 1
       fieldKey: caller_id
       label: Caller ID
@@ -51009,7 +51089,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: vVck1gKH6LGi3bLbhRveEX
+    - id: 7r7uv8sPwpQUvWoA9immCV
       sortOrder: 2
       fieldKey: call_timestamp
       label: Call Timestamp
@@ -51024,7 +51104,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: oRxEHK28TwZG9GiUVtxu1u
+    - id: vV3m9CwLw82EZhi7Lznihz
       sortOrder: 3
       fieldKey: conversion_timestamp
       label: Conversion Timestamp
@@ -51041,7 +51121,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: hYQhCFjpsfuu4AzeGQRDji
+    - id: kNbKxW5wvwGtkYoAaL1Shj
       sortOrder: 4
       fieldKey: value
       label: Value
@@ -51055,7 +51135,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: giLuEmfnrZF5Pjk9FsjfdN
+    - id: pV4Qi8vWoNxVRj4zsLyXLd
       sortOrder: 5
       fieldKey: currency
       label: Currency
@@ -51071,7 +51151,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: uV7oNwBoX4rrarV6ZXZph5
+    - id: dfWMUZFHMQGyoUcYkDkjV1
       sortOrder: 6
       fieldKey: custom_variables
       label: Custom Variables
@@ -51089,7 +51169,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: rcb3oEVYNuJpRJD3NY1XNb
+    - id: 6qSBtgsKdXmnx3xXehZrpX
       sortOrder: 7
       fieldKey: ad_user_data_consent_state
       label: Ad User Data Consent State
@@ -51110,7 +51190,7 @@ items:
         value: UNSPECIFIED
       dynamic: false
       allowNull: false
-    - id: nA99PnL1MBiJGTfKH3hWrM
+    - id: 8g2pXNZDibSoEAiv28BXjp
       sortOrder: 8
       fieldKey: ad_personalization_consent_state
       label: Ad Personalization Consent State
@@ -51140,7 +51220,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: fU42aUrxfaqBsXLmQ177Xu
+    - id: ftB5dK59rUtxbrLZJJg2fw
       sortOrder: 0
       fieldKey: conversion_action
       label: Conversion Action ID
@@ -51152,7 +51232,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: 5CHZ4HqiBzgC1eQrsMnHT
+    - id: 7fSDcV4MrzWrFdy92phcx8
       sortOrder: 1
       fieldKey: adjustment_type
       label: Adjustment Type
@@ -51177,7 +51257,7 @@ items:
         value: ENHANCEMENT
       dynamic: false
       allowNull: false
-    - id: 3NfCKBEjfZZXrAmQi1Rf2N
+    - id: wsXPaqPP9sS91sFXy3raKs
       sortOrder: 2
       fieldKey: adjustment_timestamp
       label: Adjustment Timestamp
@@ -51195,7 +51275,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: fLEJD2as84myrhPtr5dsT
+    - id: 5PNk7cBVbbNZd2T4MuMX9S
       sortOrder: 3
       fieldKey: order_id
       label: Order ID
@@ -51218,7 +51298,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: unmmebQAsKjYYUB5FTaypM
+    - id: rynJNWE89FNGFY5XWajjYq
       sortOrder: 4
       fieldKey: gclid
       label: GCLID
@@ -51232,7 +51312,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: wMqH9Vqux5zZmEZVgMd8Gu
+    - id: rEkNJ9F6kuCAHSTMEMBwnv
       sortOrder: 5
       fieldKey: conversion_timestamp
       label: Conversion Timestamp
@@ -51248,7 +51328,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 7G1QtKCPvqJi5kq9Y7Hdgf
+    - id: qvuCC98xTZ5d7hpYHi3m3H
       sortOrder: 6
       fieldKey: restatement_value
       label: Restatement Value
@@ -51264,7 +51344,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 9x3gkj51CNEn17y4jUQAb3
+    - id: s6d6fu9MCjYtoDPS4juEws
       sortOrder: 7
       fieldKey: restatement_currency_code
       label: Restatement Currency Code
@@ -51280,14 +51360,29 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: sGZwQtgq8DXags6k5QvFGn
+    - id: 4B7qJDWmUFs5WbXv5JHEid
       sortOrder: 8
+      fieldKey: phone_country_code
+      label: Phone Number Country Code
+      type: STRING
+      description: >-
+        The numeric country code to associate with the phone number. If not
+        provided Segment will default to '+1'. If the country code does not
+        start with '+' Segment will add it.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: ri9Zkyi9PjCGqW6ZT6CH2X
+      sortOrder: 9
       fieldKey: email_address
       label: Email Address
       type: STRING
       description: >-
-        Email address of the individual who triggered the conversion event.
-        Segment will hash this value before sending to Google.
+        Email address of the individual who triggered the conversion event.. If
+        not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -51302,15 +51397,15 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: piGrPcmFYmHfZsN4t2royS
-      sortOrder: 9
+    - id: aBrNHUVHR7YuQ8w3uX5sCj
+      sortOrder: 10
       fieldKey: phone_number
       label: Phone Number
       type: STRING
       description: >-
         Phone number of the individual who triggered the conversion event, in
-        E.164 standard format, e.g. +14150000000. Segment will hash this value
-        before sending to Google.
+        E.164 standard format, e.g. +14150000000.. If not hashed, Segment will
+        hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -51325,14 +51420,12 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: izUeWKMEP2jergtu3EyqhX
-      sortOrder: 10
+    - id: x37UBLPdGdAGDABwTvgZVu
+      sortOrder: 11
       fieldKey: first_name
       label: First Name
       type: STRING
-      description: >-
-        First name of the user who performed the conversion. Segment will hash
-        this value before sending to Google.
+      description: First name of the user who performed the conversion.
       placeholder: ''
       defaultValue:
         '@if':
@@ -51347,14 +51440,14 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: nvybcqVmYCKBsKNA9n66R4
-      sortOrder: 11
+    - id: izXpxqWDy6NypgQUddaGAX
+      sortOrder: 12
       fieldKey: last_name
       label: Last Name
       type: STRING
       description: >-
-        Last name of the user who performed the conversion. Segment will hash
-        this value before sending to Google.
+        Last name of the user who performed the conversion.. If not hashed,
+        Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -51369,8 +51462,8 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 4s6ALRg9v4tYGXCjUwKG7j
-      sortOrder: 12
+    - id: keLSebQRviQgGHkYq1B8nq
+      sortOrder: 13
       fieldKey: city
       label: City
       type: STRING
@@ -51389,8 +51482,8 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: fNQQoL6qjjFyy6bKY8uouk
-      sortOrder: 13
+    - id: nD4njBCSVcs4hRXcw3xQKe
+      sortOrder: 14
       fieldKey: state
       label: State
       type: STRING
@@ -51409,8 +51502,8 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: monDqqNjDWHGveF7JYaCAZ
-      sortOrder: 14
+    - id: h7zFzhYqkgPhGMVKtn2rdN
+      sortOrder: 15
       fieldKey: country
       label: Country
       type: STRING
@@ -51431,8 +51524,8 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: setoLhpkny5rATrg67pY7H
-      sortOrder: 15
+    - id: q4VVU1fb7Bam1eFjbFGXBx
+      sortOrder: 16
       fieldKey: postal_code
       label: Postal Code
       type: STRING
@@ -51451,14 +51544,14 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 4Wd9maUekqS2JbPkKUxXja
-      sortOrder: 16
+    - id: 8yjWCuuqfW1L9Nv5bp8Vmg
+      sortOrder: 17
       fieldKey: street_address
       label: Street Address
       type: STRING
       description: >-
-        Street address of the user who performed the conversion. Segment will
-        hash this value before sending to Google.
+        Street address of the user who performed the conversion.. If not hashed,
+        Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -51473,8 +51566,8 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: t98kQJHborToikAjmQjFeG
-      sortOrder: 17
+    - id: 3RKf52666fTYDuy1ZGoFpk
+      sortOrder: 18
       fieldKey: user_agent
       label: User Agent
       type: STRING
@@ -51500,7 +51593,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: 4HmGyAYGL57SbTfEgQ1VzQ
+    - id: agUPAYq9kc9qAULZPSDeb9
       sortOrder: 0
       fieldKey: conversion_action
       label: Conversion Action ID
@@ -51512,7 +51605,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: mAFxUikeT9XwKNWhxSJaty
+    - id: afTs4g78isy3Hr6VAce51E
       sortOrder: 1
       fieldKey: gclid
       label: GCLID
@@ -51524,7 +51617,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: eHEV9RjtT4kgWoSihhpZje
+    - id: hRUWoiuH1vqC7z29zJjuCe
       sortOrder: 2
       fieldKey: gbraid
       label: GBRAID
@@ -51538,7 +51631,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: dGmcbzReGzgH2LkH5AvsE4
+    - id: mA7K9ad1vrdG8YFhWxqJsy
       sortOrder: 3
       fieldKey: wbraid
       label: WBRAID
@@ -51552,7 +51645,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: rduwYT6UtpoGmRMDkUEedA
+    - id: 2V9bH39nGa6pPpPey3STjX
       sortOrder: 4
       fieldKey: conversion_timestamp
       label: Conversion Timestamp
@@ -51569,14 +51662,14 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: agpG2HBUAXGRLnqn4zLmMV
+    - id: onr824dVJHtxXJ7wnjejNz
       sortOrder: 5
       fieldKey: email_address
       label: Email Address
       type: STRING
       description: >-
-        Email address of the individual who triggered the conversion event.
-        Segment will hash this value before sending to Google.
+        Email address of the individual who triggered the conversion event. If
+        not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -51591,15 +51684,30 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: RzF9Gh82VtH3zJrWL7cH8
+    - id: 9xDSRz3KtKW6DsitAcMeaz
       sortOrder: 6
+      fieldKey: phone_country_code
+      label: Phone Number Country Code
+      type: STRING
+      description: >-
+        The numeric country code to associate with the phone number. If not
+        provided Segment will default to '+1'. If the country code does not
+        start with '+' Segment will add it.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: vdUEWcZ8dzmzdQohi4zgGR
+      sortOrder: 7
       fieldKey: phone_number
       label: Phone Number
       type: STRING
       description: >-
         Phone number of the individual who triggered the conversion event, in
-        E.164 standard format, e.g. +14150000000. Segment will hash this value
-        before sending to Google.
+        E.164 standard format, e.g. +14150000000. If not hashed, Segment will
+        hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -51614,8 +51722,8 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: kddB1uCKRRsgohaSMHoYNq
-      sortOrder: 7
+    - id: tbzUQ2EKguSVmZQaDNfiGj
+      sortOrder: 8
       fieldKey: order_id
       label: Order ID
       type: STRING
@@ -51636,8 +51744,8 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 8YPRpCnPLB5u4ur8kbGixm
-      sortOrder: 8
+    - id: f6GR6d1CURdCum2HpS1dXx
+      sortOrder: 9
       fieldKey: value
       label: Value
       type: NUMBER
@@ -51650,8 +51758,8 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: iiH6kqUgqt97CBBziBQTMh
-      sortOrder: 9
+    - id: 6UiH5aqDgoxeY4PPXWCPSb
+      sortOrder: 10
       fieldKey: currency
       label: Currency
       type: STRING
@@ -51666,8 +51774,8 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ey9HiJaiyXiTAF8P7PasT9
-      sortOrder: 10
+    - id: hWvr6ksYikSJ17EoaM1xQi
+      sortOrder: 11
       fieldKey: conversion_environment
       label: Conversion Environment
       type: STRING
@@ -51688,8 +51796,8 @@ items:
         value: UNSPECIFIED
       dynamic: false
       allowNull: false
-    - id: n9xyGKoAxwqgs1uZqKeSq5
-      sortOrder: 11
+    - id: qtmYgcMDwRgtX7HVd7Udkd
+      sortOrder: 12
       fieldKey: merchant_id
       label: Merchant Center ID
       type: STRING
@@ -51700,8 +51808,8 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 2sxDYgizfQFrQDsJGURquK
-      sortOrder: 12
+    - id: iW4cp8bvR5Ex844MEZDp9X
+      sortOrder: 13
       fieldKey: merchant_country_code
       label: Merchant Center Feed Country Code
       type: STRING
@@ -51714,8 +51822,8 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: pLmJvrL2dKNpUvM6TNxtJW
-      sortOrder: 13
+    - id: m5sn8RVSm7MJVnZGQ1eAwj
+      sortOrder: 14
       fieldKey: merchant_language_code
       label: Merchant Center Feed Language Code
       type: STRING
@@ -51728,8 +51836,8 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: v3uHVwwr8BXfDQGYGUZGdA
-      sortOrder: 14
+    - id: qWhU7tizVz238mWpbXc2v4
+      sortOrder: 15
       fieldKey: local_cost
       label: Local Transaction Cost
       type: NUMBER
@@ -51742,8 +51850,8 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5Q2istMHUnrFyqpsC8q3rV
-      sortOrder: 15
+    - id: oNzuEsJWSLLWAywSaxAY6Z
+      sortOrder: 16
       fieldKey: items
       label: Items
       type: OBJECT
@@ -51763,8 +51871,8 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: uH5ZQthbZ88i4NvJvDGmgQ
-      sortOrder: 16
+    - id: i7CzF8DTXj85uQ3okX9Dxe
+      sortOrder: 17
       fieldKey: custom_variables
       label: Custom Variables
       type: OBJECT
@@ -51781,8 +51889,8 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: kQ7oFB7hCP4dEb1WzV9E5S
-      sortOrder: 17
+    - id: 9xsEC4giYEJkHCKmnUAXAH
+      sortOrder: 18
       fieldKey: ad_user_data_consent_state
       label: Ad User Data Consent State
       type: STRING
@@ -51802,8 +51910,8 @@ items:
         value: UNSPECIFIED
       dynamic: false
       allowNull: false
-    - id: pXnaWZhRTsZStSNRXW2KSi
-      sortOrder: 18
+    - id: gLwkA9NYWsNRRBf3QGyeHi
+      sortOrder: 19
       fieldKey: ad_personalization_consent_state
       label: Ad Personalization Consent State
       type: STRING
@@ -70130,7 +70238,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event != "Order Completed" and event != "Cart Updated"
     fields:
-    - id: uagAHBf16yEVixBTHEVGzK
+    - id: m9pyjCg2ARTNrbmTPVeyxp
       sortOrder: 0
       fieldKey: email
       label: Email Address
@@ -70151,7 +70259,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: fkFgJQj6iD3VB5shgnoXEp
+    - id: u88j55coNKMGob5A2PLYwE
       sortOrder: 1
       fieldKey: userId
       label: User ID
@@ -70166,7 +70274,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: oTT6acRsG7rnPXWVnLuqwB
+    - id: fbKMMajEaECXTSrpDHY5cy
       sortOrder: 2
       fieldKey: eventName
       label: Event name
@@ -70181,7 +70289,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 7yVcFVKts14tBtgYGzbq4X
+    - id: 51f9eoAeouNnAjjmrpsvzT
       sortOrder: 3
       fieldKey: dataFields
       label: Event Data Fields
@@ -70196,7 +70304,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: qtwSkFsmfkBFnAoKFf88P
+    - id: hVws5hSyD9QEmDNxFoqd8F
       sortOrder: 4
       fieldKey: id
       label: Event ID
@@ -70211,7 +70319,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: dWPxLsWpe32FZhMbpLKvq5
+    - id: ffmF8PA7WRdPeHvUN2po6N
       sortOrder: 5
       fieldKey: createdAt
       label: Timestamp
@@ -70226,7 +70334,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 8V5rJMi2asReRYokswBhSQ
+    - id: q4qegdFqpsmTs2G5i82Rsr
       sortOrder: 6
       fieldKey: campaignId
       label: Campaign ID
@@ -70241,7 +70349,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: ioE6Rd13Y8f8i7kRm8YHpV
+    - id: mSQyypKSg83hHtzMq78E5Y
       sortOrder: 7
       fieldKey: templateId
       label: Template ID
@@ -70256,7 +70364,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 2mntQJwHx4QANyP2Mtb5EN
+    - id: 4S83mDXcwLMHntbZ2y4zmk
       sortOrder: 8
       fieldKey: enable_batching
       label: Enable Batching
@@ -70279,7 +70387,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event == "Cart Updated"
     fields:
-    - id: gX6RQteoLkjPs2Zrs4z4mY
+    - id: hbrgq6xQ4WTbuNJ7iMXZwi
       sortOrder: 0
       fieldKey: user
       label: User Data
@@ -70308,7 +70416,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: aa8EbkGoiCunjmNebxb5Az
+    - id: i6FrPmxVriVxD1XkeXagbc
       sortOrder: 1
       fieldKey: items
       label: Cart items
@@ -70352,7 +70460,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event == "Order Completed"
     fields:
-    - id: xkTE8hk54UTNJ3yypuumhQ
+    - id: rvSJjQ51dFX81RLn1Bg12A
       sortOrder: 0
       fieldKey: id
       label: Order ID
@@ -70371,7 +70479,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: a5F6VyENwoFBLUG5qcwXjs
+    - id: ijec45m9AeQo25Ti8T7uk5
       sortOrder: 1
       fieldKey: user
       label: User Data
@@ -70400,7 +70508,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: x1yPxUvBY8GWA24SfMtGNC
+    - id: iunsPL8S6vWHFp4nj1QHte
       sortOrder: 2
       fieldKey: dataFields
       label: Event Data Fields
@@ -70415,7 +70523,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: twyWydPDxY96JmSEKpRVca
+    - id: oXN6cJy6XvBJhfK7SnrAbv
       sortOrder: 3
       fieldKey: items
       label: Cart items
@@ -70451,7 +70559,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: aLot9kLy4w9rt7mA686gH9
+    - id: 485PsfJzgfzyArGLvqT3B3
       sortOrder: 4
       fieldKey: total
       label: Total
@@ -70466,7 +70574,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: fvcLGURCPBK697FWfozPLU
+    - id: fKAatFAeAkGrGrsWFW17YK
       sortOrder: 5
       fieldKey: createdAt
       label: Timestamp
@@ -70481,7 +70589,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 35EL1uaQi1UFG2GS44SGwW
+    - id: qmS6DSJDab1gTYMGq7KH6d
       sortOrder: 6
       fieldKey: campaignId
       label: Campaign ID
@@ -70496,7 +70604,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: owi85j9Ug1HNQQJ5daaHTx
+    - id: wWYfRfzYigoK3bHuCRsdsE
       sortOrder: 7
       fieldKey: templateId
       label: Template ID
@@ -70519,7 +70627,7 @@ items:
     hidden: false
     defaultTrigger: type = "identify"
     fields:
-    - id: cEpTtsRuTBpNWghMVpmEzv
+    - id: bud7p7v15JFu6BdydgGmF3
       sortOrder: 0
       fieldKey: email
       label: Email Address
@@ -70534,7 +70642,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 8Fk9rCjqjGhDrvnvLYpC3e
+    - id: dF7JYfzhRSVf3H5o8iNmCF
       sortOrder: 1
       fieldKey: userId
       label: User ID
@@ -70549,7 +70657,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: r9KLpoLkpFAirBUEFeHuHA
+    - id: aJJ3Z4EbBNN6jfHz7yuMqT
       sortOrder: 2
       fieldKey: dataFields
       label: User Data Fields
@@ -70564,7 +70672,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: r8HtLj4j9VCxE8yiY7KuNk
+    - id: bj7ru4KHJjwhc2Rx4mQSxR
       sortOrder: 3
       fieldKey: phoneNumber
       label: User Phone Number
@@ -70581,7 +70689,7 @@ items:
       dynamic: false
       allowNull: true
       hidden: false
-    - id: ottN1aR7P5eqxVDRwYaLGj
+    - id: jCeusC18sDFKujpJwqNvh2
       sortOrder: 4
       fieldKey: mergeNestedObjects
       label: Merge Nested Objects
@@ -70598,7 +70706,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: pr2XnTsYdBCQx39iUXXLEZ
+    - id: jQ1e4qVCmfnyY9BERSpsmc
       sortOrder: 5
       fieldKey: enable_batching
       label: Enable Batching
@@ -70614,47 +70722,6 @@ items:
       dynamic: false
       allowNull: false
   presets:
-  - actionId: 455R6caawb6HFBsewGmtS3
-    name: Update Cart Calls
-    fields:
-      user:
-        email:
-          '@if':
-            exists:
-              '@path': $.properties.email
-            then:
-              '@path': $.properties.email
-            else:
-              '@path': $.context.traits.email
-        userId:
-          '@path': $.userId
-        dataFields:
-          '@path': $.context.traits
-        phoneNumber:
-          '@path': $.context.traits.phone
-        mergeNestedObjects: false
-      items:
-        '@arrayPath':
-        - $.properties.products
-        - id:
-            '@path': product_id
-          sku:
-            '@path': sku
-          categories:
-            '@path': category
-          name:
-            '@path': name
-          price:
-            '@path': price
-          quantity:
-            '@path': quantity
-          url:
-            '@path': url
-          imageUrl:
-            '@path': image_url
-          description:
-            '@path': description
-    trigger: type = "track" and event = "Cart Updated"
   - actionId: hgu8jn8qk4wt7VZD4P67uV
     name: Order Completed Calls
     fields:
@@ -70751,6 +70818,47 @@ items:
       enable_batching: true
       batch_size: 1001
     trigger: type = "track" and event != "Order Completed" and event != "Cart Updated"
+  - actionId: 455R6caawb6HFBsewGmtS3
+    name: Update Cart Calls
+    fields:
+      user:
+        email:
+          '@if':
+            exists:
+              '@path': $.properties.email
+            then:
+              '@path': $.properties.email
+            else:
+              '@path': $.context.traits.email
+        userId:
+          '@path': $.userId
+        dataFields:
+          '@path': $.context.traits
+        phoneNumber:
+          '@path': $.context.traits.phone
+        mergeNestedObjects: false
+      items:
+        '@arrayPath':
+        - $.properties.products
+        - id:
+            '@path': product_id
+          sku:
+            '@path': sku
+          categories:
+            '@path': category
+          name:
+            '@path': name
+          price:
+            '@path': price
+          quantity:
+            '@path': quantity
+          url:
+            '@path': url
+          imageUrl:
+            '@path': image_url
+          description:
+            '@path': description
+    trigger: type = "track" and event = "Cart Updated"
   partnerOwned: true
 - id: 62fec615a42fa3dbfd208ce7
   display_name: Iterate Web (Actions)
@@ -72134,7 +72242,7 @@ items:
     type: boolean
     defaultValue: true
     description: Indicates if SSL should be enabled.
-    required: true
+    required: false
     label: SSL Enabled
   - name: ssl_key
     type: string
@@ -72151,7 +72259,7 @@ items:
     description: >-
       Whether to reject unauthorized CAs or not. This can be useful when
       testing, but is unadvised in Production.
-    required: true
+    required: false
     label: SSL - Reject Unauthorized Certificate Authority
   - name: username
     type: string
@@ -72172,7 +72280,7 @@ items:
       type = "track" or type = "identify" or type = "page" or type = "screen" or
       type = "group"
     fields:
-    - id: iGoSy97kN5Jagq7RCWiqh9
+    - id: rpZx7yusdJ9rDLNZWpqKbp
       sortOrder: 0
       fieldKey: topic
       label: Topic
@@ -72186,7 +72294,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: pq2rTH6nhfdJKc9skbVF3y
+    - id: jek3rN3NM43ABDQwNGDj6T
       sortOrder: 1
       fieldKey: payload
       label: Payload
@@ -72200,7 +72308,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 8o9pF9931iv1T657Z6fMJr
+    - id: 6wcAra8MykYWL5WbsLYtSb
       sortOrder: 2
       fieldKey: headers
       label: Headers
@@ -72214,7 +72322,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: wEGVh8neXojm1kJHX78GfM
+    - id: mvT1o1a3d5974wRxa181HV
       sortOrder: 3
       fieldKey: partition
       label: Partition
@@ -72226,7 +72334,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: w1QoTBCDDL64zV5Gof2Ukk
+    - id: eXphzZzwSWdBg46Be7dXVN
       sortOrder: 4
       fieldKey: default_partition
       label: Default Partition
@@ -72238,7 +72346,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: iUYVDApt8vV7SUEJ8WUENi
+    - id: 6TULjFrtM8YnhWkHTmCRhh
       sortOrder: 5
       fieldKey: key
       label: Message Key
@@ -72250,7 +72358,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: rgJqFN42iDcaDzDTGrMzgE
+    - id: mo6Msbirr6sPEMvspmeafb
       sortOrder: 6
       fieldKey: enable_batching
       label: Enable Batching?
@@ -73656,7 +73764,7 @@ items:
     hidden: false
     defaultTrigger: type = "identify"
     fields:
-    - id: sfJutwMmbwkKTspmyTGVSe
+    - id: 2XgVp3JEkB7YLC72hhweKt
       sortOrder: 0
       fieldKey: email
       label: Email
@@ -73672,7 +73780,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: cpcUGZbqFZo8GoSC6Az4HE
+    - id: o9TvdcDRP1sJ5YMDdxNoY1
       sortOrder: 1
       fieldKey: enable_batching
       label: Batch Data to Klaviyo
@@ -73684,7 +73792,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5kLCFKvd6zTdfV54YXuQoM
+    - id: 968L6DBDbk3iykHYtWFYPi
       sortOrder: 2
       fieldKey: phone_number
       label: Phone Number
@@ -73701,7 +73809,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: sgRwqFXwzwESkMzaH39jry
+    - id: fzK43uYjunnNqXKZ7hUByF
       sortOrder: 3
       fieldKey: country_code
       label: Country Code
@@ -74210,7 +74318,7 @@ items:
         value: ZW
       dynamic: false
       allowNull: false
-    - id: p3yZ8Mm9bG1szU2jcp4yny
+    - id: pQKBfpNBLVU3XDLENro8cP
       sortOrder: 4
       fieldKey: external_id
       label: External ID
@@ -74225,7 +74333,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 4C9pT1Ue8SRkE885dc9j1F
+    - id: ohoDzvreZk8KsCr2HMJeha
       sortOrder: 5
       fieldKey: first_name
       label: First Name
@@ -74239,7 +74347,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: njXWyxUsSABNvvxiWWmTDs
+    - id: q7YqGidKdzavEVo7ckyq88
       sortOrder: 6
       fieldKey: last_name
       label: Last Name
@@ -74253,7 +74361,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: cd39z5DUkk5Kw6n6DQCAjW
+    - id: czocTshjGXdaEue3j4FT3j
       sortOrder: 7
       fieldKey: organization
       label: Organization
@@ -74269,7 +74377,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: cSoeoqsCSF9RnYszST78oj
+    - id: 88WPvSc8NAmyrC7Yj68p3w
       sortOrder: 8
       fieldKey: title
       label: Title
@@ -74283,7 +74391,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 8LLTQEYBGyP4CNLzPZtBC6
+    - id: 3tuUtkwTRx5rFq1oeZsW3q
       sortOrder: 9
       fieldKey: image
       label: Image
@@ -74297,7 +74405,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: wbU9qKxu9aT3HSHUBneB63
+    - id: obVNHopBLvnjzxYZKDQp2Z
       sortOrder: 10
       fieldKey: location
       label: Location
@@ -74320,7 +74428,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ou3if9DFYqHHXn5NUTRFyA
+    - id: kPR5TfvLXHRUQnUQ9e6jFy
       sortOrder: 11
       fieldKey: properties
       label: Properties
@@ -74336,7 +74444,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: jfqWWrwbDMws4fJ7pfxm9e
+    - id: t1c1wZHKox3qZDb1GeGfEY
       sortOrder: 12
       fieldKey: list_id
       label: List
@@ -74348,7 +74456,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: 4fuNLcrfAAvrvNzxXUBv64
+    - id: v13sRRHoWprkrExaQH7MWL
       sortOrder: 15
       fieldKey: list_identifier
       label: Existing List ID
@@ -74362,7 +74470,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: bj4DFxMRFcMA8cbWcZEtcc
+    - id: jFvsmTMox9PXTDp5Lr8r1A
       sortOrder: 16
       fieldKey: list_name
       label: Name of list to create
@@ -74374,7 +74482,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: agEv2LBYa9wEpwTcnH5y1b
+    - id: jGNGwBmCxRWzgj8b57yWLh
       sortOrder: 17
       fieldKey: retlOnMappingSave
       label: Connect to a static list in Klaviyo
@@ -74397,7 +74505,7 @@ items:
     hidden: false
     defaultTrigger: type = "track"
     fields:
-    - id: uLv882XG8i4mo33EyNkNiU
+    - id: ctiLZLWKDyqqCrMcMqDnXw
       sortOrder: 0
       fieldKey: profile
       label: Profile
@@ -74409,7 +74517,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 7PEkpbpthvrRGfzePStJ8W
+    - id: rGHU9KUw8KmxbK1u2pwZpX
       sortOrder: 1
       fieldKey: properties
       label: Properties
@@ -74423,7 +74531,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: bmejabW7A1wujLop5W875a
+    - id: jnJP5XD9E3eRabuobwTeV8
       sortOrder: 2
       fieldKey: time
       label: Time
@@ -74442,7 +74550,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 4kVgkg2vuCLDA9AixnnXrF
+    - id: jSLoepXPrbCX2B3epFYywV
       sortOrder: 3
       fieldKey: value
       label: Value
@@ -74456,7 +74564,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 3Zofr5GHYHoDk8qCAnnjcs
+    - id: uiVcqaCCMWmLMwxZk2s9HJ
       sortOrder: 4
       fieldKey: unique_id
       label: Unique ID
@@ -74476,7 +74584,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: m72ShCaYcSEa4uV9p2eTM4
+    - id: ueGDd8PbMmLJEGzcWQqnd3
       sortOrder: 5
       fieldKey: products
       label: Products
@@ -74488,7 +74596,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 4jqBYLqnH4P7StZgTC5WyD
+    - id: dscn8qTcNy2wviaTHD11EK
       sortOrder: 6
       fieldKey: event_name
       label: Event Name
@@ -74503,7 +74611,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: m4Qwv9ve4eexKmKU522ZCM
+    - id: dUtP3jnWnVdiZ9xVz5YgNj
       sortOrder: 7
       fieldKey: product_event_name
       label: Product Event Name
@@ -74527,7 +74635,7 @@ items:
     hidden: false
     defaultTrigger: type = "track"
     fields:
-    - id: 7pCGioKr3Enx3LSgSgBC7R
+    - id: wKkHxrMwAkkZk9py6WrMF1
       sortOrder: 0
       fieldKey: profile
       label: Profile
@@ -74539,7 +74647,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: efRPAHKwREsRGrPWUxNkFb
+    - id: ksGsoNpVPHWf51xWntP6Zi
       sortOrder: 1
       fieldKey: metric_name
       label: Metric Name
@@ -74553,7 +74661,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 8G6KQ2i2KKySoefMYhQeBj
+    - id: vrd2oot3LGXGwMtuUKh5ma
       sortOrder: 2
       fieldKey: properties
       label: Properties
@@ -74567,7 +74675,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: uywVJxTfTahzz7bUKmQHDU
+    - id: mM47ns3rBozpPHwdCAXqxS
       sortOrder: 3
       fieldKey: time
       label: Time
@@ -74586,7 +74694,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 2iSFDwymh7bujwRUH3VEQq
+    - id: ffnm73PrVbrwWFFHk9xMeQ
       sortOrder: 4
       fieldKey: value
       label: Value
@@ -74600,7 +74708,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: dw5o3MzreSnRZWA7ewpUwa
+    - id: eEors7aQdh2f6Ex6adav2L
       sortOrder: 5
       fieldKey: unique_id
       label: Unique ID
@@ -74620,7 +74728,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: pu3uQZmi65TESnF2TgZueG
+    - id: xeG1x3znizXTufEUcfEqLC
       sortOrder: 6
       fieldKey: enable_batching
       label: Batch Data to Klaviyo
@@ -74641,7 +74749,7 @@ items:
     hidden: false
     defaultTrigger: event = "Audience Exited"
     fields:
-    - id: xw1TUwE2VuqqyxxvutZkj4
+    - id: pXVCQSRnupZcx7tiwcbSJq
       sortOrder: 0
       fieldKey: email
       label: Email
@@ -74655,7 +74763,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: kWC2ZtEzPqiRyUwDPgPSAJ
+    - id: stXtMjgTbF8HBG3k8akVk7
       sortOrder: 1
       fieldKey: external_id
       label: External ID
@@ -74669,7 +74777,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: cvvARSBcM4YyPcPbJysoTk
+    - id: Ujcur5Eg1rwTjQbPSKdCx
       sortOrder: 3
       fieldKey: phone_number
       label: Phone Number
@@ -74686,7 +74794,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: rs46m3Lao6TNukKL2NQNoo
+    - id: kM73bukH6vgu6rTzvYTQB5
       sortOrder: 4
       fieldKey: enable_batching
       label: Batch Data to Klaviyo
@@ -74699,7 +74807,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 9k3runy7zZdeyEVRZazsKG
+    - id: hTnTKLuJChNNWuoynK579s
       sortOrder: 5
       fieldKey: country_code
       label: Country Code
@@ -75216,7 +75324,7 @@ items:
     hidden: false
     defaultTrigger: event = "Audience Entered"
     fields:
-    - id: bsMS7Ku21SMfUoXTkBE9vQ
+    - id: qhnVHthxB4AzNDVofTY217
       sortOrder: 0
       fieldKey: email
       label: Email
@@ -75230,7 +75338,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: k5gQ7Eni2jEdraSd39HXED
+    - id: e2xowXkFRXwshM2m55WyNg
       sortOrder: 1
       fieldKey: phone_number
       label: Phone Number
@@ -75247,7 +75355,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 6qDS9AQ97pxCSWH4hQjAoq
+    - id: 6mxEbgKJu7LnS8Uj761AuB
       sortOrder: 3
       fieldKey: external_id
       label: External ID
@@ -75261,7 +75369,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: hLLkpw5i6gaxtdb3FZFRSc
+    - id: o45v2DzAndKRvfNrmif4Dw
       sortOrder: 4
       fieldKey: enable_batching
       label: Batch Data to Klaviyo
@@ -75274,7 +75382,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: xnmZPFkdjbQDVUf8yi83Hr
+    - id: i8SM1XZuQVD2C9FkSyefC5
       sortOrder: 6
       fieldKey: first_name
       label: First Name
@@ -75288,7 +75396,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: Z8vDWZ6ZAVbSbTLxNE2vV
+    - id: bUzPoH1zg1zomd13qDpqvv
       sortOrder: 7
       fieldKey: last_name
       label: Last Name
@@ -75302,7 +75410,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: oqajqJV9vqDv7zQj4hb38Z
+    - id: fU8AoNQcnBLANEtDEZ7wLv
       sortOrder: 8
       fieldKey: image
       label: Image
@@ -75316,7 +75424,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: nuEehyrCeuT2Cty34vXDn7
+    - id: 5CPJqQhZFA1PmEykERZWJa
       sortOrder: 9
       fieldKey: title
       label: Title
@@ -75330,7 +75438,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: oiSfHmZYKx8VWcrrq57BNB
+    - id: pKTDj74oGVKfhqBNb6Efor
       sortOrder: 10
       fieldKey: organization
       label: Organization
@@ -75346,7 +75454,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 8jMzCMRghHPfAMy57qUVJT
+    - id: jR1JWM3pKtqsWXUdwoWGcb
       sortOrder: 11
       fieldKey: location
       label: Location
@@ -75369,7 +75477,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 7rrPFZNW4BzLFPEYjJzoND
+    - id: wkphnqCUdBU1VfPcaTp9o4
       sortOrder: 12
       fieldKey: properties
       label: Properties
@@ -75385,7 +75493,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 41yrek8Qkeqv8iDhkuYDyg
+    - id: TLvzsng9hsDhWm8MUBXF
       sortOrder: 13
       fieldKey: country_code
       label: Country Code
@@ -75902,7 +76010,7 @@ items:
     hidden: false
     defaultTrigger: type = "Identify"
     fields:
-    - id: nWinxDi7aqh7q5UJycrwRC
+    - id: ngoNmC1iuLzgBFJ3s9fVcK
       sortOrder: 0
       fieldKey: email
       label: Email
@@ -75916,7 +76024,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: sfhLJszXyptwVchLgXRovz
+    - id: gZ6zgfkXFaeHVzkBAWuDPh
       sortOrder: 1
       fieldKey: external_id
       label: External ID
@@ -75931,7 +76039,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: pXrKaCt2KgwptgphZxzH94
+    - id: hybeDqRQ4U4hXNfyQwYGg1
       sortOrder: 2
       fieldKey: list_id
       label: List
@@ -75943,7 +76051,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: rPsUyyVtXZ27whDEb2Pc9Q
+    - id: fDEp2eMExqrPPko2QE8L1Z
       sortOrder: 3
       fieldKey: enable_batching
       label: Batch Data to Klaviyo
@@ -75956,7 +76064,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5aD5PtDDxkEuZ3cwPJYNkQ
+    - id: 2cvDKUD2URE5PCUjkGVkom
       sortOrder: 5
       fieldKey: phone_number
       label: Phone Number
@@ -75973,7 +76081,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 27BUDVXVRE3yypNZKVXjaZ
+    - id: dJwKkXPiTkhFzPKvGQZhrh
       sortOrder: 6
       fieldKey: country_code
       label: Country Code
@@ -76490,7 +76598,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event = "User Subscribed"
     fields:
-    - id: jbf7JcVKLCDcYGb2zNvjHP
+    - id: x8wgkHNxwAGRQip2hktkPu
       sortOrder: 0
       fieldKey: email
       label: Email
@@ -76512,7 +76620,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: i5ZRW1JdBmsDBMqZy5WFVR
+    - id: iTE8BR1x2WApp8AZ9kv21F
       sortOrder: 1
       fieldKey: phone_number
       label: Phone Number
@@ -76534,7 +76642,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: cYQVJC4Tvsm2b7GpJNjftn
+    - id: cU6V6QCm9y9MtTxgnda67N
       sortOrder: 2
       fieldKey: country_code
       label: Country Code
@@ -77043,7 +77151,7 @@ items:
         value: ZW
       dynamic: false
       allowNull: false
-    - id: gjTHJG7WmdCP1p58TBFwUm
+    - id: uHfMqAyyMwHuahcsdS4baw
       sortOrder: 3
       fieldKey: list_id
       label: List Id
@@ -77058,7 +77166,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: azUK1sQU2VryEJZPsk5s1t
+    - id: aK2YiDhgZ9R6MXJfxvM4ui
       sortOrder: 4
       fieldKey: custom_source
       label: Custom Source ($source)
@@ -77075,7 +77183,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ozQzr77g5UhYk51HhMkurR
+    - id: mbW6nFUQBZmkftmTjGjdb6
       sortOrder: 5
       fieldKey: consented_at
       label: Consented At
@@ -77089,7 +77197,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: qNmH2MgadTbhkgFNuibJMh
+    - id: rdB6kbVSeTQyLaBa2zWjHd
       sortOrder: 6
       fieldKey: enable_batching
       label: Batch Data to Klaviyo
@@ -77109,7 +77217,7 @@ items:
     hidden: false
     defaultTrigger: type = "track" and event = "User Unsubscribed"
     fields:
-    - id: fPPxWxSds5nrJs5pwPNsDs
+    - id: 3aeD5eeARkQhzfUBzZ57uT
       sortOrder: 0
       fieldKey: email
       label: Email
@@ -77131,7 +77239,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 725yqtJq7AWxBqZD3L2f1y
+    - id: tZKE598uEcCbTGhPUdMUwA
       sortOrder: 1
       fieldKey: phone_number
       label: Phone Number
@@ -77153,7 +77261,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: tywxjK23RyWyr2KHDymyU5
+    - id: jpYHKZ4rNuvmJQzFV7dfwZ
       sortOrder: 2
       fieldKey: country_code
       label: Country Code
@@ -77662,7 +77770,7 @@ items:
         value: ZW
       dynamic: false
       allowNull: false
-    - id: 6DvEZq7x6ZPGwTX2U2qKG1
+    - id: fLvJ6LQmLLj9HUcuQnMUoU
       sortOrder: 3
       fieldKey: list_id
       label: List Id
@@ -77676,7 +77784,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: 2hTNNwHXKE3o7xaCqHvPP1
+    - id: wDJtajggf9nUL891fzvnr
       sortOrder: 4
       fieldKey: enable_batching
       label: Batch Data to Klaviyo
@@ -79180,7 +79288,7 @@ items:
     hidden: false
     defaultTrigger: event = "Audience Entered" or event = "Audience Exited"
     fields:
-    - id: 31x86t1JVzBRXmYopJ99dB
+    - id: 7511VyvY4NS4w9dtpSTfdh
       sortOrder: 0
       fieldKey: dmp_segment_name
       label: DMP Segment Display Name
@@ -79198,7 +79306,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: g2pB2e7ByWVu2irQiNeWRo
+    - id: xzNE674njRGb54csuz8w2k
       sortOrder: 1
       fieldKey: enable_batching
       label: Enable Batching
@@ -79212,12 +79320,14 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: f9EJ7eUp7Lkyg4nxkeKE4g
+    - id: jaRpaeYSg3CVGZYedFipFY
       sortOrder: 2
       fieldKey: email
       label: User Email
       type: STRING
-      description: The user's email address to send to LinkedIn.
+      description: >-
+        The user's email address to send to LinkedIn. If not hashed, Segment
+        will hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -79232,7 +79342,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 4CdHQoyh3SotcuC4nDmS7N
+    - id: p4zXdsFeV2q3pXL4XSpbjx
       sortOrder: 3
       fieldKey: first_name
       label: User First Name
@@ -79246,7 +79356,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: tYJxbjPtrefdUXR5tu3Biz
+    - id: gSC9KCcNN6r5c1VxLszdJa
       sortOrder: 4
       fieldKey: last_name
       label: User Last Name
@@ -79260,7 +79370,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: mF4DscEQPPgkyigDiwX5z2
+    - id: gcYH9oH6d8FutpRsmWvzmT
       sortOrder: 5
       fieldKey: title
       label: User Title
@@ -79274,7 +79384,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5zbJnVkjFMpLotz4ViyRWg
+    - id: nHG9m4eH8i7FfrNMRY87F4
       sortOrder: 6
       fieldKey: company
       label: User Company
@@ -79288,7 +79398,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: e5ghKrbSdhFV5BvYBNQRPn
+    - id: nwXuuLFxX4RQoEaai3Bezs
       sortOrder: 7
       fieldKey: country
       label: User Country
@@ -79304,7 +79414,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: dxDocTVte7NTURTzWjha1T
+    - id: 3J6d7CWpHKLCaf9cUJton9
       sortOrder: 10
       fieldKey: personas_audience_key
       label: Segment Engage Audience Key
@@ -79320,7 +79430,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: nxKHSRMYwgcr6oxHgM6YDm
+    - id: w8KuaMrKHmQeyaw7KBg8sb
       sortOrder: 12
       fieldKey: dmp_user_action
       label: DMP User Action
@@ -79401,7 +79511,7 @@ items:
     hidden: false
     defaultTrigger: type = "track"
     fields:
-    - id: 42FpF8bpQGBeiS1c5Ei6nV
+    - id: 7o75eA6RHceZPoKFoJxAKt
       sortOrder: 0
       fieldKey: conversionHappenedAt
       label: Timestamp
@@ -79418,7 +79528,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: fwQrCfKGbxobzQuQPVVV6i
+    - id: pos31aCSbkTEEnSF1JXudv
       sortOrder: 1
       fieldKey: conversionValue
       label: Conversion Value
@@ -79437,7 +79547,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ibGkEYTmsjezLPa9r6xkGW
+    - id: hQW44davugg3iViBGLQ6WH
       sortOrder: 2
       fieldKey: eventId
       label: Event ID
@@ -79453,7 +79563,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: e59G2PdVfVxuK8ArFb8vtz
+    - id: aMKi4zSDQkSuXLrUpi5Ati
       sortOrder: 3
       fieldKey: email
       label: Email
@@ -79461,7 +79571,8 @@ items:
       description: >-
         Email address of the contact associated with the conversion event.
         Segment will hash this value before sending it to LinkedIn. One of email
-        or LinkedIn UUID or Axciom ID or Oracle ID is required.
+        or LinkedIn UUID or Axciom ID or Oracle ID is required. If not hashed,
+        Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@path': $.traits.email
@@ -79470,7 +79581,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: mhRmHLyPRuYvLUT48B8m7B
+    - id: tcpxzK36MLK5aagpQFb3FG
       sortOrder: 4
       fieldKey: linkedInUUID
       label: LinkedIn First Party Ads Tracking UUID
@@ -79487,7 +79598,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: xpvKHCBVjQkUaWeXwxYyg9
+    - id: bGcfUiV2mN93edSs5sD94e
       sortOrder: 5
       fieldKey: acxiomID
       label: Acxiom ID
@@ -79501,7 +79612,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: v9w3yfyJ2bg37jGRiJ9Lk4
+    - id: phQ7enzPKdunMvQLT7MU9A
       sortOrder: 6
       fieldKey: oracleID
       label: Oracle ID
@@ -79516,7 +79627,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: fyB1K6Ka5qrQXSyjQzrL7H
+    - id: qHwAjKSrNmZa3MVCw1xt1E
       sortOrder: 7
       fieldKey: userInfo
       label: User Info
@@ -79530,7 +79641,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 6HNBcsMKvTC3WnRaijcepq
+    - id: 2GgCAmNJF9eqkcuS7CcUkh
       sortOrder: 10
       fieldKey: adAccountId
       label: Ad Account
@@ -79546,7 +79657,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: rGqujESKqpFpztKoiCGd8n
+    - id: wJkL7ahpM6jhhiMLgYBNZq
       sortOrder: 11
       fieldKey: campaignId
       label: Add Campaigns to Conversion
@@ -79562,7 +79673,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: jg6PLNEV15hvZ3SSc2Dw6f
+    - id: 9EWjFkVeeqUQBC5vwQRFSP
       sortOrder: 12
       fieldKey: conversionRuleId
       label: Existing Conversion Rule ID
@@ -79576,7 +79687,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: 6PMK8XxBrTwH8U7C8BDBuX
+    - id: h8EvRqZaSUu7ohPGjRtYRD
       sortOrder: 13
       fieldKey: name
       label: Name
@@ -79588,7 +79699,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 2YFQJPZnRrAwDcXudvBAW8
+    - id: 3an5jd315q2ctBijeBQf63
       sortOrder: 14
       fieldKey: conversionType
       label: Conversion Type
@@ -79672,7 +79783,7 @@ items:
         value: SALES_QUALIFIED_LEAD
       dynamic: false
       allowNull: false
-    - id: aSPPViR6v55DSK5QxFrgLD
+    - id: xnWVinzaqE6eEfUDbRHk8u
       sortOrder: 15
       fieldKey: attribution_type
       label: Attribution Type
@@ -79688,7 +79799,7 @@ items:
         value: LAST_TOUCH_BY_CONVERSION
       dynamic: false
       allowNull: false
-    - id: 6p72MMWfiRmSG8VPUtJvQJ
+    - id: gdDQRiLx5TqrcsVj6qwpZh
       sortOrder: 16
       fieldKey: post_click_attribution_window_size
       label: Post-Click Attribution Window Size
@@ -79712,7 +79823,7 @@ items:
         value: 90
       dynamic: false
       allowNull: false
-    - id: j2gsfN9TUS5J6Lzq9hAH76
+    - id: f2Bx1JXXKwC1vScuKcZdRi
       sortOrder: 17
       fieldKey: view_through_attribution_window_size
       label: View-Through Attribution Window Size
@@ -79736,7 +79847,7 @@ items:
         value: 90
       dynamic: false
       allowNull: false
-    - id: rKWWXHyhi28APAqpRhhhg4
+    - id: dzvm3hAiiCrY5tNy1uYiF5
       sortOrder: 18
       fieldKey: onMappingSave
       label: Create a Conversion Rule
@@ -80449,7 +80560,7 @@ items:
     hidden: false
     defaultTrigger: event = "Audience Entered"
     fields:
-    - id: 5rTm1rFp2E6jbedzgTUKfo
+    - id: usqJEAgk51ReirFFURVLmJ
       sortOrder: 0
       fieldKey: sftp_username
       label: Username
@@ -80462,7 +80573,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: v16LuCW8kxhbZ9dTHc3mzT
+    - id: uhDMwkvXwTSCjtWBgqHEWg
       sortOrder: 1
       fieldKey: sftp_password
       label: Password
@@ -80475,7 +80586,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: aD1QbViRxuCu7iePoK1165
+    - id: 6cVpBc42HMD7SUWoLwt8Qs
       sortOrder: 2
       fieldKey: sftp_folder_path
       label: Folder Path
@@ -80492,7 +80603,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: hro3Ltj6KUhbZt9sQuLyq7
+    - id: 3pmmVzcFWmHzSL2yYNQriy
       sortOrder: 3
       fieldKey: audience_key
       label: LiveRamp Audience Key
@@ -80511,7 +80622,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: ueC19cjphKdnUeCDhNWAYp
+    - id: esrVbhGstvSY944NsR34mn
       sortOrder: 4
       fieldKey: identifier_data
       label: Identifier Data
@@ -80524,7 +80635,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: vwkg7i7fwTXRACTNRn7tPK
+    - id: dCqHg42bUEWdYtdUkWUBFG
       sortOrder: 5
       fieldKey: unhashed_identifier_data
       label: Hashable Identifier Data
@@ -80540,7 +80651,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: gn2ujzRoJs4Am8WsvdJisL
+    - id: 2oJMEgLR8HnZ1RKUhqgMam
       sortOrder: 6
       fieldKey: delimiter
       label: Delimeter
@@ -80554,12 +80665,14 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: vBy4kGuQBMjWkbd3A3mT5x
+    - id: 9ZwpEMLLkB4rC76hohFMPy
       sortOrder: 7
       fieldKey: filename
       label: Filename
       type: STRING
-      description: Name of the CSV file to upload for LiveRamp ingestion.
+      description: >-
+        Name of the CSV file to upload for LiveRamp ingestion. For multiple
+        subscriptions, make sure to use a unique filename for each subscription.
       placeholder: ''
       defaultValue:
         '@template': '{{properties.audience_key}}_PII.csv'
@@ -80577,7 +80690,7 @@ items:
     hidden: false
     defaultTrigger: event = "Audience Entered"
     fields:
-    - id: 21FEA7jGQaAEXpg19CdFn1
+    - id: mxfANQd9Cnza5iXWnZmF1k
       sortOrder: 0
       fieldKey: s3_aws_access_key
       label: AWS Access Key ID
@@ -80590,7 +80703,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: cczCyRM5K7FYjpj9zBvWd1
+    - id: ay1kmzFSMsGJH6BvFtf5rU
       sortOrder: 1
       fieldKey: s3_aws_secret_key
       label: AWS Secret Access Key
@@ -80603,7 +80716,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: vnA9VJ6CDHZGqjBxpDMhT8
+    - id: 6vgzFX9P6x7BDQQgpDTv9e
       sortOrder: 2
       fieldKey: s3_aws_bucket_name
       label: AWS Bucket Name
@@ -80616,7 +80729,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: tYaja92j71JmG4iNfVMs4Z
+    - id: abTZeZmSYAgmFv8Kn34STA
       sortOrder: 3
       fieldKey: s3_aws_region
       label: AWS Region (S3 only)
@@ -80629,7 +80742,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 22vLyjbARosFNik9Tg2Xwy
+    - id: v3Py1oFSUxsgFRNFtr18Hk
       sortOrder: 4
       fieldKey: audience_key
       label: LiveRamp Audience Key
@@ -80648,7 +80761,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 87DSVvR72XEywDM2xMeZfa
+    - id: pLC9UR3MZP6y3AwUndbBQ8
       sortOrder: 5
       fieldKey: identifier_data
       label: Identifier Data
@@ -80661,7 +80774,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: ZpWqf5qF1Lzbjv4VpDo2S
+    - id: 5aksemwJx5duYQAPGq2spY
       sortOrder: 6
       fieldKey: unhashed_identifier_data
       label: Hashable Identifier Data
@@ -80677,7 +80790,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: b86EDNN1zjrWkWCcgVYE7w
+    - id: tB2EPnyewnESAHcppyX3i8
       sortOrder: 7
       fieldKey: delimiter
       label: Delimeter
@@ -80691,12 +80804,14 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: krLXKewE9KQ9qCsWt63C
+    - id: wqTtbxeb946gRQ2a4rdS7E
       sortOrder: 8
       fieldKey: filename
       label: Filename
       type: STRING
-      description: Name of the CSV file to upload for LiveRamp ingestion.
+      description: >-
+        Name of the CSV file to upload for LiveRamp ingestion. For multiple
+        subscriptions, make sure to use a unique filename for each subscription.
       placeholder: ''
       defaultValue:
         '@template': '{{properties.audience_key}}.csv'
@@ -82047,7 +82162,7 @@ items:
     hidden: false
     defaultTrigger: event = "Audience Exited"
     fields:
-    - id: rZQYk7KTZJGqN6aEnDRj4T
+    - id: kFN99cdX689BV5U5VS7Q8J
       sortOrder: 1
       fieldKey: lookup_field
       label: Lookup Field
@@ -82082,7 +82197,7 @@ items:
         value: sfdcOpptyId
       dynamic: false
       allowNull: false
-    - id: x2j17x8ZXGANk78LPqeTJ7
+    - id: vBRbiC8BHDtB7enVgPZqE
       sortOrder: 2
       fieldKey: field_value
       label: Field Value
@@ -82102,7 +82217,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: rcyo4Q3Lxae46pv7URLhZJ
+    - id: eVcN1ZhazXHQNW6oLmWvj
       sortOrder: 4
       fieldKey: batch_size
       label: Batch Size
@@ -82118,7 +82233,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: uunAd146J5CNzCund2suZV
+    - id: XtMNbkHsjy9qHwH1XA2B2
       sortOrder: 5
       fieldKey: event_name
       label: Event Name
@@ -82140,7 +82255,7 @@ items:
     hidden: false
     defaultTrigger: event = "Audience Entered"
     fields:
-    - id: 4ib3HFmng1UMWZifYjkzN4
+    - id: 78CdtzSjG9xjeqoCwtbSuM
       sortOrder: 1
       fieldKey: lookup_field
       label: Lookup Field
@@ -82175,7 +82290,7 @@ items:
         value: sfdcOpptyId
       dynamic: false
       allowNull: false
-    - id: 6Baef19bnYvmwaevBDjHqe
+    - id: seZmn7MWMwW27UfCRLWXY1
       sortOrder: 2
       fieldKey: data
       label: Lead Info Fields
@@ -82200,7 +82315,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: i2GFP1bxYAWdNqn4Q8j4fn
+    - id: 3G2RsCoTHdvjYWMdRqBPHf
       sortOrder: 4
       fieldKey: batch_size
       label: Batch Size
@@ -82216,7 +82331,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: x7bgHxppRnALpyzC2nYdmp
+    - id: 3LrU8X1LAY2Zkgo15dmRhN
       sortOrder: 5
       fieldKey: event_name
       label: Event Name
@@ -82230,7 +82345,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: oq4tZj36PH9XyyJriYDFu6
+    - id: k4RpuaRacwd2kGKbeAQa2k
       sortOrder: 6
       fieldKey: list_id
       label: Existing List ID
@@ -82244,7 +82359,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: am2WyzAsWKZ95qmqJu3YBM
+    - id: hkBYKMx9cgRhG2rzrv9gGU
       sortOrder: 7
       fieldKey: list_name
       label: List Name
@@ -82256,7 +82371,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: fV5pgx5qraXV6TDBCZ9tTZ
+    - id: rJug22tdausgzyaCC15scC
       sortOrder: 8
       fieldKey: retlOnMappingSave
       label: Connect to a static list in Marketo
@@ -90004,7 +90119,7 @@ items:
     hidden: false
     defaultTrigger: type = "identify"
     fields:
-    - id: gaoUZPQZpURjeHcjj7mALm
+    - id: sWtUU45JDUQZ5FCL92HJ8C
       sortOrder: 0
       fieldKey: user_identifiers
       label: User identifiers
@@ -90032,12 +90147,16 @@ items:
               '@path': $.properties.optimizely_vuid
             else:
               '@path': $.traits.optimizely_vuid
+        fs_user_id:
+          '@path': $.userId
+        web_user_id:
+          '@path': $.userId
       required: true
       multiple: false
       choices: null
       dynamic: false
       allowNull: false
-    - id: xw1ikonZfaWKAjdatV2xv
+    - id: kgdLx9q7Jq1t8VM4LPDiWJ
       sortOrder: 1
       fieldKey: company
       label: Company Name
@@ -90051,7 +90170,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: fMjdXqJDHsT4rfrRt8tESH
+    - id: 4bYsSx3pXPHvsMxRPv51f1
       sortOrder: 2
       fieldKey: title
       label: Title
@@ -90065,7 +90184,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: iybbwS7cUeZfWeBWf285xV
+    - id: eqjC7oBPuB6xaXCUfRGju1
       sortOrder: 3
       fieldKey: name
       label: Name
@@ -90079,7 +90198,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: jQQuEDs5didv1HvgJ4uLU6
+    - id: 9wBFCgQFsSJUZzHSxc2qF9
       sortOrder: 4
       fieldKey: firstname
       label: First Name
@@ -90093,7 +90212,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 212jp4XFL3FnzzTZoufV7E
+    - id: x6k4L2itAPMrFsbUfxgHuB
       sortOrder: 5
       fieldKey: lastname
       label: Last Name
@@ -90107,7 +90226,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: aJG9xokgqjjg1EeC9nwocS
+    - id: e3uzYhjnjfpqprzUpQyc1a
       sortOrder: 6
       fieldKey: gender
       label: Gender
@@ -90121,7 +90240,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: piPkDaZDvsNvxmXNn2ebcc
+    - id: 23w7GDVXndkJ2Qi5ovCF2s
       sortOrder: 7
       fieldKey: DOB
       label: Birthday
@@ -90135,7 +90254,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: sqYqZHz4KbKwfqDRyjZALQ
+    - id: tjju6UnfFpRaEsW5LduNE2
       sortOrder: 8
       fieldKey: phone
       label: Phone
@@ -90149,7 +90268,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: msHxKMpN3tcXpwduiBDnPp
+    - id: rXpqNfQt3UucQnc57HA7jP
       sortOrder: 9
       fieldKey: age
       label: Age
@@ -90163,7 +90282,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5qM5kK9b9d8ZnUV26RPXZC
+    - id: 9pGCjbJ2CjzBdkzWaihLiv
       sortOrder: 10
       fieldKey: address
       label: Address
@@ -90186,7 +90305,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: jhJfvsfEGTGZzEC6dpdRZK
+    - id: 5tDd9irhQKJGCWVb1WZF1z
       sortOrder: 11
       fieldKey: avatar
       label: avatar
@@ -90200,7 +90319,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: uc5tzWoN6FeAq2hgAovLFo
+    - id: 5vfbfoGi34VxHjy9WVEK7L
       sortOrder: 12
       fieldKey: additional_traits
       label: Addition User Traits
@@ -90220,7 +90339,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: iff8iAHVoS5CExhSuge4ZQ
+    - id: ty3D3VLGGD3X5UYLTZ764e
       sortOrder: 0
       fieldKey: user_identifiers
       label: User identifiers
@@ -90248,12 +90367,16 @@ items:
               '@path': $.properties.optimizely_vuid
             else:
               '@path': $.context.traits.optimizely_vuid
+        fs_user_id:
+          '@path': $.userId
+        web_user_id:
+          '@path': $.userId
       required: true
       multiple: false
       choices: null
       dynamic: false
       allowNull: false
-    - id: 8f4YNXHK5CtFnCUnvGV6Q9
+    - id: tHij7D1fg8H3KUuC6hqFf
       sortOrder: 1
       fieldKey: event_action
       label: Optimizely Event Action
@@ -90265,7 +90388,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: xg2H1RYJ2FiHTfPYkzStjL
+    - id: aWDvskPwGeqZPdD7HCkNDg
       sortOrder: 2
       fieldKey: campaign
       label: Campaign Name
@@ -90279,7 +90402,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: sJaWbY1CPvCm3eYW86zSQL
+    - id: rFyE5wvxoYHdxSYoCde5bp
       sortOrder: 3
       fieldKey: campaign_id
       label: Campaign ID
@@ -90293,7 +90416,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: if66b7vsHktLPQSYbhR5ca
+    - id: qJb5GuwUGmc7RYQErzSBjy
       sortOrder: 4
       fieldKey: link_url
       label: Link URL
@@ -90307,7 +90430,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 4tBBsWt6KutdAoKM4rr2jk
+    - id: 8SsyoKcvYqJBH1AuGps1AP
       sortOrder: 5
       fieldKey: timestamp
       label: Timestamp
@@ -90329,7 +90452,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: 7oERk4PHbNESX5V4irBxUW
+    - id: 5ByVEAaN4d1UdTGSyBN81f
       sortOrder: 0
       fieldKey: user_identifiers
       label: User identifiers
@@ -90357,12 +90480,16 @@ items:
               '@path': $.properties.optimizely_vuid
             else:
               '@path': $.traits.optimizely_vuid
+        fs_user_id:
+          '@path': $.userId
+        web_user_id:
+          '@path': $.userId
       required: true
       multiple: false
       choices: null
       dynamic: false
       allowNull: false
-    - id: bEjPGknXCxxyQbcYQFYA93
+    - id: ADTWeEnk85sTSCZuZXwD4
       sortOrder: 1
       fieldKey: event_type
       label: Optimizely Event Type
@@ -90376,7 +90503,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: u3z41Dt5qHkuJEoA9mS4r8
+    - id: qbTEuuwM5CBve8L5gvi2Fq
       sortOrder: 2
       fieldKey: event_action
       label: Optimizely Event Action
@@ -90388,7 +90515,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: bb6d3kFwvzX225Sqhjwkjy
+    - id: seCKLjbxhZqiqPkQxrVKNy
       sortOrder: 3
       fieldKey: products
       label: Product details
@@ -90409,7 +90536,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: wpTXtX1NZbkZTtDpd4CdNm
+    - id: e1iyvMzZCRFy5ohAAWuct5
       sortOrder: 4
       fieldKey: order_id
       label: Order ID
@@ -90423,7 +90550,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: deZWVgeJdUbxALrawUmG5j
+    - id: mgYJ1HGrftbYTHbFrZmt3R
       sortOrder: 5
       fieldKey: total
       label: Order Total
@@ -90437,7 +90564,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5kxuyG37oHoBxFCpvgDVpG
+    - id: rFy9rXhHvhMYWs31Hy2mYa
       sortOrder: 6
       fieldKey: timestamp
       label: Timestamp
@@ -90459,7 +90586,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: 9SvrqpiESGuWqLFVfNzHob
+    - id: heW1fP9ZggtrUhZeNEuYmk
       sortOrder: 0
       fieldKey: user_identifiers
       label: User identifiers
@@ -90487,12 +90614,16 @@ items:
               '@path': $.properties.optimizely_vuid
             else:
               '@path': $.traits.optimizely_vuid
+        fs_user_id:
+          '@path': $.userId
+        web_user_id:
+          '@path': $.userId
       required: true
       multiple: false
       choices: null
       dynamic: false
       allowNull: false
-    - id: wmufL5LBhvXk8pZoEeQP7z
+    - id: jeRXqeaks1TxHfM57n1jPg
       sortOrder: 1
       fieldKey: event_type
       label: Optimizely Event Type
@@ -90506,7 +90637,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 44BrCsz1Jiq6Tp8GF74euQ
+    - id: izuwbaiu8g9Vfu39ka9xU6
       sortOrder: 2
       fieldKey: event_action
       label: Optimizely Event Action
@@ -90518,7 +90649,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 9egos4J7DtbQTaLTwdgPoU
+    - id: k2QWpArvTsnuDwkJGrkod4
       sortOrder: 3
       fieldKey: data
       label: Event Properties
@@ -90532,7 +90663,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: obpagJcURrkD7AdJgNhboT
+    - id: 9Z927KoQweF4eR81mURyPG
       sortOrder: 4
       fieldKey: timestamp
       label: Timestamp
@@ -90548,7 +90679,7 @@ items:
       allowNull: false
   presets:
   - actionId: hcqEnue2U8oG3e3iVHW5KV
-    name: Unsubscribed
+    name: Email Link Clicked
     fields:
       user_identifiers:
         anonymousId:
@@ -90571,6 +90702,10 @@ items:
               '@path': $.properties.optimizely_vuid
             else:
               '@path': $.context.traits.optimizely_vuid
+        fs_user_id:
+          '@path': $.userId
+        web_user_id:
+          '@path': $.userId
       campaign:
         '@path': $.properties.campaign_name
       campaign_id:
@@ -90581,52 +90716,10 @@ items:
         '@path': $.timestamp
       enable_batching: true
       batch_size: 100
-      event_action: unsubscribe
-    trigger: type = "track" and event = "Unsubscribed"
-  - actionId: meD4xgcJ8b3f29gWudiuFQ
-    name: Order Completed
-    fields:
-      user_identifiers:
-        anonymousId:
-          '@path': $.anonymousId
-        userId:
-          '@path': $.userId
-        email:
-          '@if':
-            exists:
-              '@path': $.properties.email
-            then:
-              '@path': $.properties.email
-            else:
-              '@path': $.traits.email
-        optimizely_vuid:
-          '@if':
-            exists:
-              '@path': $.properties.optimizely_vuid
-            then:
-              '@path': $.properties.optimizely_vuid
-            else:
-              '@path': $.traits.optimizely_vuid
-      event_type: order
-      products:
-        '@arrayPath':
-        - $.properties.products
-        - product_id:
-            '@path': $.product_id
-          qty:
-            '@path': $.quantity
-      order_id:
-        '@path': $.properties.order_id
-      total:
-        '@path': $.properties.total
-      timestamp:
-        '@path': $.timestamp
-      enable_batching: true
-      batch_size: 100
-      event_action: purchase
-    trigger: type = "track" and event = "Order Completed"
+      event_action: click
+    trigger: type = "track" and event = "Email Link Clicked"
   - actionId: hcqEnue2U8oG3e3iVHW5KV
-    name: Email Sent
+    name: Email Opened
     fields:
       user_identifiers:
         anonymousId:
@@ -90649,6 +90742,10 @@ items:
               '@path': $.properties.optimizely_vuid
             else:
               '@path': $.context.traits.optimizely_vuid
+        fs_user_id:
+          '@path': $.userId
+        web_user_id:
+          '@path': $.userId
       campaign:
         '@path': $.properties.campaign_name
       campaign_id:
@@ -90659,8 +90756,8 @@ items:
         '@path': $.timestamp
       enable_batching: true
       batch_size: 100
-      event_action: sent
-    trigger: type = "track" and event = "Email Sent"
+      event_action: open
+    trigger: type = "track" and event = "Email Opened"
   - actionId: meD4xgcJ8b3f29gWudiuFQ
     name: Product Added
     fields:
@@ -90685,6 +90782,10 @@ items:
               '@path': $.properties.optimizely_vuid
             else:
               '@path': $.traits.optimizely_vuid
+        fs_user_id:
+          '@path': $.userId
+        web_user_id:
+          '@path': $.userId
       event_type: product
       products:
         '@arrayPath':
@@ -90704,7 +90805,7 @@ items:
       event_action: add_to_cart
     trigger: type = "track" and event = "Product Added"
   - actionId: meD4xgcJ8b3f29gWudiuFQ
-    name: Product Viewed
+    name: Order Completed
     fields:
       user_identifiers:
         anonymousId:
@@ -90727,10 +90828,14 @@ items:
               '@path': $.properties.optimizely_vuid
             else:
               '@path': $.traits.optimizely_vuid
-      event_type: product
+        fs_user_id:
+          '@path': $.userId
+        web_user_id:
+          '@path': $.userId
+      event_type: order
       products:
         '@arrayPath':
-        - $.properties
+        - $.properties.products
         - product_id:
             '@path': $.product_id
           qty:
@@ -90743,10 +90848,10 @@ items:
         '@path': $.timestamp
       enable_batching: true
       batch_size: 100
-      event_action: detail
-    trigger: type = "track" and event = "Product Viewed"
+      event_action: purchase
+    trigger: type = "track" and event = "Order Completed"
   - actionId: hcqEnue2U8oG3e3iVHW5KV
-    name: Email Marked as Spam
+    name: Email Sent
     fields:
       user_identifiers:
         anonymousId:
@@ -90769,6 +90874,10 @@ items:
               '@path': $.properties.optimizely_vuid
             else:
               '@path': $.context.traits.optimizely_vuid
+        fs_user_id:
+          '@path': $.userId
+        web_user_id:
+          '@path': $.userId
       campaign:
         '@path': $.properties.campaign_name
       campaign_id:
@@ -90779,8 +90888,8 @@ items:
         '@path': $.timestamp
       enable_batching: true
       batch_size: 100
-      event_action: spam_report
-    trigger: type = "track" and event = "Email Marked as Spam"
+      event_action: sent
+    trigger: type = "track" and event = "Email Sent"
   - actionId: meD4xgcJ8b3f29gWudiuFQ
     name: Product Removed
     fields:
@@ -90805,6 +90914,10 @@ items:
               '@path': $.properties.optimizely_vuid
             else:
               '@path': $.traits.optimizely_vuid
+        fs_user_id:
+          '@path': $.userId
+        web_user_id:
+          '@path': $.userId
       event_type: product
       products:
         '@arrayPath':
@@ -90824,7 +90937,7 @@ items:
       event_action: remove_from_cart
     trigger: type = "track" and event = "Product Removed"
   - actionId: hcqEnue2U8oG3e3iVHW5KV
-    name: Email Link Clicked
+    name: Email Marked as Spam
     fields:
       user_identifiers:
         anonymousId:
@@ -90847,6 +90960,10 @@ items:
               '@path': $.properties.optimizely_vuid
             else:
               '@path': $.context.traits.optimizely_vuid
+        fs_user_id:
+          '@path': $.userId
+        web_user_id:
+          '@path': $.userId
       campaign:
         '@path': $.properties.campaign_name
       campaign_id:
@@ -90857,10 +90974,56 @@ items:
         '@path': $.timestamp
       enable_batching: true
       batch_size: 100
-      event_action: click
-    trigger: type = "track" and event = "Email Link Clicked"
+      event_action: spam_report
+    trigger: type = "track" and event = "Email Marked as Spam"
+  - actionId: meD4xgcJ8b3f29gWudiuFQ
+    name: Product Viewed
+    fields:
+      user_identifiers:
+        anonymousId:
+          '@path': $.anonymousId
+        userId:
+          '@path': $.userId
+        email:
+          '@if':
+            exists:
+              '@path': $.properties.email
+            then:
+              '@path': $.properties.email
+            else:
+              '@path': $.traits.email
+        optimizely_vuid:
+          '@if':
+            exists:
+              '@path': $.properties.optimizely_vuid
+            then:
+              '@path': $.properties.optimizely_vuid
+            else:
+              '@path': $.traits.optimizely_vuid
+        fs_user_id:
+          '@path': $.userId
+        web_user_id:
+          '@path': $.userId
+      event_type: product
+      products:
+        '@arrayPath':
+        - $.properties
+        - product_id:
+            '@path': $.product_id
+          qty:
+            '@path': $.quantity
+      order_id:
+        '@path': $.properties.order_id
+      total:
+        '@path': $.properties.total
+      timestamp:
+        '@path': $.timestamp
+      enable_batching: true
+      batch_size: 100
+      event_action: detail
+    trigger: type = "track" and event = "Product Viewed"
   - actionId: hcqEnue2U8oG3e3iVHW5KV
-    name: Email Opened
+    name: Unsubscribed
     fields:
       user_identifiers:
         anonymousId:
@@ -90883,6 +91046,10 @@ items:
               '@path': $.properties.optimizely_vuid
             else:
               '@path': $.context.traits.optimizely_vuid
+        fs_user_id:
+          '@path': $.userId
+        web_user_id:
+          '@path': $.userId
       campaign:
         '@path': $.properties.campaign_name
       campaign_id:
@@ -90893,8 +91060,8 @@ items:
         '@path': $.timestamp
       enable_batching: true
       batch_size: 100
-      event_action: open
-    trigger: type = "track" and event = "Email Opened"
+      event_action: unsubscribe
+    trigger: type = "track" and event = "Unsubscribed"
   partnerOwned: true
 - id: 641d5acea88fa531b9068608
   display_name: Optimizely Feature Experimentation (Actions)
@@ -93062,7 +93229,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: aEHn9FF822LQz1VJTFo4cF
+    - id: daZ4u4ypp7uCcAUJzc1EXV
       sortOrder: 0
       fieldKey: event_name
       label: Event Name
@@ -93097,7 +93264,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 6b5yhJaiCV4JcbpNzg19QW
+    - id: krn5EG3BQpfXFJYjxumAjr
       sortOrder: 1
       fieldKey: action_source
       label: Action Source
@@ -93121,7 +93288,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: th7VPEtnXrQTtbYM7Q7YBK
+    - id: 72NZMZmAPogBCK7hPnKxHr
       sortOrder: 2
       fieldKey: event_time
       label: Event Timestamp
@@ -93139,7 +93306,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: wy5rAiLSLT7dmvyP7uyvFg
+    - id: 55frE5MRquLGVSDsGg6JUQ
       sortOrder: 3
       fieldKey: event_id
       label: Event ID
@@ -93157,7 +93324,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: aYXbDmpMEC1jcr2KCx1Aa2
+    - id: otDo8xMWB3k5nTrJtJZnAg
       sortOrder: 4
       fieldKey: event_source_url
       label: Event Source URL
@@ -93172,7 +93339,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 45kr3G9JDLbKJA92hLPfRs
+    - id: r9Np4WT38vF12UrsXSXJi7
       sortOrder: 5
       fieldKey: opt_out
       label: Opt Out
@@ -93191,7 +93358,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: p4cDvWugsoxKHMYE5BibGm
+    - id: 7tRqR4eGbtsQq7zaJr7xwR
       sortOrder: 6
       fieldKey: user_data
       label: User Data
@@ -93220,7 +93387,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 7unRF4sDPjvoUAYPqxxSbE
+    - id: s4xXi9aH5a34hbLbJ66Awy
       sortOrder: 7
       fieldKey: custom_data
       label: Custom Data
@@ -93248,7 +93415,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: ssm6fRLgWbviEarf79bQhR
+    - id: xxTotnmL5kWDMKh7R4BN88
       sortOrder: 8
       fieldKey: app_id
       label: App ID
@@ -93263,7 +93430,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: rf1yajnTC6Qcs9yrwEiDU6
+    - id: rmYD1PygTHVsHTMhVQRCvy
       sortOrder: 9
       fieldKey: app_name
       label: App Name
@@ -93278,7 +93445,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 4e3j8h1PaDKCybpcaUWkLY
+    - id: fg8kudb5SQHLmGHSa2PDXn
       sortOrder: 10
       fieldKey: app_version
       label: App Version
@@ -93293,7 +93460,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: kECjNaJkRtBA3kCRFS3GUc
+    - id: aLcf8n8CgPLHjGrUo8Qcnt
       sortOrder: 11
       fieldKey: device_brand
       label: Device Brand
@@ -93308,7 +93475,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: aKXQ4EH3geX39V93CrEvNC
+    - id: 4cYLr587puouZF9KWp8cXK
       sortOrder: 12
       fieldKey: device_carrier
       label: Device Carrier
@@ -93323,7 +93490,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: k9ox5UgdkJ3svXdy72WDVo
+    - id: vyd5SUVhMVinJh1uXBgpvT
       sortOrder: 13
       fieldKey: device_model
       label: Device Model
@@ -93338,7 +93505,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 4jEmn1hxTpF3yiJzuwN3XU
+    - id: hVnhu9KLpQoptd5fd1ZCZi
       sortOrder: 14
       fieldKey: device_type
       label: Device Type
@@ -93353,7 +93520,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 2ZxtkZdguuB3EZjYytEJ9A
+    - id: efpe1okUXqcTMrdhueV9q3
       sortOrder: 15
       fieldKey: os_version
       label: OS Version
@@ -93368,7 +93535,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: npeU7dK3Qw2ATL2RVdXASY
+    - id: bc8HTYSVURga8MqPmYtpQ2
       sortOrder: 16
       fieldKey: wifi
       label: Wifi
@@ -93383,7 +93550,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 6MLcLoCjeF7fvT9BuXr16b
+    - id: bqbvjiFpHMsgjiDEZBsiYn
       sortOrder: 17
       fieldKey: language
       label: Language
@@ -93516,7 +93683,7 @@ items:
       event_name: add_to_cart
     trigger: type = "track" AND event = "Product Added"
   - actionId: vTWg6AaZm9crsPcjoJFJAG
-    name: Sign Up
+    name: Page Visit
     fields:
       action_source: web
       event_time:
@@ -93572,8 +93739,67 @@ items:
         '@path': $.context.os.version
       wifi:
         '@path': $.context.network.wifi
-      event_name: signup
-    trigger: type = "track" AND event = "Signed Up"
+      event_name: page_visit
+    trigger: type = "page"
+  - actionId: vTWg6AaZm9crsPcjoJFJAG
+    name: Watch Video
+    fields:
+      action_source: web
+      event_time:
+        '@path': $.timestamp
+      event_id:
+        '@path': $.messageId
+      event_source_url:
+        '@path': $.context.page.url
+      opt_out: true
+      user_data:
+        email:
+          '@if':
+            exists:
+              '@path': $.properties.email
+            then:
+              '@path': $.properties.email
+            else:
+              '@path': $.traits.email
+        client_ip_address:
+          '@path': $.context.ip
+        client_user_agent:
+          '@path': $.context.userAgent
+      custom_data:
+        value:
+          '@if':
+            exists:
+              '@path': $.properties.price
+            then:
+              '@path': $.properties.price
+            else:
+              '@path': $.properties.value
+        search_string:
+          '@path': $.properties.query
+        order_id:
+          '@path': $.properties.order_id
+        currency:
+          '@path': $.properties.currency
+      app_id:
+        '@path': context.app.id
+      app_name:
+        '@path': $.context.app.name
+      app_version:
+        '@path': $.context.app.version
+      device_brand:
+        '@path': $.context.device.brand
+      device_carrier:
+        '@path': context.device.carrier
+      device_model:
+        '@path': $.context.device.model
+      device_type:
+        '@path': $.context.device.type
+      os_version:
+        '@path': $.context.os.version
+      wifi:
+        '@path': $.context.network.wifi
+      event_name: watch_video
+    trigger: type = "track" AND event = "Product Video Watched"
   - actionId: vTWg6AaZm9crsPcjoJFJAG
     name: Lead
     fields:
@@ -93693,66 +93919,7 @@ items:
       event_name: checkout
     trigger: type = "track" AND event = "Checkout"
   - actionId: vTWg6AaZm9crsPcjoJFJAG
-    name: Watch Video
-    fields:
-      action_source: web
-      event_time:
-        '@path': $.timestamp
-      event_id:
-        '@path': $.messageId
-      event_source_url:
-        '@path': $.context.page.url
-      opt_out: true
-      user_data:
-        email:
-          '@if':
-            exists:
-              '@path': $.properties.email
-            then:
-              '@path': $.properties.email
-            else:
-              '@path': $.traits.email
-        client_ip_address:
-          '@path': $.context.ip
-        client_user_agent:
-          '@path': $.context.userAgent
-      custom_data:
-        value:
-          '@if':
-            exists:
-              '@path': $.properties.price
-            then:
-              '@path': $.properties.price
-            else:
-              '@path': $.properties.value
-        search_string:
-          '@path': $.properties.query
-        order_id:
-          '@path': $.properties.order_id
-        currency:
-          '@path': $.properties.currency
-      app_id:
-        '@path': context.app.id
-      app_name:
-        '@path': $.context.app.name
-      app_version:
-        '@path': $.context.app.version
-      device_brand:
-        '@path': $.context.device.brand
-      device_carrier:
-        '@path': context.device.carrier
-      device_model:
-        '@path': $.context.device.model
-      device_type:
-        '@path': $.context.device.type
-      os_version:
-        '@path': $.context.os.version
-      wifi:
-        '@path': $.context.network.wifi
-      event_name: watch_video
-    trigger: type = "track" AND event = "Product Video Watched"
-  - actionId: vTWg6AaZm9crsPcjoJFJAG
-    name: Page Visit
+    name: View Category
     fields:
       action_source: web
       event_time:
@@ -93808,10 +93975,10 @@ items:
         '@path': $.context.os.version
       wifi:
         '@path': $.context.network.wifi
-      event_name: page_visit
-    trigger: type = "page"
+      event_name: view_category
+    trigger: type = "track" AND event = "Product Category Viewed"
   - actionId: vTWg6AaZm9crsPcjoJFJAG
-    name: View Category
+    name: Sign Up
     fields:
       action_source: web
       event_time:
@@ -93867,8 +94034,8 @@ items:
         '@path': $.context.os.version
       wifi:
         '@path': $.context.network.wifi
-      event_name: view_category
-    trigger: type = "track" AND event = "Product Category Viewed"
+      event_name: signup
+    trigger: type = "track" AND event = "Signed Up"
   partnerOwned: false
 - id: 59526d7f70a3e552b957555c
   display_name: Pinterest Tag
@@ -98448,7 +98615,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: aAQyZrqLEBTPFtxTxga7VK
+    - id: bkj5tFLGYYUiPY2f1A9M2d
       sortOrder: 0
       fieldKey: event_at
       label: Event At
@@ -98462,7 +98629,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 9mKsZybYzcQ6viqBg8wRga
+    - id: 7bWSmYWNwYbXg3FLao9RUW
       sortOrder: 1
       fieldKey: custom_event_name
       label: Custom Event Name
@@ -98477,7 +98644,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: tcoHhKYLeCXb3C5a4EntNY
+    - id: rfgWTwMXzLWZDHvRNoLbnr
       sortOrder: 2
       fieldKey: click_id
       label: Click ID
@@ -98497,7 +98664,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: gEHfLhxFDfVYK8ny1jatvF
+    - id: jSWHf5xLWx34E85KbYtM9u
       sortOrder: 3
       fieldKey: products
       label: Products
@@ -98518,7 +98685,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: qKziEgd5D2MYAU4VanNj8R
+    - id: sqwXUiv52YqAmtuUkKV58u
       sortOrder: 4
       fieldKey: user
       label: User
@@ -98563,7 +98730,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: dc5q2p9NbpVRMEoBmd7QnZ
+    - id: iY6Tyje3mVsXRZP341DsB5
       sortOrder: 5
       fieldKey: data_processing_options
       label: Data Processing Options
@@ -98577,7 +98744,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 4Pv1h8Z7BXV8wfncTyiVDd
+    - id: rJUy5Ev4LwiP3UPYRb7W6d
       sortOrder: 6
       fieldKey: screen_dimensions
       label: Screen Dimensions
@@ -98594,7 +98761,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: cbX3pmhtnX2yCiZhiNYKSi
+    - id: 3UzgaNM4QxhSrRz4p6UxD3
       sortOrder: 7
       fieldKey: event_metadata
       label: Event Metadata
@@ -98613,14 +98780,14 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: isVL7M8X95eHrj548dZU7k
+    - id: 9PRCZnsWEPYqdUySXj5zsv
       sortOrder: 8
       fieldKey: conversion_id
       label: Conversion ID
       type: STRING
       description: >-
         The unique conversion ID that corresponds to a distinct conversion
-        event.
+        event. If not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@path': $.properties.conversion_id
@@ -98629,7 +98796,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: rB9V8Qkika5mUX3aezsoUA
+    - id: 8MEzhANpPAfDv4iBEKoERH
       sortOrder: 9
       fieldKey: enable_batching
       label: Enable Batching?
@@ -98649,7 +98816,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: qs6YcGLDh1kioTrsmegbRf
+    - id: iWuQgqszpXr3tskaFW16QS
       sortOrder: 0
       fieldKey: event_at
       label: Event At
@@ -98663,7 +98830,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: j3Potu3JT6yRt4Y7xRsjcV
+    - id: 7b6RetuCvPXYZCUxjrehgj
       sortOrder: 1
       fieldKey: tracking_type
       label: Tracking Type
@@ -98693,7 +98860,7 @@ items:
         value: SignUp
       dynamic: false
       allowNull: false
-    - id: t9mphWkHxxaMaL352qo5ZU
+    - id: gbV2U49Wdo37KHzHQSNqdW
       sortOrder: 2
       fieldKey: click_id
       label: Click ID
@@ -98713,7 +98880,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: RZMGG8gKZSYDhMZLrpnep
+    - id: aqqV1QWj6i3HTcSEUmPbhm
       sortOrder: 3
       fieldKey: products
       label: Products
@@ -98734,7 +98901,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: nW79bFX1kJ42mdCnw2PJMN
+    - id: 7dSi4F3nWkuChBEQcCDcce
       sortOrder: 4
       fieldKey: user
       label: User
@@ -98779,7 +98946,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: wjRE8WndouTvWLNn7iQZjA
+    - id: trDJwFyLBr4F4yPvpFmhQT
       sortOrder: 5
       fieldKey: data_processing_options
       label: Data Processing Options
@@ -98793,7 +98960,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 3KZ3mucFhVFxvvzMmoUB8C
+    - id: oVCutm8Y1sNrj9UEkYJkjL
       sortOrder: 6
       fieldKey: screen_dimensions
       label: Screen Dimensions
@@ -98810,7 +98977,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 3x8uhrPzqsxxTKtBmnDEee
+    - id: dVLC5ZvaYZjL9yVd2rB4Qd
       sortOrder: 7
       fieldKey: event_metadata
       label: Event Metadata
@@ -98829,14 +98996,14 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: c79JpTw8MtZPfxdbKGnPDt
+    - id: 5KBnnXxe9P8RGQErBDsGyx
       sortOrder: 8
       fieldKey: conversion_id
       label: Conversion ID
       type: STRING
       description: >-
         The unique conversion ID that corresponds to a distinct conversion
-        event.
+        event. If not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@path': $.properties.conversion_id
@@ -98845,7 +99012,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5Ky1bwtusgHX9GfK8FCoZi
+    - id: 2TM6bAKjgk8tLR3edSVUwP
       sortOrder: 9
       fieldKey: enable_batching
       label: Enable Batching?
@@ -98868,8 +99035,14 @@ items:
       type = "alias"
     fields: []
   presets:
+  - actionId: tDkyLVC3tBcVFSi63svYkd
+    name: Reddit Browser Plugin
+    fields: {}
+    trigger: >-
+      type = "track" or type = "identify" or type = "group" or type = "page" or
+      type = "alias"
   - actionId: oKfDyMn39WEUWwEU4puB6Z
-    name: Purchase
+    name: Sign Up
     fields:
       event_at:
         '@path': $.timestamp
@@ -98931,16 +99104,14 @@ items:
       event_metadata:
         currency:
           '@path': $.properties.currency
-        item_count:
-          '@path': $.properties.quantity
         value_decimal:
-          '@path': $.properties.total
+          '@path': $.properties.price
       conversion_id:
         '@path': $.properties.conversion_id
-      tracking_type: Purchase
-    trigger: type = "track" and event = "Order Completed"
+      tracking_type: SignUp
+    trigger: type = "track" and event = "Signed Up"
   - actionId: oKfDyMn39WEUWwEU4puB6Z
-    name: Add to Cart
+    name: Lead
     fields:
       event_at:
         '@path': $.timestamp
@@ -99002,144 +99173,12 @@ items:
       event_metadata:
         currency:
           '@path': $.properties.currency
-        item_count:
-          '@path': $.properties.quantity
         value_decimal:
-          '@path': $.properties.total
-      conversion_id:
-        '@path': $.properties.conversion_id
-      tracking_type: AddToCart
-    trigger: type = "track" and event = "Product Added"
-  - actionId: oKfDyMn39WEUWwEU4puB6Z
-    name: View Content
-    fields:
-      event_at:
-        '@path': $.timestamp
-      click_id:
-        '@if':
-          exists:
-            '@path': $.integrations.Reddit Conversions Api.click_id
-          then:
-            '@path': $.integrations.Reddit Conversions Api.click_id
-          else:
-            '@path': $.properties.click_id
-      products:
-        '@arrayPath':
-        - $.properties.products
-        - category:
-            '@path': $.category
-          id:
-            '@path': $.product_id
-          name:
-            '@path': $.name
-      user:
-        advertising_id:
-          '@path': $.context.device.advertisingId
-        device_type:
-          '@path': $.context.device.type
-        email:
-          '@if':
-            exists:
-              '@path': $.context.traits.email
-            then:
-              '@path': $.context.traits.email
-            else:
-              '@path': $.properties.email
-        external_id:
-          '@if':
-            exists:
-              '@path': $.userId
-            then:
-              '@path': $.userId
-            else:
-              '@path': $.anonymousId
-        ip_address:
-          '@path': $.context.ip
-        user_agent:
-          '@path': $.context.userAgent
-        uuid:
-          '@if':
-            exists:
-              '@path': $.integrations.Reddit Conversions Api.uuid
-            then:
-              '@path': $.integrations.Reddit Conversions Api.uuid
-            else:
-              '@path': $.properties.uuid
-      screen_dimensions:
-        height:
-          '@path': $.context.screen.height
-        width:
-          '@path': $.context.screen.width
-      event_metadata: {}
-      conversion_id:
-        '@path': $.properties.conversion_id
-      tracking_type: ViewContent
-    trigger: type = "track" and event = "Product Viewed"
-  - actionId: oKfDyMn39WEUWwEU4puB6Z
-    name: Page Visit
-    fields:
-      event_at:
-        '@path': $.timestamp
-      click_id:
-        '@if':
-          exists:
-            '@path': $.integrations.Reddit Conversions Api.click_id
-          then:
-            '@path': $.integrations.Reddit Conversions Api.click_id
-          else:
-            '@path': $.properties.click_id
-      products:
-        '@arrayPath':
-        - $.properties.products
-        - category:
-            '@path': $.category
-          id:
-            '@path': $.product_id
-          name:
-            '@path': $.name
-      user:
-        advertising_id:
-          '@path': $.context.device.advertisingId
-        device_type:
-          '@path': $.context.device.type
-        email:
-          '@if':
-            exists:
-              '@path': $.context.traits.email
-            then:
-              '@path': $.context.traits.email
-            else:
-              '@path': $.properties.email
-        external_id:
-          '@if':
-            exists:
-              '@path': $.userId
-            then:
-              '@path': $.userId
-            else:
-              '@path': $.anonymousId
-        ip_address:
-          '@path': $.context.ip
-        user_agent:
-          '@path': $.context.userAgent
-        uuid:
-          '@if':
-            exists:
-              '@path': $.integrations.Reddit Conversions Api.uuid
-            then:
-              '@path': $.integrations.Reddit Conversions Api.uuid
-            else:
-              '@path': $.properties.uuid
-      screen_dimensions:
-        height:
-          '@path': $.context.screen.height
-        width:
-          '@path': $.context.screen.width
-      event_metadata: {}
+          '@path': $.properties.price
       conversion_id:
         '@path': $.properties.conversion_id
-      tracking_type: PageVisit
-    trigger: type = "page"
+      tracking_type: Lead
+    trigger: type = "track" and event = "Lead Generated"
   - actionId: oKfDyMn39WEUWwEU4puB6Z
     name: Add to Wishlist
     fields:
@@ -99211,14 +99250,8 @@ items:
         '@path': $.properties.conversion_id
       tracking_type: AddToWishlist
     trigger: type = "track" and event = "Product Added to Wishlist"
-  - actionId: tDkyLVC3tBcVFSi63svYkd
-    name: Reddit Browser Plugin
-    fields: {}
-    trigger: >-
-      type = "track" or type = "identify" or type = "group" or type = "page" or
-      type = "alias"
   - actionId: oKfDyMn39WEUWwEU4puB6Z
-    name: Search
+    name: Add to Cart
     fields:
       event_at:
         '@path': $.timestamp
@@ -99277,13 +99310,19 @@ items:
           '@path': $.context.screen.height
         width:
           '@path': $.context.screen.width
-      event_metadata: {}
+      event_metadata:
+        currency:
+          '@path': $.properties.currency
+        item_count:
+          '@path': $.properties.quantity
+        value_decimal:
+          '@path': $.properties.total
       conversion_id:
         '@path': $.properties.conversion_id
-      tracking_type: Search
-    trigger: type = "track" and event = "Products Searched"
+      tracking_type: AddToCart
+    trigger: type = "track" and event = "Product Added"
   - actionId: oKfDyMn39WEUWwEU4puB6Z
-    name: Sign Up
+    name: View Content
     fields:
       event_at:
         '@path': $.timestamp
@@ -99342,17 +99381,143 @@ items:
           '@path': $.context.screen.height
         width:
           '@path': $.context.screen.width
-      event_metadata:
-        currency:
-          '@path': $.properties.currency
-        value_decimal:
-          '@path': $.properties.price
+      event_metadata: {}
       conversion_id:
         '@path': $.properties.conversion_id
-      tracking_type: SignUp
-    trigger: type = "track" and event = "Signed Up"
+      tracking_type: ViewContent
+    trigger: type = "track" and event = "Product Viewed"
   - actionId: oKfDyMn39WEUWwEU4puB6Z
-    name: Lead
+    name: Page Visit
+    fields:
+      event_at:
+        '@path': $.timestamp
+      click_id:
+        '@if':
+          exists:
+            '@path': $.integrations.Reddit Conversions Api.click_id
+          then:
+            '@path': $.integrations.Reddit Conversions Api.click_id
+          else:
+            '@path': $.properties.click_id
+      products:
+        '@arrayPath':
+        - $.properties.products
+        - category:
+            '@path': $.category
+          id:
+            '@path': $.product_id
+          name:
+            '@path': $.name
+      user:
+        advertising_id:
+          '@path': $.context.device.advertisingId
+        device_type:
+          '@path': $.context.device.type
+        email:
+          '@if':
+            exists:
+              '@path': $.context.traits.email
+            then:
+              '@path': $.context.traits.email
+            else:
+              '@path': $.properties.email
+        external_id:
+          '@if':
+            exists:
+              '@path': $.userId
+            then:
+              '@path': $.userId
+            else:
+              '@path': $.anonymousId
+        ip_address:
+          '@path': $.context.ip
+        user_agent:
+          '@path': $.context.userAgent
+        uuid:
+          '@if':
+            exists:
+              '@path': $.integrations.Reddit Conversions Api.uuid
+            then:
+              '@path': $.integrations.Reddit Conversions Api.uuid
+            else:
+              '@path': $.properties.uuid
+      screen_dimensions:
+        height:
+          '@path': $.context.screen.height
+        width:
+          '@path': $.context.screen.width
+      event_metadata: {}
+      conversion_id:
+        '@path': $.properties.conversion_id
+      tracking_type: PageVisit
+    trigger: type = "page"
+  - actionId: oKfDyMn39WEUWwEU4puB6Z
+    name: Search
+    fields:
+      event_at:
+        '@path': $.timestamp
+      click_id:
+        '@if':
+          exists:
+            '@path': $.integrations.Reddit Conversions Api.click_id
+          then:
+            '@path': $.integrations.Reddit Conversions Api.click_id
+          else:
+            '@path': $.properties.click_id
+      products:
+        '@arrayPath':
+        - $.properties.products
+        - category:
+            '@path': $.category
+          id:
+            '@path': $.product_id
+          name:
+            '@path': $.name
+      user:
+        advertising_id:
+          '@path': $.context.device.advertisingId
+        device_type:
+          '@path': $.context.device.type
+        email:
+          '@if':
+            exists:
+              '@path': $.context.traits.email
+            then:
+              '@path': $.context.traits.email
+            else:
+              '@path': $.properties.email
+        external_id:
+          '@if':
+            exists:
+              '@path': $.userId
+            then:
+              '@path': $.userId
+            else:
+              '@path': $.anonymousId
+        ip_address:
+          '@path': $.context.ip
+        user_agent:
+          '@path': $.context.userAgent
+        uuid:
+          '@if':
+            exists:
+              '@path': $.integrations.Reddit Conversions Api.uuid
+            then:
+              '@path': $.integrations.Reddit Conversions Api.uuid
+            else:
+              '@path': $.properties.uuid
+      screen_dimensions:
+        height:
+          '@path': $.context.screen.height
+        width:
+          '@path': $.context.screen.width
+      event_metadata: {}
+      conversion_id:
+        '@path': $.properties.conversion_id
+      tracking_type: Search
+    trigger: type = "track" and event = "Products Searched"
+  - actionId: oKfDyMn39WEUWwEU4puB6Z
+    name: Purchase
     fields:
       event_at:
         '@path': $.timestamp
@@ -99414,12 +99579,14 @@ items:
       event_metadata:
         currency:
           '@path': $.properties.currency
+        item_count:
+          '@path': $.properties.quantity
         value_decimal:
-          '@path': $.properties.price
+          '@path': $.properties.total
       conversion_id:
         '@path': $.properties.conversion_id
-      tracking_type: Lead
-    trigger: type = "track" and event = "Lead Generated"
+      tracking_type: Purchase
+    trigger: type = "track" and event = "Order Completed"
   partnerOwned: true
 - id: 5cacbf88fa2aed000104edcc
   display_name: Refersion
@@ -106046,7 +106213,7 @@ items:
     hidden: false
     defaultTrigger: type = "identify"
     fields:
-    - id: oiXto9Ga3x9ZjmnVCKQg3m
+    - id: 7bcUDgjmbVCwE79YLWzN9Q
       sortOrder: 0
       fieldKey: contactKey
       label: Contact Key
@@ -106072,7 +106239,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: aLcHAWVXuPT2m6EqqaooGd
+    - id: wB4GwXmo6BVQAhRopCcyYZ
       sortOrder: 0
       fieldKey: eventDefinitionKey
       label: Event Definition Key
@@ -106086,7 +106253,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ffKH5kYww6CaBjNgx2Ex8A
+    - id: 85Zaq8eDPfKZVkyPX8EdRp
       sortOrder: 1
       fieldKey: contactKey
       label: Contact Key
@@ -106100,7 +106267,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: xbtTMVBmWPAPHDLJEhhsfp
+    - id: rDwpaCDgtgAj9K9eTVu5KT
       sortOrder: 2
       fieldKey: data
       label: Event Data
@@ -106127,7 +106294,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: 2LSnRWWZaiixnT3yp9LhVD
+    - id: rJ8t3SNQwreVFTqwmZRB2q
       sortOrder: 0
       fieldKey: key
       label: Data Extension Key
@@ -106142,7 +106309,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 2BhFd19YmCQGWdNETqaKD1
+    - id: pwTAP6HA2brVctvwzoCY9t
       sortOrder: 1
       fieldKey: id
       label: Data Extension ID
@@ -106157,7 +106324,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: nKnByfL5D8dYQcKksvGUBu
+    - id: sg8cHv3HeuoMfxf1FUL7on
       sortOrder: 2
       fieldKey: keys
       label: Data Extension Primary Keys
@@ -106174,7 +106341,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: kAhwakJxjyE5zdpAZZ7kK4
+    - id: c4arDnmkkUgnAouYAGRJXq
       sortOrder: 3
       fieldKey: values
       label: Data Extension Fields
@@ -106192,7 +106359,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 3aYydqS6fdHTQGYLEiNXAZ
+    - id: fQX5mLRvmbcJWQkm6UgAfR
       sortOrder: 4
       fieldKey: enable_batching
       label: Batch data to SFMC
@@ -106215,7 +106382,7 @@ items:
     hidden: false
     defaultTrigger: type = "identify"
     fields:
-    - id: guKt4p6edmrdqcmAdg1LCR
+    - id: cRB4mpG2673nwJkpsKKhud
       sortOrder: 0
       fieldKey: key
       label: Data Extension Key
@@ -106230,7 +106397,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 4ZtgpCXSPTFM146NRzarz9
+    - id: ahyjmWLu24HAekxwLKhYN4
       sortOrder: 1
       fieldKey: id
       label: Data Extension ID
@@ -106245,7 +106412,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 9nWih4PiFHHY4M9qykDRan
+    - id: 9LmLt2Dxduisbd9t8AdbhR
       sortOrder: 2
       fieldKey: keys
       label: Data Extension Primary Keys
@@ -106265,7 +106432,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: kxvdgvYwVJcYvw9XETmQv1
+    - id: xcAmN3NasKGtgMF5gN4ZM6
       sortOrder: 3
       fieldKey: values
       label: Contact Fields
@@ -106282,7 +106449,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5sHM4HiXoYJFF4QWrHq6Mh
+    - id: p9yt1KGUFEca1kF1a6jXH5
       sortOrder: 4
       fieldKey: enable_batching
       label: Batch data to SFMC
@@ -106295,6 +106462,680 @@ items:
       choices: null
       dynamic: false
       allowNull: false
+  - id: 2ZQ3y7DJqFGYwCxcpypA1P
+    name: Send Event to Data Extension (V2)
+    slug: dataExtensionV2
+    description: >-
+      Upsert events as rows into an existing data extension in Salesforce
+      Marketing Cloud.
+    platform: CLOUD
+    hidden: false
+    defaultTrigger: null
+    fields:
+    - id: rmgeYjf8zx8CxrPHi3Ng1Q
+      sortOrder: 0
+      fieldKey: keys
+      label: Data Extension Primary Keys
+      type: OBJECT
+      description: >-
+        The primary key(s) that uniquely identify a row in the data extension.
+        On the left-hand side, input the SFMC key name. On the right-hand side,
+        map the Segment field that contains the corresponding value. When
+        multiple primary keys are provided, SFMC will update an existing row if
+        all primary keys match, otherwise a new row will be created
+      placeholder: ''
+      required: true
+      multiple: false
+      choices: null
+      dynamic: true
+      allowNull: false
+    - id: 7RBWa4CrPJNyTYkfE1dLd2
+      sortOrder: 1
+      fieldKey: values
+      label: Data Extension Fields
+      type: OBJECT
+      description: >-
+        The fields in the data extension that contain data about an event, such
+        as Product Name, Revenue, Event Time, etc. Fields must be created in the
+        data extension before sending data for it. On the left-hand side, input
+        the SFMC field name exactly how it appears in the data extension. On the
+        right-hand side, map the Segment field that contains the corresponding
+        value.
+      placeholder: ''
+      required: true
+      multiple: false
+      choices: null
+      dynamic: true
+      allowNull: false
+    - id: 8BvhrUXiey5iutkfuKCxKk
+      sortOrder: 2
+      fieldKey: enable_batching
+      label: Batch data to SFMC
+      type: BOOLEAN
+      description: If true, data is batched before sending to the SFMC Data Extension.
+      placeholder: ''
+      defaultValue: false
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: shtWQ25AGQcpE1tdmP1n9G
+      sortOrder: 4
+      fieldKey: operation
+      label: Operation
+      type: STRING
+      description: >-
+        Whether to create a new data extension or select an existing one for
+        data delivery.
+      placeholder: ''
+      required: true
+      multiple: false
+      choices:
+      - label: Create a new Data Extension
+        value: create
+      - label: Select an existing Data Extension
+        value: select
+      dynamic: false
+      allowNull: false
+    - id: 4DbMJDATSkDtK8LYRJR45B
+      sortOrder: 5
+      fieldKey: dataExtensionId
+      label: Data Extension ID
+      type: STRING
+      description: The identifier for the data extension.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: true
+      allowNull: false
+    - id: 9HQGivpCgKw5pNcQvxMDa3
+      sortOrder: 6
+      fieldKey: categoryId
+      label: Category ID (Folder ID)
+      type: STRING
+      description: The identifier for the folder that contains the data extension.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: true
+      allowNull: false
+    - id: suxU3f7Tpi5gs23Kqcg2w7
+      sortOrder: 7
+      fieldKey: name
+      label: Data Extension Name
+      type: STRING
+      description: The name of the data extension.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: 26EAQuxkb5rdDL9CgUpuKG
+      sortOrder: 8
+      fieldKey: description
+      label: Data Extension Description
+      type: STRING
+      description: The description of the data extension.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: tYQvYiMxZxDFCjhEu56PyL
+      sortOrder: 9
+      fieldKey: isSendable
+      label: Is Sendable
+      type: BOOLEAN
+      description: >-
+        Indicates whether the custom object can be used to send messages. If the
+        value of this property is true, then the custom object is sendable
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: 2T5WVnJJBoBS71pXebXtuX
+      sortOrder: 10
+      fieldKey: sendableCustomObjectField
+      label: Sendable Custom Object Field
+      type: STRING
+      description: >-
+        The field on this data extension which is sendable. This must be a field
+        that is present on this data extension.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: b5CeLAQ6gs4WKyfVMeEgzS
+      sortOrder: 11
+      fieldKey: sendableSubscriberField
+      label: Sendable Subscriber Field
+      type: STRING
+      description: >-
+        The relationship with "Subscribers" for the Sendable Custom Object
+        Field.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices:
+      - label: Subscriber Key
+        value: _SubscriberKey
+      - label: Subscriber ID
+        value: _SubscriberID
+      dynamic: false
+      allowNull: false
+    - id: 6YHFzPAwH7H8mwDTxtbhk
+      sortOrder: 12
+      fieldKey: columns
+      label: Data Extension Fields
+      type: OBJECT
+      description: A list of fields to create in the data extension.
+      placeholder: ''
+      required: false
+      multiple: true
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: bTKKS7Lw93ETX8WvPokCsU
+      sortOrder: 13
+      fieldKey: retlOnMappingSave
+      label: Create or Select Data Extension
+      type: OBJECT
+      description: >-
+        Connect to an existing data extension or create a new one in Salesforce
+        Marketing Cloud.
+      defaultValue: null
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+      hidden: false
+    - id: vk4qzR1jutUuga82iQFmcV
+      sortOrder: 14
+      fieldKey: operation
+      label: Operation
+      type: STRING
+      description: >-
+        Whether to create a new data extension or select an existing one for
+        data delivery.
+      placeholder: ''
+      required: true
+      multiple: false
+      choices:
+      - label: Create a new Data Extension
+        value: create
+      - label: Select an existing Data Extension
+        value: select
+      dynamic: false
+      allowNull: false
+    - id: qbaCm2NMPzxZfEJCGfDMjt
+      sortOrder: 15
+      fieldKey: dataExtensionId
+      label: Data Extension ID
+      type: STRING
+      description: The identifier for the data extension.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: true
+      allowNull: false
+    - id: hff9VkRMW2TCC2yWPfD5Tb
+      sortOrder: 16
+      fieldKey: categoryId
+      label: Category ID (Folder ID)
+      type: STRING
+      description: The identifier for the folder that contains the data extension.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: true
+      allowNull: false
+    - id: dAjP9ByPaFExBEUctT9nPq
+      sortOrder: 17
+      fieldKey: name
+      label: Data Extension Name
+      type: STRING
+      description: The name of the data extension.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: qmdGzHA1NGusRFMd5uoFd5
+      sortOrder: 18
+      fieldKey: description
+      label: Data Extension Description
+      type: STRING
+      description: The description of the data extension.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: tMUcq99j4VdoFZnbX3w1RM
+      sortOrder: 19
+      fieldKey: isSendable
+      label: Is Sendable
+      type: BOOLEAN
+      description: >-
+        Indicates whether the custom object can be used to send messages. If the
+        value of this property is true, then the custom object is sendable
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: ssrHTeEKAv269uxcdRaYMt
+      sortOrder: 20
+      fieldKey: sendableCustomObjectField
+      label: Sendable Custom Object Field
+      type: STRING
+      description: >-
+        The field on this data extension which is sendable. This must be a field
+        that is present on this data extension.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: qp6bPgwiB83vBHemFXBsJX
+      sortOrder: 21
+      fieldKey: sendableSubscriberField
+      label: Sendable Subscriber Field
+      type: STRING
+      description: >-
+        The relationship with "Subscribers" for the Sendable Custom Object
+        Field.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices:
+      - label: Subscriber Key
+        value: _SubscriberKey
+      - label: Subscriber ID
+        value: _SubscriberID
+      dynamic: false
+      allowNull: false
+    - id: 4jgm72jg3sXSV6bpWS5j23
+      sortOrder: 22
+      fieldKey: columns
+      label: Data Extension Fields
+      type: OBJECT
+      description: A list of fields to create in the data extension.
+      placeholder: ''
+      required: false
+      multiple: true
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: mt6hTj8jiUs3Jk4ZF5pWRj
+      sortOrder: 23
+      fieldKey: onMappingSave
+      label: Create or Select Data Extension
+      type: OBJECT
+      description: >-
+        Connect to an existing data extension or create a new one in Salesforce
+        Marketing Cloud.
+      defaultValue: null
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+      hidden: false
+  - id: 451LG7JMoSEQQZaB4ENmfp
+    name: Send Contact to Data Extension (V2)
+    slug: contactDataExtensionV2
+    description: >-
+      Upsert contact data as rows into an existing data extension in Salesforce
+      Marketing Cloud.
+    platform: CLOUD
+    hidden: false
+    defaultTrigger: type = "identify"
+    fields:
+    - id: nHJELWgpAfybPmzdkiBzhD
+      sortOrder: 0
+      fieldKey: keys
+      label: Data Extension Primary Keys
+      type: OBJECT
+      description: >-
+        The primary key(s) that uniquely identify a row in the data extension.
+        On the left-hand side, input the SFMC key name. On the right-hand side,
+        map the Segment field that contains the corresponding value. When
+        multiple primary keys are provided, SFMC will update an existing row if
+        all primary keys match, otherwise a new row will be created
+      placeholder: ''
+      defaultValue:
+        contactKey:
+          '@path': $.userId
+      required: true
+      multiple: false
+      choices: null
+      dynamic: true
+      allowNull: false
+    - id: c5sL6KM65fucNpcWfXYurR
+      sortOrder: 1
+      fieldKey: values
+      label: Contact Fields
+      type: OBJECT
+      description: >-
+        The fields in the data extension that contain data about a contact, such
+        as Email, Last Name, etc. Fields must be created in the data extension
+        before sending data for it. On the left-hand side, input the SFMC field
+        name exactly how it appears in the data extension. On the right-hand
+        side, map the Segment field that contains the corresponding value.
+      placeholder: ''
+      required: true
+      multiple: false
+      choices: null
+      dynamic: true
+      allowNull: false
+    - id: 844ctQZXVLtWJ26Fx8TPNK
+      sortOrder: 2
+      fieldKey: enable_batching
+      label: Batch data to SFMC
+      type: BOOLEAN
+      description: If true, data is batched before sending to the SFMC Data Extension.
+      placeholder: ''
+      defaultValue: false
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: sB8Dvkoio4a4AG2rkGcg6B
+      sortOrder: 4
+      fieldKey: operation
+      label: Operation
+      type: STRING
+      description: >-
+        Whether to create a new data extension or select an existing one for
+        data delivery.
+      placeholder: ''
+      required: true
+      multiple: false
+      choices:
+      - label: Create a new Data Extension
+        value: create
+      - label: Select an existing Data Extension
+        value: select
+      dynamic: false
+      allowNull: false
+    - id: JfbT7D7L7YYAESN3AL6zA
+      sortOrder: 5
+      fieldKey: dataExtensionId
+      label: Data Extension ID
+      type: STRING
+      description: The identifier for the data extension.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: true
+      allowNull: false
+    - id: dHLENaRwJiwaarUCvPpahi
+      sortOrder: 6
+      fieldKey: categoryId
+      label: Category ID (Folder ID)
+      type: STRING
+      description: The identifier for the folder that contains the data extension.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: true
+      allowNull: false
+    - id: kdGyRB8vLpTr1UaoathKFt
+      sortOrder: 7
+      fieldKey: name
+      label: Data Extension Name
+      type: STRING
+      description: The name of the data extension.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: n1bg8W6QDZFbqwBM69d9y3
+      sortOrder: 8
+      fieldKey: description
+      label: Data Extension Description
+      type: STRING
+      description: The description of the data extension.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: eBPeJJJeoDe7rztA8nMPfJ
+      sortOrder: 9
+      fieldKey: isSendable
+      label: Is Sendable
+      type: BOOLEAN
+      description: >-
+        Indicates whether the custom object can be used to send messages. If the
+        value of this property is true, then the custom object is sendable
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: hd5Zykihm9PTmiXjfMHT75
+      sortOrder: 10
+      fieldKey: sendableCustomObjectField
+      label: Sendable Custom Object Field
+      type: STRING
+      description: >-
+        The field on this data extension which is sendable. This must be a field
+        that is present on this data extension.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: iTxYgoESWBjr98ZT7Cqv6t
+      sortOrder: 11
+      fieldKey: sendableSubscriberField
+      label: Sendable Subscriber Field
+      type: STRING
+      description: >-
+        The relationship with "Subscribers" for the Sendable Custom Object
+        Field.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices:
+      - label: Subscriber Key
+        value: _SubscriberKey
+      - label: Subscriber ID
+        value: _SubscriberID
+      dynamic: false
+      allowNull: false
+    - id: pxx9XUV664rTK51ZMWoxs7
+      sortOrder: 12
+      fieldKey: columns
+      label: Data Extension Fields
+      type: OBJECT
+      description: A list of fields to create in the data extension.
+      placeholder: ''
+      required: false
+      multiple: true
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: eycpCdFAVUbFRjx69Y5swJ
+      sortOrder: 13
+      fieldKey: retlOnMappingSave
+      label: Create or Select Data Extension
+      type: OBJECT
+      description: >-
+        Connect to an existing data extension or create a new one in Salesforce
+        Marketing Cloud.
+      defaultValue: null
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+      hidden: false
+    - id: vEMuUkY8WJgwmaRpx451k5
+      sortOrder: 14
+      fieldKey: operation
+      label: Operation
+      type: STRING
+      description: >-
+        Whether to create a new data extension or select an existing one for
+        data delivery.
+      placeholder: ''
+      required: true
+      multiple: false
+      choices:
+      - label: Create a new Data Extension
+        value: create
+      - label: Select an existing Data Extension
+        value: select
+      dynamic: false
+      allowNull: false
+    - id: cEaf3ptqCuU2739uoHSMAe
+      sortOrder: 15
+      fieldKey: dataExtensionId
+      label: Data Extension ID
+      type: STRING
+      description: The identifier for the data extension.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: true
+      allowNull: false
+    - id: 2XMuaNAMaGRii6Hq5K6UzV
+      sortOrder: 16
+      fieldKey: categoryId
+      label: Category ID (Folder ID)
+      type: STRING
+      description: The identifier for the folder that contains the data extension.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: true
+      allowNull: false
+    - id: sUxep19wmuPGp6QZkE2TnS
+      sortOrder: 17
+      fieldKey: name
+      label: Data Extension Name
+      type: STRING
+      description: The name of the data extension.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: fKmViPQn4eQLX5aqgMPeLW
+      sortOrder: 18
+      fieldKey: description
+      label: Data Extension Description
+      type: STRING
+      description: The description of the data extension.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: kjJL4n4WhgB1ygCWJWfaTy
+      sortOrder: 19
+      fieldKey: isSendable
+      label: Is Sendable
+      type: BOOLEAN
+      description: >-
+        Indicates whether the custom object can be used to send messages. If the
+        value of this property is true, then the custom object is sendable
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: cJmx59Qi6hUq7eqkfoA74t
+      sortOrder: 20
+      fieldKey: sendableCustomObjectField
+      label: Sendable Custom Object Field
+      type: STRING
+      description: >-
+        The field on this data extension which is sendable. This must be a field
+        that is present on this data extension.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: 9rLexRWHxFyZDfdtpFhVpD
+      sortOrder: 21
+      fieldKey: sendableSubscriberField
+      label: Sendable Subscriber Field
+      type: STRING
+      description: >-
+        The relationship with "Subscribers" for the Sendable Custom Object
+        Field.
+      placeholder: ''
+      required: false
+      multiple: false
+      choices:
+      - label: Subscriber Key
+        value: _SubscriberKey
+      - label: Subscriber ID
+        value: _SubscriberID
+      dynamic: false
+      allowNull: false
+    - id: h1PuRt8zm8pLEzTZq7TuQn
+      sortOrder: 22
+      fieldKey: columns
+      label: Data Extension Fields
+      type: OBJECT
+      description: A list of fields to create in the data extension.
+      placeholder: ''
+      required: false
+      multiple: true
+      choices: null
+      dynamic: false
+      allowNull: false
+    - id: kzQErgZKER7tbhSwf1cgrX
+      sortOrder: 23
+      fieldKey: onMappingSave
+      label: Create or Select Data Extension
+      type: OBJECT
+      description: >-
+        Connect to an existing data extension or create a new one in Salesforce
+        Marketing Cloud.
+      defaultValue: null
+      required: false
+      multiple: false
+      choices: null
+      dynamic: false
+      allowNull: false
+      hidden: false
   presets: []
   partnerOwned: false
 - id: 560a21320a20f4e22f0fb5ca
@@ -110429,7 +111270,7 @@ items:
   regions:
   - us-west-2
   - eu-west-1
-  url: connections/destinations/catalog/sendgrid
+  url: connections/destinations/catalog/actions-sendgrid
   previous_names:
   - Sendgrid Marketing Campaigns
   - SendGrid Marketing Campaigns
@@ -110471,6 +111312,14 @@ items:
       mobile: false
       server: true
   settings:
+  - name: endpoint
+    type: select
+    defaultValue: https://api.sendgrid.com
+    description: >-
+      The regional processing endpoint for your SendGrid account. [See more
+      details](https://www.twilio.com/en-us/blog/send-emails-in-eu?_gl=1*7hyri9*_gcl_au*MTg0MTQwMjAzNi4xNzQzMDAyNzc4*_ga*MTk4OTI2MDk1LjE3NDMwMDI3Nzg.*_ga_8W5LR442LD*MTc0MzY3NTc2NC41LjAuMTc0MzY3NTc2NC4wLjAuMA..)
+    required: false
+    label: Regional Processing Endpoint
   - name: sendGridApiKey
     type: password
     defaultValue: ''
@@ -110486,7 +111335,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: bFLGgga7TQzPzCjbWKn1n3
+    - id: bKgk7VAGChyRDAByDkoDDS
       sortOrder: 0
       fieldKey: enable_batching
       label: Batch Data to SendGrid Contacts PUT API
@@ -110503,7 +111352,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 6GcqcDcgTMX8MGUXYpHqJS
+    - id: iNsbwYbUxcZwCDgy44n2yV
       sortOrder: 1
       fieldKey: first_name
       label: First Name
@@ -110524,7 +111373,7 @@ items:
       dynamic: false
       allowNull: true
       hidden: false
-    - id: 6BsL9y5fxGHuRNcyKqFEyz
+    - id: ufAcUUhzMiKirpdSvb74iD
       sortOrder: 2
       fieldKey: last_name
       label: Last Name
@@ -110545,7 +111394,7 @@ items:
       dynamic: false
       allowNull: true
       hidden: false
-    - id: 9EjdEn8rEAP8HHauNLKBnZ
+    - id: 9yMxCBvTo7JojAANboLFnF
       sortOrder: 3
       fieldKey: country
       label: Country
@@ -110566,7 +111415,7 @@ items:
       dynamic: false
       allowNull: true
       hidden: false
-    - id: aY1t6mbbA5Nor5Tyrnq1NA
+    - id: xzuieQSYQpBFEMUfaUbwSN
       sortOrder: 4
       fieldKey: postal_code
       label: Postal Code
@@ -110587,7 +111436,7 @@ items:
       dynamic: false
       allowNull: true
       hidden: false
-    - id: 34w7bvDj4fXH561wiSJatG
+    - id: 9VhSb8sUG8588bVYYs9L5y
       sortOrder: 5
       fieldKey: city
       label: City
@@ -110608,7 +111457,7 @@ items:
       dynamic: false
       allowNull: true
       hidden: false
-    - id: aLqWa9oTFwKdmwCbdZf1WY
+    - id: 8DhnVUXHtNHKyQZGJCBKY2
       sortOrder: 6
       fieldKey: state
       label: State
@@ -110629,7 +111478,7 @@ items:
       dynamic: false
       allowNull: true
       hidden: false
-    - id: 3nsR53Yp634dDRk5B4hMvK
+    - id: 6hoPRD8u4oGViyKNLcarZi
       sortOrder: 7
       fieldKey: address_line_1
       label: Address Line 1
@@ -110650,7 +111499,7 @@ items:
       dynamic: false
       allowNull: true
       hidden: false
-    - id: 9HH1q6wyccibKY3JA75Kob
+    - id: f7tzmi9DAzjsuTFyTB6R2j
       sortOrder: 8
       fieldKey: address_line_2
       label: Address Line 2
@@ -110671,7 +111520,7 @@ items:
       dynamic: false
       allowNull: true
       hidden: false
-    - id: iWNo8cZDLi9rTgk7VkaEXn
+    - id: sur13nsSSbN8WYtfCtxscV
       sortOrder: 9
       fieldKey: phone_number
       label: Phone Number
@@ -110694,7 +111543,7 @@ items:
       dynamic: false
       allowNull: true
       hidden: false
-    - id: d16gw85ZGJKsXiGGZaiZR3
+    - id: uSDxaRetSb6ohz2A961Eoo
       sortOrder: 10
       fieldKey: whatsapp
       label: WhatsApp
@@ -110715,7 +111564,7 @@ items:
       dynamic: false
       allowNull: true
       hidden: false
-    - id: iGtuq8qmPo3Xxrqsw5RVHd
+    - id: ixE6NsLdXBhjL4oUHyP4sN
       sortOrder: 11
       fieldKey: line
       label: Line
@@ -110736,7 +111585,7 @@ items:
       dynamic: false
       allowNull: true
       hidden: false
-    - id: 7v2xZmyJPDt5etCrF4ybD
+    - id: apfCvxSyZTHZw5kp2BDQQW
       sortOrder: 12
       fieldKey: facebook
       label: Facebook
@@ -110757,7 +111606,7 @@ items:
       dynamic: false
       allowNull: true
       hidden: false
-    - id: qnPrkiNh7nYTvAWFi1qwPX
+    - id: f5QkZJ29cN1t58rKAYBWsx
       sortOrder: 13
       fieldKey: unique_name
       label: Unique Name
@@ -110778,7 +111627,7 @@ items:
       dynamic: false
       allowNull: true
       hidden: false
-    - id: dqMd51yeqXjwshZsRo4gVV
+    - id: qcgKnMwQzk44RSK42ZWVMH
       sortOrder: 14
       fieldKey: primary_email
       label: Email Address
@@ -110799,7 +111648,7 @@ items:
       dynamic: false
       allowNull: true
       hidden: false
-    - id: 94WhZQcGQBT4igaWL9riEA
+    - id: rJ6MNEosZsTcbf84PSBmgd
       sortOrder: 15
       fieldKey: phone_number_id
       label: Phone Number ID
@@ -110821,7 +111670,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: 7ee6DUkSN2QpJPe9qZuSEF
+    - id: tpQRYyjjGLgz8mbyUMgJ8e
       sortOrder: 16
       fieldKey: external_id
       label: External ID
@@ -110841,7 +111690,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: bBKqZE2R2NiZ5w2LRs4RXm
+    - id: pVuL4kC4FHwxSnon44Swhu
       sortOrder: 17
       fieldKey: anonymous_id
       label: 'Anonymous ID '
@@ -110855,7 +111704,7 @@ items:
       choices: null
       dynamic: false
       allowNull: true
-    - id: bJvyNSETQ6AWtT3iQVuitA
+    - id: 2A2cbrgDKj2PtWQbCaMGPJ
       sortOrder: 18
       fieldKey: customFields
       label: Other Fields
@@ -110885,7 +111734,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: aW9Lt8XH6Bmj9spQReQyR
+    - id: ok8bmX6n11X9o7gUeFYw8N
       sortOrder: 0
       fieldKey: domain
       label: Validated Domain
@@ -110901,7 +111750,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: ji5pjSRom1ZpULM43DQhaw
+    - id: sWZP3C1aKep982wDAtj4zp
       sortOrder: 1
       fieldKey: from
       label: From
@@ -110913,7 +111762,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 8XmTfnJkTnuwZeSdCtS1Wa
+    - id: oLdT7QoL1TT5gmPajD3ANs
       sortOrder: 2
       fieldKey: to
       label: To
@@ -110930,7 +111779,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 7F8cYTcaD2t2rgwwsTtuPV
+    - id: v1hkZSJjwk7nzEVVpGoAf4
       sortOrder: 3
       fieldKey: cc
       label: CC
@@ -110942,7 +111791,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: d3ZahtXUdj3UBbqHkpjVyT
+    - id: fPdgXQpummcWvkrKAusAU
       sortOrder: 4
       fieldKey: bcc
       label: BCC
@@ -110954,7 +111803,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 7u2UCSi9UcMNNvLqJhttV1
+    - id: vmj6XTgYGb8mjSXqcLMwTN
       sortOrder: 5
       fieldKey: headers
       label: Headers
@@ -110966,7 +111815,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 3QpaChrgZ5pkWjJs8GkvJb
+    - id: nXSFBUhrGkRvByqXp4QLiK
       sortOrder: 6
       fieldKey: dynamic_template_data
       label: Dynamic Template Data
@@ -110981,7 +111830,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: oiTYPEhgQDgaAusZZPv3Zb
+    - id: 7nFVym6ksGejsE4eekhydM
       sortOrder: 7
       fieldKey: template_id
       label: Dynamic Template
@@ -110993,7 +111842,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: 5WP4pF1Bqcj7pfXorNpgzb
+    - id: jv8L2bFyjS8jmZJC7zf6Y
       sortOrder: 8
       fieldKey: custom_args
       label: Custom Args
@@ -111005,7 +111854,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: tdtTExuhQZJUqYJmr3BbvE
+    - id: pVLHvejcLaV8TcwbxHnqbr
       sortOrder: 9
       fieldKey: send_at
       label: Send At
@@ -111019,7 +111868,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: hM2amnTaNahSeuBsX5vbcQ
+    - id: jsXa7quh19zZ4ftSRQcM7K
       sortOrder: 10
       fieldKey: reply_to
       label: Reply To
@@ -111033,7 +111882,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: jsS35apCqNJQJwm2efNhwP
+    - id: 227WSk9Lk5uUrk1o5N3avt
       sortOrder: 11
       fieldKey: categories
       label: Categories
@@ -111045,7 +111894,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: uSMCVVccHskqn1SLaPJfwX
+    - id: qykX9GDPP7ayg3ywJZrE5L
       sortOrder: 12
       fieldKey: ip_pool_name
       label: IP Pool
@@ -111057,7 +111906,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: kdXDdsbaLJZz6gZm61q35b
+    - id: ozmFQpbsncQ1E52nK8w9eL
       sortOrder: 13
       fieldKey: group_id
       label: Group ID
@@ -112452,7 +113301,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: gXyFzQFEz9ZU3eCYBNSBRv
+    - id: dnHqM68JQoXdXepAmDnsmN
       sortOrder: 0
       fieldKey: event_name
       label: Event Name
@@ -112468,7 +113317,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: jsX7khJkSpfRfFkEQDCGBg
+    - id: dGjHDFXpwoHjJvZmwksgAX
       sortOrder: 1
       fieldKey: event_id
       label: Event ID
@@ -112488,7 +113337,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: sUo5VQNrGkfZic4atzZ6sf
+    - id: gfHoAwZRchvP32jWyBWfd9
       sortOrder: 2
       fieldKey: event_time
       label: Event Timestamp
@@ -112504,7 +113353,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ikbyD35JubLdAoe9wpehSH
+    - id: sXQcCjL4Notsf1nhNSNmZY
       sortOrder: 3
       fieldKey: action_source
       label: Action Source
@@ -112532,7 +113381,7 @@ items:
         value: other
       dynamic: false
       allowNull: false
-    - id: mdvhvoXCyRjm8oNNAJUbBy
+    - id: ygXAAeWNkLotaL9CyGhsP
       sortOrder: 4
       fieldKey: user_data
       label: User Data
@@ -112648,7 +113497,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 8NmUiD3L4MX4kb3952kJNq
+    - id: 2ew5HVyQPqCUb5SATZUQVh
       sortOrder: 5
       fieldKey: app_data
       label: App Data
@@ -112685,7 +113534,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: wLq3rVd1L9BAmrq8mM4EVi
+    - id: vQ3JwFeYSHPoxL42YJafye
       sortOrder: 6
       fieldKey: custom_data
       label: Custom Data
@@ -112714,7 +113563,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: oKWu9ifRgYxpTZPUFtr7Bw
+    - id: tmbXUg3G31HPU3Yfk56LJb
       sortOrder: 7
       fieldKey: data_processing_options
       label: Data Processing Options
@@ -112729,7 +113578,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: gbWCWfNt5CDfnKd3CbSMgB
+    - id: vY1oAo4CRyLuArzH544AyK
       sortOrder: 8
       fieldKey: data_processing_options_country
       label: Data Processing Country
@@ -112750,7 +113599,7 @@ items:
         value: 1
       dynamic: false
       allowNull: false
-    - id: tXQayV51x5bjhioQjYbvNa
+    - id: btSgS9NfKPK2eTeNmd2vck
       sortOrder: 9
       fieldKey: data_processing_options_state
       label: Data Processing State
@@ -112771,7 +113620,7 @@ items:
         value: 1000
       dynamic: false
       allowNull: false
-    - id: hv7duzTpRy6zuESPucCwQq
+    - id: 9sanPEREQwrfWnmH93DA18
       sortOrder: 10
       fieldKey: event_source_url
       label: Event Source URL
@@ -112785,7 +113634,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 8vT9JnKtEStUZnpcZeXbVF
+    - id: 3AJ73S5NayBdWx48rm6Na2
       sortOrder: 11
       fieldKey: products
       label: Products
@@ -112809,7 +113658,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: orQuaDBv7EnzCBbxhZersU
+    - id: v2dPrvfwBi4xiEen6Qorqp
       sortOrder: 12
       fieldKey: brands
       label: '[Deprecated] Brand'
@@ -112821,7 +113670,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: jb6ecVW7GGo33ivJ9HA6HD
+    - id: ubx26SKsM6tHqYukcV8iyY
       sortOrder: 13
       fieldKey: click_id
       label: '[Deprecated] Click ID'
@@ -112833,7 +113682,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: kYwVr9u2HzdqLnrHkzQqiK
+    - id: gC2rrQHQtZ9YgFTr4RR4qb
       sortOrder: 14
       fieldKey: client_dedup_id
       label: '[Deprecated] Client Deduplication ID'
@@ -112845,7 +113694,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: gvzAiPUDohLrxNtFix9jcB
+    - id: jbvBBmSwTNjq9gujRRstcd
       sortOrder: 15
       fieldKey: currency
       label: '[Deprecated] Currency'
@@ -112857,7 +113706,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: eZBijvwki2pWFGgNUYPTU3
+    - id: 2oDWWqtEjA6tsc7Ysk5xnc
       sortOrder: 16
       fieldKey: description
       label: '[Deprecated] Description'
@@ -112869,7 +113718,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 8PetoUGcXznScCs5FMBCN2
+    - id: 8bboUew4g6ZcEGcKko8sAx
       sortOrder: 17
       fieldKey: device_model
       label: '[Deprecated] Device Model'
@@ -112881,19 +113730,21 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 6cLEM47jbuhR18Ffj3pzFZ
+    - id: 6SGTR9E8pAqHqaTSC9H8iE
       sortOrder: 18
       fieldKey: email
       label: '[Deprecated] Email'
       type: STRING
-      description: Deprecated. Use User Data email field.
+      description: >-
+        Deprecated. Use User Data email field. If not hashed, Segment will hash
+        this value.
       placeholder: ''
       required: false
       multiple: false
       choices: null
       dynamic: false
       allowNull: false
-    - id: hrU46qLyWJ8U8sMtW5RYgg
+    - id: pKbRR9DM6ExXFFaa1kX9nA
       sortOrder: 19
       fieldKey: event_conversion_type
       label: '[Deprecated] Event Conversion Type'
@@ -112911,7 +113762,7 @@ items:
         value: MOBILE_APP
       dynamic: false
       allowNull: false
-    - id: wSkFM4ojcwPGVYi74yw1pU
+    - id: 6kJN774QRtnHYy8rYAW9yy
       sortOrder: 20
       fieldKey: event_tag
       label: '[Deprecated] Event Tag'
@@ -112923,7 +113774,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ojwH4tZSwEGy6kMqBYNSVs
+    - id: 6KHXvz7jZ9u3BSWn3bET4J
       sortOrder: 21
       fieldKey: event_type
       label: '[Deprecated] Event Type'
@@ -112935,7 +113786,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: q4tFZW28BRHGP71CwxCDqr
+    - id: ch1Z4XSrSM89gzFixnwTfX
       sortOrder: 22
       fieldKey: idfv
       label: '[Deprecated] Identifier for Vendor'
@@ -112947,7 +113798,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 38MzvjT2Vwi3c1hqfLZHwf
+    - id: uFdgLTzszN4y9CWuFWpFvC
       sortOrder: 23
       fieldKey: ip_address
       label: '[Deprecated] IP Address'
@@ -112959,7 +113810,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: oeQouqLHbco5P4Db13an9V
+    - id: j9KfQ93GGA9ZVfvnobMSEi
       sortOrder: 24
       fieldKey: item_category
       label: '[Deprecated] Item Category'
@@ -112971,7 +113822,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: g89fygDQoLC1vig96wTTwk
+    - id: eowjYhTNBX8t16JVkp7KTJ
       sortOrder: 25
       fieldKey: item_ids
       label: '[Deprecated] Item ID'
@@ -112983,7 +113834,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 24C6nYG3RzA3vAvJpdL8DG
+    - id: sT6rYQuBzb1RUwA1312NHA
       sortOrder: 26
       fieldKey: level
       label: '[Deprecated] Level'
@@ -112995,7 +113846,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 96YigVuX8TSWoqSHMqNYjW
+    - id: biJrPNKCABS3bXWaAeevdA
       sortOrder: 27
       fieldKey: mobile_ad_id
       label: '[Deprecated] Mobile Ad Identifier'
@@ -113007,7 +113858,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ftvgEZNhocNiQntbpzqVxc
+    - id: rD1NZJU3drQDkJrFxwB6Xj
       sortOrder: 28
       fieldKey: number_items
       label: '[Deprecated] Number of Items'
@@ -113019,7 +113870,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: v6WhB1cjUYNT9pq1tsKvK4
+    - id: ogdLhYr6DgwqhZtb6ifvXH
       sortOrder: 29
       fieldKey: os_version
       label: '[Deprecated] OS Version'
@@ -113031,7 +113882,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: epZYx7TS1GiGhCJtLSXoRu
+    - id: ho8W6YYkw1xR7LhpswXFiN
       sortOrder: 30
       fieldKey: page_url
       label: '[Deprecated] Page URL'
@@ -113043,19 +113894,21 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 6KWfARxq4hdVzEkeTDkuk
+    - id: skB2HWcxqz3HGAtBiPTxk2
       sortOrder: 31
       fieldKey: phone_number
       label: '[Deprecated] Phone Number'
       type: STRING
-      description: Deprecated. Use User Data phone field.
+      description: >-
+        Deprecated. Use User Data phone field. If not hashed, Segment will hash
+        this value.
       placeholder: ''
       required: false
       multiple: false
       choices: null
       dynamic: false
       allowNull: false
-    - id: eRLNVCC7jjKEvDmjz3rQ5S
+    - id: fqH4Ub54vHCQFerXreD4TN
       sortOrder: 32
       fieldKey: price
       label: '[Deprecated] Price'
@@ -113067,7 +113920,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: qcz54TQYRXtqacSrNcTuXW
+    - id: wyTiDPwJYfBFewAVCkwBBQ
       sortOrder: 33
       fieldKey: search_string
       label: '[Deprecated] Search String'
@@ -113079,7 +113932,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: aNv35X4iS8SsqAWe19bfy5
+    - id: 8rK3nxqGPhKkfdnDTGur5X
       sortOrder: 34
       fieldKey: sign_up_method
       label: '[Deprecated] Sign Up Method'
@@ -113091,7 +113944,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 2ZVcpqyaDLconXk1RksYC3
+    - id: xqszNRgpifhBZoX8DvcF4y
       sortOrder: 35
       fieldKey: timestamp
       label: '[Deprecated] Event Timestamp'
@@ -113103,7 +113956,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 3gKWJVqPjxdHG2vGojxyJp
+    - id: 2L3QwhwWPC1wkrmrjmz3qa
       sortOrder: 36
       fieldKey: transaction_id
       label: '[Deprecated] Transaction ID'
@@ -113115,7 +113968,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 77K13r8USLMDaw8LTfw8eq
+    - id: f9W6Kt7vFrQ6tmmvsbQmBc
       sortOrder: 37
       fieldKey: user_agent
       label: '[Deprecated] User Agent'
@@ -113127,7 +113980,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: uKuMCgVNd6hdyGJbj8Fr6A
+    - id: oUxiTHV2T465uWrS5gukeL
       sortOrder: 38
       fieldKey: uuid_c1
       label: '[Deprecated] uuid_c1 Cookie'
@@ -113153,9 +114006,9 @@ items:
     fields: []
   presets:
   - actionId: 66Yrkz8i3GvgSLVFeJQvN9
-    name: Purchase
+    name: Share
     fields:
-      event_name: PURCHASE
+      event_name: SHARE
       action_source: website
       event_id:
         '@path': $.messageId
@@ -113313,11 +114166,11 @@ items:
             '@path': category
           brand:
             '@path': brand
-    trigger: event = "Order Completed"
+    trigger: event = "Product Shared"
   - actionId: 66Yrkz8i3GvgSLVFeJQvN9
-    name: Sign Up
+    name: Start Checkout
     fields:
-      event_name: SIGN_UP
+      event_name: START_CHECKOUT
       action_source: website
       event_id:
         '@path': $.messageId
@@ -113475,7 +114328,13 @@ items:
             '@path': category
           brand:
             '@path': brand
-    trigger: event = "Signed Up"
+    trigger: event = "Checkout Started"
+  - actionId: 7SEWxzhedEAS9y5joDwrub
+    name: Snap Browser Plugin
+    fields: {}
+    trigger: >-
+      type = "track" or type = "identify" or type = "group" or type = "page" or
+      type = "alias"
   - actionId: 66Yrkz8i3GvgSLVFeJQvN9
     name: Add Billing
     fields:
@@ -113639,171 +114498,9 @@ items:
             '@path': brand
     trigger: event = "Payment Info Entered"
   - actionId: 66Yrkz8i3GvgSLVFeJQvN9
-    name: App Open
-    fields:
-      event_name: APP_OPEN
-      action_source: website
-      event_id:
-        '@path': $.messageId
-      event_time:
-        '@path': $.timestamp
-      user_data:
-        externalId:
-          '@if':
-            exists:
-              '@path': $.userId
-            then:
-              '@path': $.userId
-            else:
-              '@path': $.anonymousId
-        email:
-          '@if':
-            exists:
-              '@path': $.properties.email
-            then:
-              '@path': $.properties.email
-            else:
-              '@path': $.traits.email
-        phone:
-          '@if':
-            exists:
-              '@path': $.properties.phone
-            then:
-              '@path': $.properties.phone
-            else:
-              '@path': $.traits.phone
-        gender:
-          '@if':
-            exists:
-              '@path': $.context.traits.gender
-            then:
-              '@path': $.context.traits.gender
-            else:
-              '@path': $.properties.gender
-        dateOfBirth:
-          '@if':
-            exists:
-              '@path': $.context.traits.birthday
-            then:
-              '@path': $.context.traits.birthday
-            else:
-              '@path': $.properties.birthday
-        lastName:
-          '@if':
-            exists:
-              '@path': $.context.traits.last_name
-            then:
-              '@path': $.context.traits.last_name
-            else:
-              '@path': $.properties.last_name
-        firstName:
-          '@if':
-            exists:
-              '@path': $.context.traits.first_name
-            then:
-              '@path': $.context.traits.first_name
-            else:
-              '@path': $.properties.first_name
-        city:
-          '@if':
-            exists:
-              '@path': $.context.traits.address.city
-            then:
-              '@path': $.context.traits.address.city
-            else:
-              '@path': $.properties.address.city
-        state:
-          '@if':
-            exists:
-              '@path': $.context.traits.address.state
-            then:
-              '@path': $.context.traits.address.state
-            else:
-              '@path': $.properties.address.state
-        country:
-          '@if':
-            exists:
-              '@path': $.context.traits.address.country
-            then:
-              '@path': $.context.traits.address.country
-            else:
-              '@path': $.properties.address.country
-        zip:
-          '@if':
-            exists:
-              '@path': $.context.traits.address.postalCode
-            then:
-              '@path': $.context.traits.address.postalCode
-            else:
-              '@path': $.properties.address.postalCode
-        client_ip_address:
-          '@path': $.context.ip
-        client_user_agent:
-          '@path': $.context.userAgent
-        idfv:
-          '@path': $.context.device.id
-        madid:
-          '@path': $.context.device.advertisingId
-        sc_click_id:
-          '@path': $.integrations.Snap Conversions Api.click_id
-        sc_cookie1:
-          '@path': $.integrations.Snap Conversions Api.uuid_c1
-      app_data:
-        application_tracking_enabled:
-          '@path': $.context.device.adTrackingEnabled
-        packageName:
-          '@path': $.context.app.namespace
-        longVersion:
-          '@path': $.context.app.version
-        osVersion:
-          '@path': $.context.os.version
-        deviceName:
-          '@path': $.context.device.model
-        locale:
-          '@path': $.context.locale
-        carrier:
-          '@path': $.context.network.carrier
-        width:
-          '@path': $.context.screen.width
-        height:
-          '@path': $.context.screen.height
-        density:
-          '@path': $.context.screen.density
-        deviceTimezone:
-          '@path': $.context.timezone
-      custom_data:
-        currency:
-          '@path': $.properties.currency
-        num_items:
-          '@path': $.properties.quantity
-        order_id:
-          '@path': $.properties.order_id
-        search_string:
-          '@path': $.properties.query
-        value:
-          '@if':
-            exists:
-              '@path': $.properties.revenue
-            then:
-              '@path': $.properties.revenue
-            else:
-              '@path': $.properties.total
-      event_source_url:
-        '@path': $.context.page.url
-      products:
-        '@arrayPath':
-        - $.properties.products
-        - item_id:
-            '@path': product_id
-          item_category:
-            '@path': category
-          brand:
-            '@path': brand
-    trigger: event = "Application Opened"
-  - actionId: 66Yrkz8i3GvgSLVFeJQvN9
-    name: Share
+    name: View Content
     fields:
-      event_name: SHARE
+      event_name: VIEW_CONTENT
       action_source: website
       event_id:
         '@path': $.messageId
@@ -113961,7 +114658,7 @@ items:
             '@path': category
           brand:
             '@path': brand
-    trigger: event = "Product Shared"
+    trigger: event = "Product Viewed"
   - actionId: 66Yrkz8i3GvgSLVFeJQvN9
     name: Login
     fields:
@@ -114125,9 +114822,9 @@ items:
             '@path': brand
     trigger: event = "Signed In"
   - actionId: 66Yrkz8i3GvgSLVFeJQvN9
-    name: Page View
+    name: App Open
     fields:
-      event_name: PAGE_VIEW
+      event_name: APP_OPEN
       action_source: website
       event_id:
         '@path': $.messageId
@@ -114285,11 +114982,11 @@ items:
             '@path': category
           brand:
             '@path': brand
-    trigger: type = "page"
+    trigger: event = "Application Opened"
   - actionId: 66Yrkz8i3GvgSLVFeJQvN9
-    name: List View
+    name: Add to Cart
     fields:
-      event_name: LIST_VIEW
+      event_name: ADD_CART
       action_source: website
       event_id:
         '@path': $.messageId
@@ -114447,11 +115144,11 @@ items:
             '@path': category
           brand:
             '@path': brand
-    trigger: event = "Product List Viewed"
+    trigger: event = "Product Added"
   - actionId: 66Yrkz8i3GvgSLVFeJQvN9
-    name: Add to Cart
+    name: Search
     fields:
-      event_name: ADD_CART
+      event_name: SEARCH
       action_source: website
       event_id:
         '@path': $.messageId
@@ -114609,11 +115306,335 @@ items:
             '@path': category
           brand:
             '@path': brand
-    trigger: event = "Product Added"
+    trigger: event = "Products Searched"
   - actionId: 66Yrkz8i3GvgSLVFeJQvN9
-    name: Search
+    name: Purchase
     fields:
-      event_name: SEARCH
+      event_name: PURCHASE
+      action_source: website
+      event_id:
+        '@path': $.messageId
+      event_time:
+        '@path': $.timestamp
+      user_data:
+        externalId:
+          '@if':
+            exists:
+              '@path': $.userId
+            then:
+              '@path': $.userId
+            else:
+              '@path': $.anonymousId
+        email:
+          '@if':
+            exists:
+              '@path': $.properties.email
+            then:
+              '@path': $.properties.email
+            else:
+              '@path': $.traits.email
+        phone:
+          '@if':
+            exists:
+              '@path': $.properties.phone
+            then:
+              '@path': $.properties.phone
+            else:
+              '@path': $.traits.phone
+        gender:
+          '@if':
+            exists:
+              '@path': $.context.traits.gender
+            then:
+              '@path': $.context.traits.gender
+            else:
+              '@path': $.properties.gender
+        dateOfBirth:
+          '@if':
+            exists:
+              '@path': $.context.traits.birthday
+            then:
+              '@path': $.context.traits.birthday
+            else:
+              '@path': $.properties.birthday
+        lastName:
+          '@if':
+            exists:
+              '@path': $.context.traits.last_name
+            then:
+              '@path': $.context.traits.last_name
+            else:
+              '@path': $.properties.last_name
+        firstName:
+          '@if':
+            exists:
+              '@path': $.context.traits.first_name
+            then:
+              '@path': $.context.traits.first_name
+            else:
+              '@path': $.properties.first_name
+        city:
+          '@if':
+            exists:
+              '@path': $.context.traits.address.city
+            then:
+              '@path': $.context.traits.address.city
+            else:
+              '@path': $.properties.address.city
+        state:
+          '@if':
+            exists:
+              '@path': $.context.traits.address.state
+            then:
+              '@path': $.context.traits.address.state
+            else:
+              '@path': $.properties.address.state
+        country:
+          '@if':
+            exists:
+              '@path': $.context.traits.address.country
+            then:
+              '@path': $.context.traits.address.country
+            else:
+              '@path': $.properties.address.country
+        zip:
+          '@if':
+            exists:
+              '@path': $.context.traits.address.postalCode
+            then:
+              '@path': $.context.traits.address.postalCode
+            else:
+              '@path': $.properties.address.postalCode
+        client_ip_address:
+          '@path': $.context.ip
+        client_user_agent:
+          '@path': $.context.userAgent
+        idfv:
+          '@path': $.context.device.id
+        madid:
+          '@path': $.context.device.advertisingId
+        sc_click_id:
+          '@path': $.integrations.Snap Conversions Api.click_id
+        sc_cookie1:
+          '@path': $.integrations.Snap Conversions Api.uuid_c1
+      app_data:
+        application_tracking_enabled:
+          '@path': $.context.device.adTrackingEnabled
+        packageName:
+          '@path': $.context.app.namespace
+        longVersion:
+          '@path': $.context.app.version
+        osVersion:
+          '@path': $.context.os.version
+        deviceName:
+          '@path': $.context.device.model
+        locale:
+          '@path': $.context.locale
+        carrier:
+          '@path': $.context.network.carrier
+        width:
+          '@path': $.context.screen.width
+        height:
+          '@path': $.context.screen.height
+        density:
+          '@path': $.context.screen.density
+        deviceTimezone:
+          '@path': $.context.timezone
+      custom_data:
+        currency:
+          '@path': $.properties.currency
+        num_items:
+          '@path': $.properties.quantity
+        order_id:
+          '@path': $.properties.order_id
+        search_string:
+          '@path': $.properties.query
+        value:
+          '@if':
+            exists:
+              '@path': $.properties.revenue
+            then:
+              '@path': $.properties.revenue
+            else:
+              '@path': $.properties.total
+      event_source_url:
+        '@path': $.context.page.url
+      products:
+        '@arrayPath':
+        - $.properties.products
+        - item_id:
+            '@path': product_id
+          item_category:
+            '@path': category
+          brand:
+            '@path': brand
+    trigger: event = "Order Completed"
+  - actionId: 66Yrkz8i3GvgSLVFeJQvN9
+    name: App Install
+    fields:
+      event_name: APP_INSTALL
+      action_source: website
+      event_id:
+        '@path': $.messageId
+      event_time:
+        '@path': $.timestamp
+      user_data:
+        externalId:
+          '@if':
+            exists:
+              '@path': $.userId
+            then:
+              '@path': $.userId
+            else:
+              '@path': $.anonymousId
+        email:
+          '@if':
+            exists:
+              '@path': $.properties.email
+            then:
+              '@path': $.properties.email
+            else:
+              '@path': $.traits.email
+        phone:
+          '@if':
+            exists:
+              '@path': $.properties.phone
+            then:
+              '@path': $.properties.phone
+            else:
+              '@path': $.traits.phone
+        gender:
+          '@if':
+            exists:
+              '@path': $.context.traits.gender
+            then:
+              '@path': $.context.traits.gender
+            else:
+              '@path': $.properties.gender
+        dateOfBirth:
+          '@if':
+            exists:
+              '@path': $.context.traits.birthday
+            then:
+              '@path': $.context.traits.birthday
+            else:
+              '@path': $.properties.birthday
+        lastName:
+          '@if':
+            exists:
+              '@path': $.context.traits.last_name
+            then:
+              '@path': $.context.traits.last_name
+            else:
+              '@path': $.properties.last_name
+        firstName:
+          '@if':
+            exists:
+              '@path': $.context.traits.first_name
+            then:
+              '@path': $.context.traits.first_name
+            else:
+              '@path': $.properties.first_name
+        city:
+          '@if':
+            exists:
+              '@path': $.context.traits.address.city
+            then:
+              '@path': $.context.traits.address.city
+            else:
+              '@path': $.properties.address.city
+        state:
+          '@if':
+            exists:
+              '@path': $.context.traits.address.state
+            then:
+              '@path': $.context.traits.address.state
+            else:
+              '@path': $.properties.address.state
+        country:
+          '@if':
+            exists:
+              '@path': $.context.traits.address.country
+            then:
+              '@path': $.context.traits.address.country
+            else:
+              '@path': $.properties.address.country
+        zip:
+          '@if':
+            exists:
+              '@path': $.context.traits.address.postalCode
+            then:
+              '@path': $.context.traits.address.postalCode
+            else:
+              '@path': $.properties.address.postalCode
+        client_ip_address:
+          '@path': $.context.ip
+        client_user_agent:
+          '@path': $.context.userAgent
+        idfv:
+          '@path': $.context.device.id
+        madid:
+          '@path': $.context.device.advertisingId
+        sc_click_id:
+          '@path': $.integrations.Snap Conversions Api.click_id
+        sc_cookie1:
+          '@path': $.integrations.Snap Conversions Api.uuid_c1
+      app_data:
+        application_tracking_enabled:
+          '@path': $.context.device.adTrackingEnabled
+        packageName:
+          '@path': $.context.app.namespace
+        longVersion:
+          '@path': $.context.app.version
+        osVersion:
+          '@path': $.context.os.version
+        deviceName:
+          '@path': $.context.device.model
+        locale:
+          '@path': $.context.locale
+        carrier:
+          '@path': $.context.network.carrier
+        width:
+          '@path': $.context.screen.width
+        height:
+          '@path': $.context.screen.height
+        density:
+          '@path': $.context.screen.density
+        deviceTimezone:
+          '@path': $.context.timezone
+      custom_data:
+        currency:
+          '@path': $.properties.currency
+        num_items:
+          '@path': $.properties.quantity
+        order_id:
+          '@path': $.properties.order_id
+        search_string:
+          '@path': $.properties.query
+        value:
+          '@if':
+            exists:
+              '@path': $.properties.revenue
+            then:
+              '@path': $.properties.revenue
+            else:
+              '@path': $.properties.total
+      event_source_url:
+        '@path': $.context.page.url
+      products:
+        '@arrayPath':
+        - $.properties.products
+        - item_id:
+            '@path': product_id
+          item_category:
+            '@path': category
+          brand:
+            '@path': brand
+    trigger: event = "Application Installed"
+  - actionId: 66Yrkz8i3GvgSLVFeJQvN9
+    name: Page View
+    fields:
+      event_name: PAGE_VIEW
       action_source: website
       event_id:
         '@path': $.messageId
@@ -114771,17 +115792,11 @@ items:
             '@path': category
           brand:
             '@path': brand
-    trigger: event = "Products Searched"
-  - actionId: 7SEWxzhedEAS9y5joDwrub
-    name: Snap Browser Plugin
-    fields: {}
-    trigger: >-
-      type = "track" or type = "identify" or type = "group" or type = "page" or
-      type = "alias"
+    trigger: type = "page"
   - actionId: 66Yrkz8i3GvgSLVFeJQvN9
-    name: View Content
+    name: List View
     fields:
-      event_name: VIEW_CONTENT
+      event_name: LIST_VIEW
       action_source: website
       event_id:
         '@path': $.messageId
@@ -114939,7 +115954,7 @@ items:
             '@path': category
           brand:
             '@path': brand
-    trigger: event = "Product Viewed"
+    trigger: event = "Product List Viewed"
   - actionId: 66Yrkz8i3GvgSLVFeJQvN9
     name: Add to Wishlist
     fields:
@@ -115103,171 +116118,9 @@ items:
             '@path': brand
     trigger: event = "Product Added to Wishlist"
   - actionId: 66Yrkz8i3GvgSLVFeJQvN9
-    name: Start Checkout
-    fields:
-      event_name: START_CHECKOUT
-      action_source: website
-      event_id:
-        '@path': $.messageId
-      event_time:
-        '@path': $.timestamp
-      user_data:
-        externalId:
-          '@if':
-            exists:
-              '@path': $.userId
-            then:
-              '@path': $.userId
-            else:
-              '@path': $.anonymousId
-        email:
-          '@if':
-            exists:
-              '@path': $.properties.email
-            then:
-              '@path': $.properties.email
-            else:
-              '@path': $.traits.email
-        phone:
-          '@if':
-            exists:
-              '@path': $.properties.phone
-            then:
-              '@path': $.properties.phone
-            else:
-              '@path': $.traits.phone
-        gender:
-          '@if':
-            exists:
-              '@path': $.context.traits.gender
-            then:
-              '@path': $.context.traits.gender
-            else:
-              '@path': $.properties.gender
-        dateOfBirth:
-          '@if':
-            exists:
-              '@path': $.context.traits.birthday
-            then:
-              '@path': $.context.traits.birthday
-            else:
-              '@path': $.properties.birthday
-        lastName:
-          '@if':
-            exists:
-              '@path': $.context.traits.last_name
-            then:
-              '@path': $.context.traits.last_name
-            else:
-              '@path': $.properties.last_name
-        firstName:
-          '@if':
-            exists:
-              '@path': $.context.traits.first_name
-            then:
-              '@path': $.context.traits.first_name
-            else:
-              '@path': $.properties.first_name
-        city:
-          '@if':
-            exists:
-              '@path': $.context.traits.address.city
-            then:
-              '@path': $.context.traits.address.city
-            else:
-              '@path': $.properties.address.city
-        state:
-          '@if':
-            exists:
-              '@path': $.context.traits.address.state
-            then:
-              '@path': $.context.traits.address.state
-            else:
-              '@path': $.properties.address.state
-        country:
-          '@if':
-            exists:
-              '@path': $.context.traits.address.country
-            then:
-              '@path': $.context.traits.address.country
-            else:
-              '@path': $.properties.address.country
-        zip:
-          '@if':
-            exists:
-              '@path': $.context.traits.address.postalCode
-            then:
-              '@path': $.context.traits.address.postalCode
-            else:
-              '@path': $.properties.address.postalCode
-        client_ip_address:
-          '@path': $.context.ip
-        client_user_agent:
-          '@path': $.context.userAgent
-        idfv:
-          '@path': $.context.device.id
-        madid:
-          '@path': $.context.device.advertisingId
-        sc_click_id:
-          '@path': $.integrations.Snap Conversions Api.click_id
-        sc_cookie1:
-          '@path': $.integrations.Snap Conversions Api.uuid_c1
-      app_data:
-        application_tracking_enabled:
-          '@path': $.context.device.adTrackingEnabled
-        packageName:
-          '@path': $.context.app.namespace
-        longVersion:
-          '@path': $.context.app.version
-        osVersion:
-          '@path': $.context.os.version
-        deviceName:
-          '@path': $.context.device.model
-        locale:
-          '@path': $.context.locale
-        carrier:
-          '@path': $.context.network.carrier
-        width:
-          '@path': $.context.screen.width
-        height:
-          '@path': $.context.screen.height
-        density:
-          '@path': $.context.screen.density
-        deviceTimezone:
-          '@path': $.context.timezone
-      custom_data:
-        currency:
-          '@path': $.properties.currency
-        num_items:
-          '@path': $.properties.quantity
-        order_id:
-          '@path': $.properties.order_id
-        search_string:
-          '@path': $.properties.query
-        value:
-          '@if':
-            exists:
-              '@path': $.properties.revenue
-            then:
-              '@path': $.properties.revenue
-            else:
-              '@path': $.properties.total
-      event_source_url:
-        '@path': $.context.page.url
-      products:
-        '@arrayPath':
-        - $.properties.products
-        - item_id:
-            '@path': product_id
-          item_category:
-            '@path': category
-          brand:
-            '@path': brand
-    trigger: event = "Checkout Started"
-  - actionId: 66Yrkz8i3GvgSLVFeJQvN9
-    name: App Install
+    name: Sign Up
     fields:
-      event_name: APP_INSTALL
+      event_name: SIGN_UP
       action_source: website
       event_id:
         '@path': $.messageId
@@ -115425,7 +116278,7 @@ items:
             '@path': category
           brand:
             '@path': brand
-    trigger: event = "Application Installed"
+    trigger: event = "Signed Up"
   partnerOwned: true
 - id: 54521fdb25e721e32a72eef6
   display_name: SnapEngage
@@ -117406,7 +118259,7 @@ items:
     hidden: false
     defaultTrigger: type = "track"
     fields:
-    - id: wzWg4fgD9UyNEre76x3TqP
+    - id: nHGjJdyXRHs1bV9rjWwsou
       sortOrder: 3
       fieldKey: user_email
       label: Email address
@@ -117427,7 +118280,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: mnXZj17ERAxy2Dk7XjXTvw
+    - id: 4spaVcWVggwupxXCtwaDhU
       sortOrder: 5
       fieldKey: enable_batching
       label: Batch events
@@ -117442,7 +118295,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: m5G1yerhx8Pfo9C4Y52DTQ
+    - id: gGtkJyNcXem6VHw39XqBmY
       sortOrder: 6
       fieldKey: device_id
       label: Mobile Device ID
@@ -119315,7 +120168,7 @@ items:
     hidden: false
     defaultTrigger: event = "Audience Entered"
     fields:
-    - id: rG2TpPbMsU5pCTTED91v6v
+    - id: jReSYT1FRwVpNWTrtRFstq
       sortOrder: 0
       fieldKey: selected_advertiser_id
       label: Advertiser ID
@@ -119327,7 +120180,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: 5VV8gdd4okiwKUNNPi6UY4
+    - id: 2iUN2BmFJ1roZ9C4M6uXJy
       sortOrder: 1
       fieldKey: audience_id
       label: Audience ID
@@ -119342,12 +120195,14 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: 5S4ANNxFrViDc4ppnmDMvf
+    - id: qtEjaSUuuapw15wenD4ncV
       sortOrder: 2
       fieldKey: email
       label: User Email
       type: STRING
-      description: The user's email address to send to TikTok.
+      description: >-
+        The user's email address to send to TikTok.. If not hashed, Segment will
+        hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -119362,12 +120217,14 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: dCtaH5X6dnYxbdiinKwZhJ
+    - id: ofapusAaUg9RzyhnEwzsMV
       sortOrder: 3
       fieldKey: phone
       label: User Phone Number
       type: STRING
-      description: The user's phone number to send to TikTok.
+      description: >-
+        The user's phone number to send to TikTok.. If not hashed, Segment will
+        hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -119382,14 +120239,14 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: nHDkZevb21yAnnxpSp5jCC
+    - id: asj5QwEts6uvb94zKVPisJ
       sortOrder: 4
       fieldKey: advertising_id
       label: User Advertising ID
       type: STRING
       description: >-
         The user's mobile advertising ID to send to TikTok. This could be a
-        GAID, IDFA, or AAID
+        GAID, IDFA, or AAID. If not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@path': $.context.device.advertisingId
@@ -119398,7 +120255,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: hFUsbeS5TaBX6FJRXNBJKu
+    - id: j9mgcjHrKWFRLBzA5ePEyT
       sortOrder: 5
       fieldKey: send_email
       label: Send Email?
@@ -119411,7 +120268,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: oj9uRPVVFn4KFt8L5axTjQ
+    - id: fau77AikJqU8VyVgVC9p5s
       sortOrder: 6
       fieldKey: send_phone
       label: Send Phone Number?
@@ -119424,7 +120281,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5G5XArdL6pqur1SGCmMvmH
+    - id: cNuXum4YBPJ58nQKD8MHTU
       sortOrder: 7
       fieldKey: send_advertising_id
       label: Send Mobile Advertising ID?
@@ -119447,7 +120304,7 @@ items:
     hidden: false
     defaultTrigger: event = "Audience Exited"
     fields:
-    - id: 68m3rzM5BTWtReLFYAYsEk
+    - id: nHFQqgCLrtX5L99bqWuntQ
       sortOrder: 0
       fieldKey: selected_advertiser_id
       label: Advertiser ID
@@ -119459,7 +120316,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: psjszvyZN5XwU8zUjhUbgd
+    - id: j2FzTKxN6oKeKgvR5UfJsN
       sortOrder: 1
       fieldKey: audience_id
       label: Audience ID
@@ -119474,12 +120331,14 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: vaPtvFprRAXtRkZ51Acbkn
+    - id: wT19e4qmXFqXA28vPWSePm
       sortOrder: 2
       fieldKey: email
       label: User Email
       type: STRING
-      description: The user's email address to send to TikTok.
+      description: >-
+        The user's email address to send to TikTok.. If not hashed, Segment will
+        hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -119494,12 +120353,14 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5GYqTnSgwcQbPEAisu1cEg
+    - id: 8FQQLDwUFGxGXki8eduJjZ
       sortOrder: 3
       fieldKey: phone
       label: User Phone Number
       type: STRING
-      description: The user's phone number to send to TikTok.
+      description: >-
+        The user's phone number to send to TikTok.. If not hashed, Segment will
+        hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -119514,14 +120375,14 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5JG76ksyLTJxek2stDZypK
+    - id: pv8CvkoKybSvFabsEQ7nb7
       sortOrder: 4
       fieldKey: advertising_id
       label: User Advertising ID
       type: STRING
       description: >-
         The user's mobile advertising ID to send to TikTok. This could be a
-        GAID, IDFA, or AAID
+        GAID, IDFA, or AAID. If not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@path': $.context.device.advertisingId
@@ -119530,7 +120391,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 2Ym8UhsE8nVSJNigAyEKx5
+    - id: kcpBAaTGSQ9BD7Z6yeFUoz
       sortOrder: 5
       fieldKey: send_email
       label: Send Email?
@@ -119543,7 +120404,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: tSxCTyw8AoeG7ihJG1Mk3i
+    - id: 2rgrccwb6V4TDVZ7bwwDTA
       sortOrder: 6
       fieldKey: send_phone
       label: Send Phone Number?
@@ -119556,7 +120417,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: grEsbNBqtqEh4SewTNcn2N
+    - id: srvvFv4LhLMVp4syiq6zu1
       sortOrder: 7
       fieldKey: send_advertising_id
       label: Send Mobile Advertising ID?
@@ -119582,7 +120443,7 @@ items:
     hidden: false
     defaultTrigger: event = "Create Audience"
     fields:
-    - id: gyGfKXUuHqoWs4hJyNicGu
+    - id: eav9jvde8sCPJoRFqLXTLf
       sortOrder: 0
       fieldKey: selected_advertiser_id
       label: Advertiser ID
@@ -119594,7 +120455,7 @@ items:
       choices: null
       dynamic: true
       allowNull: false
-    - id: mhZXHWX3fDrS5igBQyL4pW
+    - id: fqndwyDs8zKFmBJSCWu1z1
       sortOrder: 1
       fieldKey: custom_audience_name
       label: Custom Audience Name
@@ -119617,12 +120478,14 @@ items:
     hidden: false
     defaultTrigger: event = "Audience Entered"
     fields:
-    - id: hG9FHXK7RiTdLBrsmFYoaP
+    - id: aog9g9D2eQuS12Kw1Ea1cd
       sortOrder: 0
       fieldKey: email
       label: User Email
       type: STRING
-      description: The user's email address to send to TikTok.
+      description: >-
+        The user's email address to send to TikTok.. If not hashed, Segment will
+        hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -119637,12 +120500,14 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: hy6Wc8BH4YY5N2rGgN9tnm
+    - id: fRiutPaqeJBRZ1tvYJcp9r
       sortOrder: 1
       fieldKey: phone
       label: User Phone Number
       type: STRING
-      description: The user's phone number to send to TikTok.
+      description: >-
+        The user's phone number to send to TikTok.. If not hashed, Segment will
+        hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -119657,14 +120522,14 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: cSMfjAyvdBQu2r8pQW5wro
+    - id: n6N7f7qQ6b1zrhMtg15EvM
       sortOrder: 2
       fieldKey: advertising_id
       label: User Advertising ID
       type: STRING
       description: >-
         The user's mobile advertising ID to send to TikTok. This could be a
-        GAID, IDFA, or AAID
+        GAID, IDFA, or AAID. If not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@path': $.context.device.advertisingId
@@ -119673,7 +120538,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 6ypdRaL6JvyTM8nnUuEecu
+    - id: qJAab2EStRJtC8Tzh3ESM9
       sortOrder: 3
       fieldKey: send_email
       label: Send Email?
@@ -119686,7 +120551,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: esR9mUuEQXumTKk8dnGXQz
+    - id: hxNY3eUM7nBzDNMVy5eUkz
       sortOrder: 4
       fieldKey: send_phone
       label: Send Phone Number?
@@ -119699,7 +120564,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 2zrsK8W9qa2Hux9acLwrYh
+    - id: kahAwwGzWCdCYMhJMRCgaT
       sortOrder: 5
       fieldKey: send_advertising_id
       label: Send Mobile Advertising ID?
@@ -119722,12 +120587,14 @@ items:
     hidden: false
     defaultTrigger: event = "Audience Exited"
     fields:
-    - id: 59TeVTEyPyys1zM1zYsZ6k
+    - id: uiPMnuAyvGXJCwuJh5X1GA
       sortOrder: 0
       fieldKey: email
       label: User Email
       type: STRING
-      description: The user's email address to send to TikTok.
+      description: >-
+        The user's email address to send to TikTok.. If not hashed, Segment will
+        hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -119742,12 +120609,14 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: a5dvipF2SLVf2gPDHQVuLn
+    - id: 2KPsgbSfyGRhth71n5vGmC
       sortOrder: 1
       fieldKey: phone
       label: User Phone Number
       type: STRING
-      description: The user's phone number to send to TikTok.
+      description: >-
+        The user's phone number to send to TikTok.. If not hashed, Segment will
+        hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -119762,14 +120631,14 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: r6kBx4g2A36zYH4c2hBcgx
+    - id: jUoVwN2v66Rzz9dBhxTpHc
       sortOrder: 2
       fieldKey: advertising_id
       label: User Advertising ID
       type: STRING
       description: >-
         The user's mobile advertising ID to send to TikTok. This could be a
-        GAID, IDFA, or AAID
+        GAID, IDFA, or AAID. If not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@path': $.context.device.advertisingId
@@ -119778,7 +120647,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: eS9LPCwYnJiAQytu8aYTBf
+    - id: anE9xsiDk3gad4Hj2Qpmj1
       sortOrder: 3
       fieldKey: send_email
       label: Send Email?
@@ -119791,7 +120660,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5FK6y4bDT1JBBo7NTj1GAL
+    - id: pXrxN2KrgRsGajguMcBWAJ
       sortOrder: 4
       fieldKey: send_phone
       label: Send Phone Number?
@@ -119804,7 +120673,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 5JCPYuBeorieecwCPr1ARK
+    - id: tcyrrgCGp29Eo8SUGrcQMg
       sortOrder: 5
       fieldKey: send_advertising_id
       label: Send Mobile Advertising ID?
@@ -119902,7 +120771,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: p6VYmAJZHtSZrjD3MzRfE6
+    - id: ikKNtZN56gsPQw9gDkWXYM
       sortOrder: 0
       fieldKey: event
       label: Event Name
@@ -119919,7 +120788,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 8rZshfHAVuZr9r4bJoU8ZN
+    - id: 471ePm6VGUZ1xXRt9voonL
       sortOrder: 1
       fieldKey: event_id
       label: Event ID
@@ -119934,7 +120803,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: nEAbq6MPApL259cEskfEZf
+    - id: jvaV6qTrKsroLUfCAk1kyp
       sortOrder: 2
       fieldKey: timestamp
       label: Event Timestamp
@@ -119949,7 +120818,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: pRaoFyJHwHdpTu56jstKTy
+    - id: hdr5sR1uAQrB8k5uiDKz2J
       sortOrder: 3
       fieldKey: phone_number
       label: Phone Number
@@ -119957,7 +120826,8 @@ items:
       description: >-
         A single phone number or array of phone numbers in E.164 standard
         format. Segment will hash this value before sending to TikTok. e.g.
-        +14150000000. Segment will hash this value before sending to TikTok.
+        +14150000000. Segment will hash this value before sending to TikTok. If
+        not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -119973,14 +120843,15 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: tQ8GcrmLnWwJgxrAsLEULf
+    - id: 3uZQBkkhDUqi45Pd3Xf9H9
       sortOrder: 4
       fieldKey: email
       label: Email
       type: STRING
       description: >-
         A single email address or an array of email addresses. Segment will hash
-        this value before sending to TikTok.
+        this value before sending to TikTok. If not hashed, Segment will hash
+        this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -119996,14 +120867,15 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 942tSWEms6rHern4XdKrny
+    - id: p3r3YKmpsptSnkup5GTfnV
       sortOrder: 5
       fieldKey: first_name
       label: First Name
       type: STRING
       description: >-
         The first name of the customer. The name should be in lowercase without
-        any punctuation. Special characters are allowed.
+        any punctuation. Special characters are allowed. If not hashed, Segment
+        will hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -120018,14 +120890,15 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: r9ipWT1k8oUDuYrmnKsrdo
+    - id: 4t66RaPURfzeuqbN9xb4zh
       sortOrder: 6
       fieldKey: last_name
       label: Last Name
       type: STRING
       description: >-
         The last name of the customer. The name should be in lowercase without
-        any punctuation. Special characters are allowed.
+        any punctuation. Special characters are allowed. If not hashed, Segment
+        will hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -120040,7 +120913,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 8rZttnJJhDn7nphrRa7Zj
+    - id: kZcWGJ492r46USemz2NAT1
       sortOrder: 7
       fieldKey: address
       label: Address
@@ -120085,7 +120958,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: p7xdCHrrAdn4jSuKtLcjcb
+    - id: 2pAjQQ2w9iKi4wNGuFVcbX
       sortOrder: 8
       fieldKey: order_id
       label: Order ID
@@ -120099,7 +120972,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 7Mp14SXcTG2pCLtkVjpiuE
+    - id: fMeSdPiJd7PHpxwLde2Vvx
       sortOrder: 9
       fieldKey: shop_id
       label: Shop ID
@@ -120113,7 +120986,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: cWZ3epng4mHNnpDBRnhyQC
+    - id: 9C7zFdQRk3JcuGj2tqvz2o
       sortOrder: 10
       fieldKey: external_id
       label: External ID
@@ -120122,7 +120995,7 @@ items:
         Uniquely identifies the user who triggered the conversion event. Segment
         will hash this value before sending to TikTok. TikTok Conversions
         Destination supports both string and string[] types for sending external
-        ID(s).
+        ID(s). If not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -120138,7 +121011,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: ew9jsj26YnomqVWpg4CjvY
+    - id: qcXGJXfxyjehPQsrSCLs9s
       sortOrder: 11
       fieldKey: ttclid
       label: TikTok Click ID
@@ -120163,7 +121036,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 9Vw7DiJosqfjt8eNfyYPNk
+    - id: 31JPQKQUCDPCW5Edn7K4bK
       sortOrder: 12
       fieldKey: ttp
       label: TikTok Cookie ID
@@ -120191,7 +121064,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 8h8YFMzCK9d7MmFYmTpiY7
+    - id: rNYKo55shY7CjA1fn36tUM
       sortOrder: 13
       fieldKey: lead_id
       label: TikTok Lead ID
@@ -120209,7 +121082,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: b9KkVqKjEA9mYwygnJKVGw
+    - id: bupMrFsViaREbryNd9ipEb
       sortOrder: 14
       fieldKey: locale
       label: Locale
@@ -120225,7 +121098,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: kRDKfZzgeeUGRxGsjyDFBi
+    - id: 73KYNGUqZbsh9oq288SjJR
       sortOrder: 15
       fieldKey: url
       label: Page URL
@@ -120240,7 +121113,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: fryHTNXYZ3uv58TeY2xXVD
+    - id: FnrfrAfpiaWKmbx9Va6sD
       sortOrder: 16
       fieldKey: referrer
       label: Page Referrer
@@ -120255,7 +121128,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: hyy8aRYxU1dBhJ67DLgCu3
+    - id: cDGhuucvpiriqdRyVstnv8
       sortOrder: 17
       fieldKey: ip
       label: IP Address
@@ -120270,7 +121143,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: m7E59GfCDmXzabNiniWcqf
+    - id: kExxYNP3wkoEqCtjpode26
       sortOrder: 18
       fieldKey: user_agent
       label: User Agent
@@ -120285,7 +121158,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 6tyNEHCfQS52yc5qTFx6GB
+    - id: vFsmjixxSQWFP25hCte7tb
       sortOrder: 19
       fieldKey: contents
       label: Contents
@@ -120298,7 +121171,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: f26jVnDptw5zcHd9kSxkwZ
+    - id: eXAu8dopAd4mxZU6Gy5yvy
       sortOrder: 20
       fieldKey: content_type
       label: Content Type
@@ -120319,7 +121192,7 @@ items:
         value: product_group
       dynamic: false
       allowNull: false
-    - id: jHB8wbSdeu4VtgKGWBHoq
+    - id: 23wGdbAApcui7t7AB37Gva
       sortOrder: 21
       fieldKey: currency
       label: Currency
@@ -120334,7 +121207,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: vLLaJkxAGazEWSLNXxGHVv
+    - id: sM48KFh7D16o5rrHe99ds9
       sortOrder: 22
       fieldKey: value
       label: Value
@@ -120355,7 +121228,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: py9sswdMGxLH5ePBHLTnpt
+    - id: 6tJWCUpHAHvivuEjjFp9cv
       sortOrder: 23
       fieldKey: description
       label: Description
@@ -120368,7 +121241,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: mkxciuiPKNp8Gz3BtxDNNP
+    - id: vqcARpmV14vCjUzz9EHhtu
       sortOrder: 24
       fieldKey: query
       label: Query
@@ -120383,7 +121256,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: m5JyaBoFwefuQM2CFcLx9p
+    - id: 2whtzq1LZqXRRCuyK4F3qU
       sortOrder: 25
       fieldKey: limited_data_use
       label: Limited Data Use
@@ -120403,7 +121276,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: UMuv15KCWAutSRVK9kLsL
+    - id: itUv9MxNNVqLgdb7CKRMTi
       sortOrder: 26
       fieldKey: test_event_code
       label: Test Event Code
@@ -120566,7 +121439,7 @@ items:
       event: AddPaymentInfo
     trigger: event = "Payment Info Entered"
   - actionId: sgzMwUxWm5jPu4SSaGt6cS
-    name: Download
+    name: View Content
     fields:
       event_id:
         '@path': $.messageId
@@ -120692,10 +121565,25 @@ items:
         '@path': $.properties.query
       limited_data_use:
         '@path': $.properties.limited_data_use
-      event: Download
-    trigger: event = "Download Link Clicked"
+      contents:
+        '@arrayPath':
+        - $.properties
+        - price:
+            '@path': $.price
+          quantity:
+            '@path': $.quantity
+          content_category:
+            '@path': $.category
+          content_id:
+            '@path': $.product_id
+          content_name:
+            '@path': $.name
+          brand:
+            '@path': $.brand
+      event: ViewContent
+    trigger: event = "Product Viewed"
   - actionId: sgzMwUxWm5jPu4SSaGt6cS
-    name: Initiate Checkout
+    name: Submit Form
     fields:
       event_id:
         '@path': $.messageId
@@ -120821,25 +121709,10 @@ items:
         '@path': $.properties.query
       limited_data_use:
         '@path': $.properties.limited_data_use
-      contents:
-        '@arrayPath':
-        - $.properties.products
-        - price:
-            '@path': $.price
-          quantity:
-            '@path': $.quantity
-          content_category:
-            '@path': $.category
-          content_id:
-            '@path': $.product_id
-          content_name:
-            '@path': $.name
-          brand:
-            '@path': $.brand
-      event: InitiateCheckout
-    trigger: event = "Checkout Started"
+      event: SubmitForm
+    trigger: event = "Form Submitted"
   - actionId: sgzMwUxWm5jPu4SSaGt6cS
-    name: Complete Registration
+    name: Initiate Checkout
     fields:
       event_id:
         '@path': $.messageId
@@ -120965,8 +121838,23 @@ items:
         '@path': $.properties.query
       limited_data_use:
         '@path': $.properties.limited_data_use
-      event: CompleteRegistration
-    trigger: event = "Signed Up"
+      contents:
+        '@arrayPath':
+        - $.properties.products
+        - price:
+            '@path': $.price
+          quantity:
+            '@path': $.quantity
+          content_category:
+            '@path': $.category
+          content_id:
+            '@path': $.product_id
+          content_name:
+            '@path': $.name
+          brand:
+            '@path': $.brand
+      event: InitiateCheckout
+    trigger: event = "Checkout Started"
   - actionId: sgzMwUxWm5jPu4SSaGt6cS
     name: Click Button
     fields:
@@ -121112,7 +122000,7 @@ items:
       event: ClickButton
     trigger: event = "Product Clicked"
   - actionId: sgzMwUxWm5jPu4SSaGt6cS
-    name: Contact
+    name: Download
     fields:
       event_id:
         '@path': $.messageId
@@ -121238,10 +122126,10 @@ items:
         '@path': $.properties.query
       limited_data_use:
         '@path': $.properties.limited_data_use
-      event: Contact
-    trigger: event = "Callback Started"
+      event: Download
+    trigger: event = "Download Link Clicked"
   - actionId: sgzMwUxWm5jPu4SSaGt6cS
-    name: Place an Order
+    name: Contact
     fields:
       event_id:
         '@path': $.messageId
@@ -121367,25 +122255,10 @@ items:
         '@path': $.properties.query
       limited_data_use:
         '@path': $.properties.limited_data_use
-      contents:
-        '@arrayPath':
-        - $.properties.products
-        - price:
-            '@path': $.price
-          quantity:
-            '@path': $.quantity
-          content_category:
-            '@path': $.category
-          content_id:
-            '@path': $.product_id
-          content_name:
-            '@path': $.name
-          brand:
-            '@path': $.brand
-      event: PlaceAnOrder
-    trigger: event = "Order Placed"
+      event: Contact
+    trigger: event = "Callback Started"
   - actionId: sgzMwUxWm5jPu4SSaGt6cS
-    name: Search
+    name: Complete Payment
     fields:
       event_id:
         '@path': $.messageId
@@ -121513,7 +122386,7 @@ items:
         '@path': $.properties.limited_data_use
       contents:
         '@arrayPath':
-        - $.properties
+        - $.properties.products
         - price:
             '@path': $.price
           quantity:
@@ -121526,10 +122399,10 @@ items:
             '@path': $.name
           brand:
             '@path': $.brand
-      event: Search
-    trigger: event = "Products Searched"
+      event: CompletePayment
+    trigger: event = "Order Completed"
   - actionId: sgzMwUxWm5jPu4SSaGt6cS
-    name: Complete Payment
+    name: Subscribe
     fields:
       event_id:
         '@path': $.messageId
@@ -121655,25 +122528,10 @@ items:
         '@path': $.properties.query
       limited_data_use:
         '@path': $.properties.limited_data_use
-      contents:
-        '@arrayPath':
-        - $.properties.products
-        - price:
-            '@path': $.price
-          quantity:
-            '@path': $.quantity
-          content_category:
-            '@path': $.category
-          content_id:
-            '@path': $.product_id
-          content_name:
-            '@path': $.name
-          brand:
-            '@path': $.brand
-      event: CompletePayment
-    trigger: event = "Order Completed"
+      event: Subscribe
+    trigger: event = "Subscription Created"
   - actionId: sgzMwUxWm5jPu4SSaGt6cS
-    name: Submit Form
+    name: Page View
     fields:
       event_id:
         '@path': $.messageId
@@ -121799,10 +122657,25 @@ items:
         '@path': $.properties.query
       limited_data_use:
         '@path': $.properties.limited_data_use
-      event: SubmitForm
-    trigger: event = "Form Submitted"
+      contents:
+        '@arrayPath':
+        - $.properties.products
+        - price:
+            '@path': $.price
+          quantity:
+            '@path': $.quantity
+          content_category:
+            '@path': $.category
+          content_id:
+            '@path': $.product_id
+          content_name:
+            '@path': $.name
+          brand:
+            '@path': $.brand
+      event: PageView
+    trigger: type="page"
   - actionId: sgzMwUxWm5jPu4SSaGt6cS
-    name: Page View
+    name: Search
     fields:
       event_id:
         '@path': $.messageId
@@ -121930,7 +122803,7 @@ items:
         '@path': $.properties.limited_data_use
       contents:
         '@arrayPath':
-        - $.properties.products
+        - $.properties
         - price:
             '@path': $.price
           quantity:
@@ -121943,10 +122816,10 @@ items:
             '@path': $.name
           brand:
             '@path': $.brand
-      event: PageView
-    trigger: type="page"
+      event: Search
+    trigger: event = "Products Searched"
   - actionId: sgzMwUxWm5jPu4SSaGt6cS
-    name: Add to Cart
+    name: Add to Wishlist
     fields:
       event_id:
         '@path': $.messageId
@@ -122087,10 +122960,10 @@ items:
             '@path': $.name
           brand:
             '@path': $.brand
-      event: AddToCart
-    trigger: event = "Product Added"
+      event: AddToWishlist
+    trigger: event = "Product Added to Wishlist"
   - actionId: sgzMwUxWm5jPu4SSaGt6cS
-    name: View Content
+    name: Add to Cart
     fields:
       event_id:
         '@path': $.messageId
@@ -122231,10 +123104,10 @@ items:
             '@path': $.name
           brand:
             '@path': $.brand
-      event: ViewContent
-    trigger: event = "Product Viewed"
+      event: AddToCart
+    trigger: event = "Product Added"
   - actionId: sgzMwUxWm5jPu4SSaGt6cS
-    name: Add to Wishlist
+    name: Complete Registration
     fields:
       event_id:
         '@path': $.messageId
@@ -122360,25 +123233,10 @@ items:
         '@path': $.properties.query
       limited_data_use:
         '@path': $.properties.limited_data_use
-      contents:
-        '@arrayPath':
-        - $.properties
-        - price:
-            '@path': $.price
-          quantity:
-            '@path': $.quantity
-          content_category:
-            '@path': $.category
-          content_id:
-            '@path': $.product_id
-          content_name:
-            '@path': $.name
-          brand:
-            '@path': $.brand
-      event: AddToWishlist
-    trigger: event = "Product Added to Wishlist"
+      event: CompleteRegistration
+    trigger: event = "Signed Up"
   - actionId: sgzMwUxWm5jPu4SSaGt6cS
-    name: Subscribe
+    name: Place an Order
     fields:
       event_id:
         '@path': $.messageId
@@ -122504,8 +123362,23 @@ items:
         '@path': $.properties.query
       limited_data_use:
         '@path': $.properties.limited_data_use
-      event: Subscribe
-    trigger: event = "Subscription Created"
+      contents:
+        '@arrayPath':
+        - $.properties.products
+        - price:
+            '@path': $.price
+          quantity:
+            '@path': $.quantity
+          content_category:
+            '@path': $.category
+          content_id:
+            '@path': $.product_id
+          content_name:
+            '@path': $.name
+          brand:
+            '@path': $.brand
+      event: PlaceAnOrder
+    trigger: event = "Order Placed"
   partnerOwned: true
 - id: 6447ca8bfaa773a2ba0777a0
   display_name: Tiktok Offline Conversions
@@ -122588,7 +123461,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: s9wfLWJsqxdMy2imEmrkdE
+    - id: d16g9MCBt7HWKops7i6hLv
       sortOrder: 0
       fieldKey: event
       label: Event Name
@@ -122605,7 +123478,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: pzEcpeaUMVjypFTyZcyiVz
+    - id: rBMktUYiZWi8cjbVdUTy2B
       sortOrder: 1
       fieldKey: event_id
       label: Event ID
@@ -122620,7 +123493,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 2eQAYcasN3p6shqy9w2emy
+    - id: wMBhwyfPqXZS6zqupUQFeW
       sortOrder: 2
       fieldKey: timestamp
       label: Event Timestamp
@@ -122635,16 +123508,16 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: mfrAP5n6tXfttgFe59JMZj
+    - id: kh6U2HKxGsgbfxkMw8STMy
       sortOrder: 3
       fieldKey: phone_numbers
       label: Phone Number
       type: STRING
       description: >-
         A single phone number or array of phone numbers in E.164 standard
-        format. Segment will hash this value before sending to TikTok. At least
-        one phone number value is required if both Email and External ID fields
-        are empty.
+        format. At least one phone number value is required if both Email and
+        External ID fields are empty. If not hashed, Segment will hash this
+        value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -122660,15 +123533,15 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: jgGL8PXHXgecuxcH16EHjv
+    - id: 2R9rZ9WpSPLjZTZEt6xrr
       sortOrder: 4
       fieldKey: email_addresses
       label: Email
       type: STRING
       description: >-
-        A single email address or an array of email addresses. Segment will hash
-        this value before sending to TikTok. At least one email value is
-        required if both Phone Number and External ID fields are empty.
+        A single email address or an array of email addresses. At least one
+        email value is required if both Phone Number and External ID fields are
+        empty. If not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -122684,7 +123557,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: bLuY4N9zdMt1zkJ624ojqx
+    - id: 4ZxZW5tEckApWjeixGnU6E
       sortOrder: 5
       fieldKey: order_id
       label: Order ID
@@ -122699,7 +123572,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: wXEqmYds82wkusSCoL87TN
+    - id: kfafhELZ9KEugDTqprivEb
       sortOrder: 6
       fieldKey: shop_id
       label: Shop ID
@@ -122714,17 +123587,17 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: mH8JjiHmy5AKLNxaTKJyMd
+    - id: uEeQ6pvLR1QuBVVYkgo5S5
       sortOrder: 7
       fieldKey: external_ids
       label: External ID
       type: STRING
       description: >-
-        Uniquely identifies the user who triggered the conversion event. Segment
-        will hash this value before sending to TikTok. TikTok Offline
-        Conversions Destination supports both string and string[] types for
-        sending external ID(s). At least one external ID value is required if
-        both Email and Phone Number fields are empty.
+        Uniquely identifies the user who triggered the conversion event. TikTok
+        Offline Conversions Destination supports both string and string[] types
+        for sending external ID(s). At least one external ID value is required
+        if both Email and Phone Number fields are empty. If not hashed, Segment
+        will hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -122739,7 +123612,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 2rWbAnaVVg6NtRxF2g1Gqs
+    - id: YTxUx9dEUKZHa2wbQVE7y
       sortOrder: 8
       fieldKey: ttclid
       label: TikTok Click ID
@@ -122763,7 +123636,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 831kbyHgvR8Z5JSq7tnofz
+    - id: nwcKjnpJKRrCmduqd1A3u6
       sortOrder: 9
       fieldKey: ttp
       label: TikTok Cookie ID
@@ -122791,7 +123664,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: j1jZraZdMNLmWz2tDizFjK
+    - id: wakXSmjesAKSpeXwUYsBd1
       sortOrder: 10
       fieldKey: lead_id
       label: TikTok Lead ID
@@ -122808,7 +123681,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 245pziMtBZ4R9wvPePtsWL
+    - id: vQSmUhQqdeMYjTyoASms59
       sortOrder: 11
       fieldKey: locale
       label: Locale
@@ -122824,7 +123697,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: hnggKkCd3RCipKWpNekefN
+    - id: 3CcD5igBVT85oi6yZHUa7W
       sortOrder: 12
       fieldKey: url
       label: Page URL
@@ -122838,7 +123711,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: jmTo4epDCFA5m4AUoRontD
+    - id: jANdpLnPf9NgiDZeFwesvZ
       sortOrder: 13
       fieldKey: referrer
       label: Page Referrer
@@ -122852,7 +123725,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: hTAQgXapqRQSCiUjx61Uoa
+    - id: i3NUykXxzA2aQzcc69JpzX
       sortOrder: 14
       fieldKey: ip
       label: IP Address
@@ -122866,7 +123739,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: piBnVfP2DDW3geeq5qweMX
+    - id: wG2k2yGY87ZEYtj7pZTHsN
       sortOrder: 15
       fieldKey: user_agent
       label: User Agent
@@ -122880,7 +123753,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: g9t4h69MpWu6VF3vAY7hHa
+    - id: 3Zr7vvPvxPpEBZhsvBF543
       sortOrder: 16
       fieldKey: contents
       label: Contents
@@ -122892,7 +123765,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: gbH3Uotrmf23okgKpTfgJS
+    - id: aaruiynnatTKDo1app26vk
       sortOrder: 17
       fieldKey: content_type
       label: Content Type
@@ -122913,7 +123786,7 @@ items:
         value: product_group
       dynamic: false
       allowNull: false
-    - id: fLyz2Za5p2DfXMq2bfzKuJ
+    - id: dQYBxs3ThnAPnmUfPDuftk
       sortOrder: 18
       fieldKey: currency
       label: Currency
@@ -122927,7 +123800,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: hmon4Q14tyzyEk7kFwVSt
+    - id: tZbNitDzJ9DkktLmyEDCda
       sortOrder: 19
       fieldKey: value
       label: Value
@@ -122947,7 +123820,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: sJiBMhcZkqM8xmyTvQjQUd
+    - id: n6d5tyf4FXrC6qg332KAmx
       sortOrder: 20
       fieldKey: description
       label: Description
@@ -122959,7 +123832,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: c4D36av3HWzX4UnnffSH3E
+    - id: cqx53pwGGoA8jGWu89PoHZ
       sortOrder: 21
       fieldKey: query
       label: Query
@@ -122973,7 +123846,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: kQWSh8g6VK6aCtRrz9xd46
+    - id: uQeq3LHzhfJL9ARXL8XpMD
       sortOrder: 22
       fieldKey: limited_data_use
       label: Limited Data Use
@@ -122993,7 +123866,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: fTKFBeLv92WTxD53CUkKvy
+    - id: 8xyVsb8PUtnHD68kDMUF3h
       sortOrder: 23
       fieldKey: test_event_code
       label: Test Event Code
@@ -123020,7 +123893,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: 27pooPcdRMqkoDC5SM31Ad
+    - id: wnHH28HQ9NEYG45FviqYhM
       sortOrder: 0
       fieldKey: event
       label: Event Name
@@ -123037,7 +123910,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: iNaKSW6iAtthhGLhqEgEDF
+    - id: uxy6TFkPMLBLUSYKvu1qut
       sortOrder: 1
       fieldKey: event_id
       label: Event ID
@@ -123052,7 +123925,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: tptUBnqFkfchD5EpTbT8tT
+    - id: pUA1LokryxpKw1Q7wLnvjY
       sortOrder: 2
       fieldKey: timestamp
       label: Event Timestamp
@@ -123067,16 +123940,16 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: ogVeX6hboDVXFpNVEPCvRA
+    - id: dwGP7nbGP3vBuZySDfXC5c
       sortOrder: 3
       fieldKey: phone_numbers
       label: Phone Number
       type: STRING
       description: >-
         A single phone number or array of phone numbers in E.164 standard
-        format. Segment will hash this value before sending to TikTok. At least
-        one phone number value is required if both Email and External ID fields
-        are empty.
+        format. At least one phone number value is required if both Email and
+        External ID fields are empty. If not hashed, Segment will hash this
+        value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -123092,15 +123965,15 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 2Z9orj6ikucGeBPaf5F5HE
+    - id: gaRqWFg9d57jXJ75LRGRxj
       sortOrder: 4
       fieldKey: email_addresses
       label: Email
       type: STRING
       description: >-
-        A single email address or an array of email addresses. Segment will hash
-        this value before sending to TikTok. At least one email value is
-        required if both Phone Number and External ID fields are empty.
+        A single email address or an array of email addresses. At least one
+        email value is required if both Phone Number and External ID fields are
+        empty. If not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -123116,7 +123989,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: wVi4fGZTtPwgpBYFmHwCtD
+    - id: coBchzVkLxC6s2zQTQAAv8
       sortOrder: 5
       fieldKey: order_id
       label: Order ID
@@ -123131,7 +124004,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: nUw2kpCCCUbobZanf4LUKc
+    - id: qt4miatL4fJhhmuXytD8B3
       sortOrder: 6
       fieldKey: shop_id
       label: Shop ID
@@ -123146,17 +124019,17 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 32pVTyY2apqwRxR9rSzX7z
+    - id: hHn3avD12wTqGBWmxRGpDj
       sortOrder: 7
       fieldKey: external_ids
       label: External ID
       type: STRING
       description: >-
-        Uniquely identifies the user who triggered the conversion event. Segment
-        will hash this value before sending to TikTok. TikTok Offline
-        Conversions Destination supports both string and string[] types for
-        sending external ID(s). At least one external ID value is required if
-        both Email and Phone Number fields are empty.
+        Uniquely identifies the user who triggered the conversion event. TikTok
+        Offline Conversions Destination supports both string and string[] types
+        for sending external ID(s). At least one external ID value is required
+        if both Email and Phone Number fields are empty. If not hashed, Segment
+        will hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -123171,7 +124044,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: epG7TUBouKaqV56aFJ8ikJ
+    - id: c8mRkFW6NSVmsVzHtihtQe
       sortOrder: 8
       fieldKey: ttclid
       label: TikTok Click ID
@@ -123195,7 +124068,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: t6Zp8Qz8PzL8cN9bwwLcaP
+    - id: 7XHCGF9UiEGe82jAff3rpk
       sortOrder: 9
       fieldKey: ttp
       label: TikTok Cookie ID
@@ -123223,7 +124096,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 2XmsxeQ5fQtL3rJAvHv4LV
+    - id: duQk3GQzz1tFK8bXYGFmrb
       sortOrder: 10
       fieldKey: lead_id
       label: TikTok Lead ID
@@ -123240,7 +124113,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 6T4Y35HGweKUfHAhbypNkF
+    - id: 6a4DkQBeapMnkx3D7BzuUz
       sortOrder: 11
       fieldKey: locale
       label: Locale
@@ -123256,7 +124129,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: rsdpcJcMQ8JUpvaEfx1vVd
+    - id: acNNmoJMyoB285mRb8XQW1
       sortOrder: 12
       fieldKey: url
       label: Page URL
@@ -123270,7 +124143,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: v3BYAGJYm7rkeRz3DjA4Jh
+    - id: oXgqT5shyLBWB7eh5uNtn3
       sortOrder: 13
       fieldKey: referrer
       label: Page Referrer
@@ -123284,7 +124157,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: fPouw3Q9yotcp4oTtjY1PC
+    - id: s3DHLDh4h4kgurRo4JsWQV
       sortOrder: 14
       fieldKey: ip
       label: IP Address
@@ -123298,7 +124171,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ezFBoy5JRhruHGKwNfppPP
+    - id: bfH6yMfgU8f1KAm1jiU1TH
       sortOrder: 15
       fieldKey: user_agent
       label: User Agent
@@ -123312,7 +124185,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: szQ9Qo9F1VJG5jZpkwiroW
+    - id: ceFAfKGjPEvU8PcnxvDqPo
       sortOrder: 16
       fieldKey: contents
       label: Contents
@@ -123325,7 +124198,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: 9NMQ91KSw7xg6eQsj4Vkos
+    - id: 3GLCfgf8ixAKX2ByYTBgo9
       sortOrder: 17
       fieldKey: content_type
       label: Content Type
@@ -123346,7 +124219,7 @@ items:
         value: product_group
       dynamic: false
       allowNull: false
-    - id: fAmPEBmf66wUmfLp9bXEkU
+    - id: mqK5VGBHfmpAwN87FuHyFC
       sortOrder: 18
       fieldKey: currency
       label: Currency
@@ -123361,7 +124234,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: mJukjmDBcHNEjDG1LbXAjL
+    - id: x8L5WbqMzC2B9y3VzP3rHn
       sortOrder: 19
       fieldKey: value
       label: Value
@@ -123382,7 +124255,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: pM7aDN882gtQGum3Wd3q7G
+    - id: ptkT6aFm2WAiz1ZUcjkQ1a
       sortOrder: 20
       fieldKey: description
       label: Description
@@ -123394,7 +124267,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: fn3DUoSwAocAevjDj4ZRVD
+    - id: 7Ubp4geY2tYhA8hDhutvU9
       sortOrder: 21
       fieldKey: query
       label: Query
@@ -123408,7 +124281,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ur4nvqoF46BpbDDrasMpiK
+    - id: qyQWYj8iSL2U8TFPwrtBjc
       sortOrder: 22
       fieldKey: limited_data_use
       label: Limited Data Use
@@ -123428,7 +124301,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: rCc3Vwpc4AvQyABHKdPL5D
+    - id: vBbinYZjhi4MLnPursSaP4
       sortOrder: 23
       fieldKey: test_event_code
       label: Test Event Code
@@ -123454,7 +124327,7 @@ items:
     hidden: false
     defaultTrigger: null
     fields:
-    - id: gJ18DdBmuqTAuRANUzqTM9
+    - id: aWKa1qQiVGezdsG7jQcUfj
       sortOrder: 0
       fieldKey: event
       label: Event Name
@@ -123470,7 +124343,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: e3YzQowU2AYM2Ck7zgkHAV
+    - id: nNPnqey8iLQ85DYHk7RiDX
       sortOrder: 1
       fieldKey: event_id
       label: Event ID
@@ -123484,7 +124357,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: wB4viumZZwFA9HhVVoLVLR
+    - id: p8L1QnJypbJioNvq5QyXYk
       sortOrder: 2
       fieldKey: timestamp
       label: Event Timestamp
@@ -123498,16 +124371,16 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: fz7MS3REhy6iFJrDfXm9y5
+    - id: aHp3LoLcmwprgqVjVs5kHG
       sortOrder: 3
       fieldKey: phone_numbers
       label: Phone Number
       type: STRING
       description: >-
         A single phone number or array of phone numbers in E.164 standard
-        format. Segment will hash this value before sending to TikTok. At least
-        one phone number value is required if both Email and External ID fields
-        are empty.
+        format. At least one phone number value is required if both Email and
+        External ID fields are empty. If not hashed, Segment will hash this
+        value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -123522,15 +124395,15 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: oxhoRAu5sHdEuytfKdj2dT
+    - id: n8bNc37PaLVy1NVTYiNhtt
       sortOrder: 4
       fieldKey: email_addresses
       label: Email
       type: STRING
       description: >-
-        A single email address or an array of email addresses. Segment will hash
-        this value before sending to TikTok. At least one email value is
-        required if both Phone Number and External ID fields are empty.
+        A single email address or an array of email addresses. At least one
+        email value is required if both Phone Number and External ID fields are
+        empty. If not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -123545,7 +124418,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 6CEZfX55bd5KzbXmxS5GcC
+    - id: tESizE4ZuBAJCHBBX7i6Kc
       sortOrder: 5
       fieldKey: order_id
       label: Order ID
@@ -123559,7 +124432,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: qNH5iUZqKwzFE57k4XqXng
+    - id: xr3Tfy1d6WGwohXwA5iaBc
       sortOrder: 6
       fieldKey: shop_id
       label: Shop ID
@@ -123573,17 +124446,17 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: pFsPJGQSCJNcCsocUNNyqv
+    - id: didoCJDTQLUKo7kqqCB9pZ
       sortOrder: 7
       fieldKey: external_ids
       label: External ID
       type: STRING
       description: >-
-        Uniquely identifies the user who triggered the conversion event. Segment
-        will hash this value before sending to TikTok. TikTok Offline
-        Conversions Destination supports both string and string[] types for
-        sending external ID(s). At least one external ID value is required if
-        both Email and Phone Number fields are empty.
+        Uniquely identifies the user who triggered the conversion event. TikTok
+        Offline Conversions Destination supports both string and string[] types
+        for sending external ID(s). At least one external ID value is required
+        if both Email and Phone Number fields are empty. If not hashed, Segment
+        will hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -123598,7 +124471,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: vYesAvzZiQ9ChyAnKURNTj
+    - id: wMXDS63k9vn8HDjoLyzA6B
       sortOrder: 8
       fieldKey: ttclid
       label: TikTok Click ID
@@ -123622,7 +124495,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 6QKzHuVVBMGtbAGFaYWkss
+    - id: ukL3ETd9HnrJuMWxSYp137
       sortOrder: 9
       fieldKey: ttp
       label: TikTok Cookie ID
@@ -123650,7 +124523,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: nyTTJwYGN3AKfuPR9SYe9Q
+    - id: hrnABEdkDowjGwwzYyTeP8
       sortOrder: 10
       fieldKey: lead_id
       label: TikTok Lead ID
@@ -123667,7 +124540,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: f7nnAueFxchH6aa922rwCC
+    - id: rCenHSMyTucNvUru9jSB51
       sortOrder: 11
       fieldKey: locale
       label: Locale
@@ -123683,7 +124556,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: xjunBUyQUuLW9WsHTF6uKQ
+    - id: 5ft78hZBYZrUynCeu8KJwX
       sortOrder: 12
       fieldKey: url
       label: Page URL
@@ -123697,7 +124570,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: bWhd1EDMT5MqnPxwvsDYDQ
+    - id: jXsGaUFvWb8fpvABWZnsGS
       sortOrder: 13
       fieldKey: referrer
       label: Page Referrer
@@ -123711,7 +124584,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: h3PX7dX1zh9zXrk8aXcZE4
+    - id: aAqtAKGUwSbbJ4x4ywL85
       sortOrder: 14
       fieldKey: ip
       label: IP Address
@@ -123725,7 +124598,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: dvFJM76GxPqYKZZjFgpb4d
+    - id: dUFxknokjL9tuuVzg8fYVo
       sortOrder: 15
       fieldKey: user_agent
       label: User Agent
@@ -123739,7 +124612,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: dW7Ls16yyDcVo3PLoeK8MZ
+    - id: jtHAqwzA2h5eseguhZu2C2
       sortOrder: 16
       fieldKey: contents
       label: Contents
@@ -123751,7 +124624,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: nYh3pwVwKLJFv1x7g7ueyV
+    - id: pnErtwBXMKzjHebjqUPpRE
       sortOrder: 17
       fieldKey: content_type
       label: Content Type
@@ -123772,7 +124645,7 @@ items:
         value: product_group
       dynamic: false
       allowNull: false
-    - id: ws9rj45sHwqj5STNNGqUFB
+    - id: 7GVQN54jUTK4N9dodTAFMj
       sortOrder: 18
       fieldKey: currency
       label: Currency
@@ -123786,7 +124659,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: ucK8kvynKyu14nKPMAoFUg
+    - id: wgmhT1JakxwbkjZfxqdwfR
       sortOrder: 19
       fieldKey: value
       label: Value
@@ -123806,7 +124679,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: s68gc38yyU4TuRQQt3JmiG
+    - id: wqEM1kExPCSavXEDot6VX1
       sortOrder: 20
       fieldKey: description
       label: Description
@@ -123818,7 +124691,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: cPqQheXbSCNBns6CSe38eD
+    - id: fii44uxLP5hCJgGSkAPdt6
       sortOrder: 21
       fieldKey: query
       label: Query
@@ -123832,7 +124705,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: 9J2u9RunaxvJKfVTPuokf9
+    - id: sGCmGhLsHQvANxp4wVUoLR
       sortOrder: 22
       fieldKey: limited_data_use
       label: Limited Data Use
@@ -123852,7 +124725,7 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: cXA31HgyFRDBTnFxen7QUs
+    - id: xAEDctt39F2WxTrUnDopVE
       sortOrder: 23
       fieldKey: test_event_code
       label: Test Event Code
@@ -123870,7 +124743,7 @@ items:
       allowNull: false
   presets:
   - actionId: ahuzGWXfbLEWcMhc73Cjtx
-    name: Download
+    name: Complete Registration
     fields:
       event_id:
         '@path': $.messageId
@@ -123947,8 +124820,8 @@ items:
         '@path': $.properties.query
       limited_data_use:
         '@path': $.properties.limited_data_use
-      event: Download
-    trigger: event = "Download Link Clicked"
+      event: CompleteRegistration
+    trigger: event = "Signed Up"
   - actionId: ahuzGWXfbLEWcMhc73Cjtx
     name: Page View
     fields:
@@ -124045,7 +124918,7 @@ items:
       event: PageView
     trigger: type="page"
   - actionId: ahuzGWXfbLEWcMhc73Cjtx
-    name: Search
+    name: Add Payment Info
     fields:
       event_id:
         '@path': $.messageId
@@ -124124,7 +124997,7 @@ items:
         '@path': $.properties.limited_data_use
       contents:
         '@arrayPath':
-        - $.properties
+        - $.properties.products
         - price:
             '@path': $.price
           quantity:
@@ -124137,10 +125010,10 @@ items:
             '@path': $.name
           brand:
             '@path': $.brand
-      event: Search
-    trigger: event = "Products Searched"
+      event: AddPaymentInfo
+    trigger: event = "Payment Info Entered"
   - actionId: ahuzGWXfbLEWcMhc73Cjtx
-    name: Complete Registration
+    name: Download
     fields:
       event_id:
         '@path': $.messageId
@@ -124217,10 +125090,10 @@ items:
         '@path': $.properties.query
       limited_data_use:
         '@path': $.properties.limited_data_use
-      event: CompleteRegistration
-    trigger: event = "Signed Up"
+      event: Download
+    trigger: event = "Download Link Clicked"
   - actionId: ahuzGWXfbLEWcMhc73Cjtx
-    name: View Content
+    name: Add to Cart
     fields:
       event_id:
         '@path': $.messageId
@@ -124312,10 +125185,10 @@ items:
             '@path': $.name
           brand:
             '@path': $.brand
-      event: ViewContent
-    trigger: event = "Product Viewed"
+      event: AddToCart
+    trigger: event = "Product Added"
   - actionId: ahuzGWXfbLEWcMhc73Cjtx
-    name: Place an Order
+    name: View Content
     fields:
       event_id:
         '@path': $.messageId
@@ -124394,7 +125267,7 @@ items:
         '@path': $.properties.limited_data_use
       contents:
         '@arrayPath':
-        - $.properties.products
+        - $.properties
         - price:
             '@path': $.price
           quantity:
@@ -124407,10 +125280,10 @@ items:
             '@path': $.name
           brand:
             '@path': $.brand
-      event: PlaceAnOrder
-    trigger: event = "Order Placed"
+      event: ViewContent
+    trigger: event = "Product Viewed"
   - actionId: ahuzGWXfbLEWcMhc73Cjtx
-    name: Initiate Checkout
+    name: Complete Payment
     fields:
       event_id:
         '@path': $.messageId
@@ -124502,8 +125375,8 @@ items:
             '@path': $.name
           brand:
             '@path': $.brand
-      event: InitiateCheckout
-    trigger: event = "Checkout Started"
+      event: CompletePayment
+    trigger: event = "Order Completed"
   - actionId: ahuzGWXfbLEWcMhc73Cjtx
     name: Click Button
     fields:
@@ -124600,7 +125473,7 @@ items:
       event: ClickButton
     trigger: event = "Product Clicked"
   - actionId: ahuzGWXfbLEWcMhc73Cjtx
-    name: Contact
+    name: Submit Form
     fields:
       event_id:
         '@path': $.messageId
@@ -124677,10 +125550,10 @@ items:
         '@path': $.properties.query
       limited_data_use:
         '@path': $.properties.limited_data_use
-      event: Contact
-    trigger: event = "Callback Started"
+      event: SubmitForm
+    trigger: event = "Form Submitted"
   - actionId: ahuzGWXfbLEWcMhc73Cjtx
-    name: Complete Payment
+    name: Add to Wishlist
     fields:
       event_id:
         '@path': $.messageId
@@ -124759,7 +125632,7 @@ items:
         '@path': $.properties.limited_data_use
       contents:
         '@arrayPath':
-        - $.properties.products
+        - $.properties
         - price:
             '@path': $.price
           quantity:
@@ -124772,10 +125645,10 @@ items:
             '@path': $.name
           brand:
             '@path': $.brand
-      event: CompletePayment
-    trigger: event = "Order Completed"
+      event: AddToWishlist
+    trigger: event = "Product Added to Wishlist"
   - actionId: ahuzGWXfbLEWcMhc73Cjtx
-    name: Submit Form
+    name: Subscribe
     fields:
       event_id:
         '@path': $.messageId
@@ -124852,10 +125725,10 @@ items:
         '@path': $.properties.query
       limited_data_use:
         '@path': $.properties.limited_data_use
-      event: SubmitForm
-    trigger: event = "Form Submitted"
+      event: Subscribe
+    trigger: event = "Subscription Created"
   - actionId: ahuzGWXfbLEWcMhc73Cjtx
-    name: Add to Cart
+    name: Place an Order
     fields:
       event_id:
         '@path': $.messageId
@@ -124934,7 +125807,7 @@ items:
         '@path': $.properties.limited_data_use
       contents:
         '@arrayPath':
-        - $.properties
+        - $.properties.products
         - price:
             '@path': $.price
           quantity:
@@ -124947,10 +125820,10 @@ items:
             '@path': $.name
           brand:
             '@path': $.brand
-      event: AddToCart
-    trigger: event = "Product Added"
+      event: PlaceAnOrder
+    trigger: event = "Order Placed"
   - actionId: ahuzGWXfbLEWcMhc73Cjtx
-    name: Add Payment Info
+    name: Contact
     fields:
       event_id:
         '@path': $.messageId
@@ -125027,25 +125900,10 @@ items:
         '@path': $.properties.query
       limited_data_use:
         '@path': $.properties.limited_data_use
-      contents:
-        '@arrayPath':
-        - $.properties.products
-        - price:
-            '@path': $.price
-          quantity:
-            '@path': $.quantity
-          content_category:
-            '@path': $.category
-          content_id:
-            '@path': $.product_id
-          content_name:
-            '@path': $.name
-          brand:
-            '@path': $.brand
-      event: AddPaymentInfo
-    trigger: event = "Payment Info Entered"
+      event: Contact
+    trigger: event = "Callback Started"
   - actionId: ahuzGWXfbLEWcMhc73Cjtx
-    name: Subscribe
+    name: Search
     fields:
       event_id:
         '@path': $.messageId
@@ -125122,10 +125980,25 @@ items:
         '@path': $.properties.query
       limited_data_use:
         '@path': $.properties.limited_data_use
-      event: Subscribe
-    trigger: event = "Subscription Created"
+      contents:
+        '@arrayPath':
+        - $.properties
+        - price:
+            '@path': $.price
+          quantity:
+            '@path': $.quantity
+          content_category:
+            '@path': $.category
+          content_id:
+            '@path': $.product_id
+          content_name:
+            '@path': $.name
+          brand:
+            '@path': $.brand
+      event: Search
+    trigger: event = "Products Searched"
   - actionId: ahuzGWXfbLEWcMhc73Cjtx
-    name: Add to Wishlist
+    name: Initiate Checkout
     fields:
       event_id:
         '@path': $.messageId
@@ -125204,7 +126077,7 @@ items:
         '@path': $.properties.limited_data_use
       contents:
         '@arrayPath':
-        - $.properties
+        - $.properties.products
         - price:
             '@path': $.price
           quantity:
@@ -125217,8 +126090,8 @@ items:
             '@path': $.name
           brand:
             '@path': $.brand
-      event: AddToWishlist
-    trigger: event = "Product Added to Wishlist"
+      event: InitiateCheckout
+    trigger: event = "Checkout Started"
   partnerOwned: true
 - id: 64c1690a9f08c84a420aba78
   display_name: TikTok Pixel
@@ -136125,7 +136998,7 @@ items:
     hidden: false
     defaultTrigger: type = "identify" or type = "track"
     fields:
-    - id: r6v1uXXna8YtX1bnAK9D3s
+    - id: 3ag9naVrqYJPkSyxcBzf6W
       sortOrder: 2
       fieldKey: event_attributes
       label: Event traits or properties. Do not modify this setting
@@ -136145,12 +137018,12 @@ items:
       choices: null
       dynamic: false
       allowNull: false
-    - id: dvj7KJjyJn2rMGNAqFqvcK
+    - id: nLUDjX11nZfKoxoFNVVkSg
       sortOrder: 4
       fieldKey: phone
       label: User Phone
       type: STRING
-      description: Phone number of a user
+      description: Phone number of a user. If not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -136166,12 +137039,12 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: v7rVk86FcoX2bw4xv7Akiy
+    - id: gpXeSiNPQxSnUe5cpM3Mn3
       sortOrder: 5
       fieldKey: email
       label: User Email
       type: STRING
-      description: Email address of a user
+      description: Email address of a user. If not hashed, Segment will hash this value.
       placeholder: ''
       defaultValue:
         '@if':
@@ -136187,7 +137060,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: jv38sxTP1g3gZdDKZrZT6t
+    - id: je6smNPqzjivPgYywun49Z
       sortOrder: 6
       fieldKey: advertising_id
       label: User Mobile Advertising ID
@@ -136202,7 +137075,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: atxvg5JrdVBo4FKMoFajcd
+    - id: pxzXMivCqJeGQptqcEzUKU
       sortOrder: 7
       fieldKey: device_type
       label: User Mobile Device Type
@@ -136217,7 +137090,7 @@ items:
       dynamic: false
       allowNull: false
       hidden: false
-    - id: nC7zjH4edvvTbcaEts1jGb
+    - id: vSnf2afQmQHyuaSAoPEvEF
       sortOrder: 8
       fieldKey: gdpr_settings
       label: GDPR Settings
diff --git a/src/_data/catalog/destinations_private.yml b/src/_data/catalog/destinations_private.yml
index ef26d1c6dd..98f8b93312 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-03-06 
+# destination data last updated 2025-04-24 
 items:
   - id: 54521fd925e721e32a72eee1
     display_name: Pardot
diff --git a/src/_data/catalog/regional-supported.yml b/src/_data/catalog/regional-supported.yml
index d7185db944..fdfd71f47f 100644
--- a/src/_data/catalog/regional-supported.yml
+++ b/src/_data/catalog/regional-supported.yml
@@ -285,6 +285,15 @@ sources:
       - us
     endpoints:
       - us
+  - id: UYaQxaZO3a
+    display_name: Editable Profile Source Metadata
+    hidden: false
+    slug: editable-profile-source-metadata
+    url: connections/sources/catalog/cloud-apps/editable-profile-source-metadata
+    regions:
+      - us
+    endpoints:
+      - us
   - id: VETiUX9u66
     display_name: Elastic Path
     hidden: false
diff --git a/src/_data/catalog/source_categories.yml b/src/_data/catalog/source_categories.yml
index 2c222fd03b..19058f5719 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-03-06 
+# source categories last updated 2025-04-24 
 items:
   - display_name: A/B Testing
     slug: a-b-testing
@@ -23,6 +23,8 @@ items:
     slug: feature-flagging
   - display_name: Helpdesk
     slug: helpdesk
+  - display_name: INTERNAL
+    slug: internal
   - display_name: Learning Management System
     slug: learning-management-system
   - display_name: Livechat
diff --git a/src/_data/catalog/sources.yml b/src/_data/catalog/sources.yml
index a095f04ade..cbb8203ced 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-03-06 
+# sources last updated 2025-04-24 
 items:
   - id: 8HWbgPTt3k
     display_name: .NET
@@ -14,7 +14,9 @@ items:
       - us
       - eu
     source_type: server
-    description: ''
+    description: >-
+      The hassle-free way to add Segment analytics to your .Net app (Unity,
+      Xamarin, Net, CSharp, C#)
     logo:
       url: https://cdn.filepicker.io/api/file/niuGBxqqSQCLvBDIFxpY
     categories:
@@ -207,7 +209,7 @@ items:
     source_type: mobile
     description: >-
       The hassle-free way to add Segment analytics to your swift app (iOS,
-      macOS, tvOS).
+      macOS, tvOS, ipadOS).
     logo:
       url: https://cdn.filepicker.io/api/file/qWgSP5cpS7eeW2voq13u
     categories:
@@ -644,6 +646,24 @@ items:
       - Attribution
     status: PUBLIC_BETA
     partnerOwned: false
+  - id: UYaQxaZO3a
+    display_name: Editable Profile Source Metadata
+    isCloudEventSource: false
+    slug: editable-profile-source-metadata
+    url: connections/sources/catalog/cloud-apps/editable-profile-source-metadata
+    hidden: false
+    regions:
+      - us
+    endpoints:
+      - us
+    source_type: cloud-app
+    description: this is internal source to track the editable profile feature internally.
+    logo:
+      url: https://cdn.filepicker.io/api/file/618XEphQoWXwBKQGOWNw
+    categories:
+      - INTERNAL
+    status: PUBLIC
+    partnerOwned: false
   - id: VETiUX9u66
     display_name: Elastic Path
     isCloudEventSource: true
@@ -2439,7 +2459,9 @@ items:
     endpoints:
       - us
     source_type: mobile
-    description: The hassle-free way to add Segment analytics to your Unity app.
+    description: >-
+      The hassle-free way to add Segment analytics to your Unity app (Unity,
+      Xamarin, Net, CSharp, C#)
     logo:
       url: https://cdn.filepicker.io/api/file/TrFnszJ7Rj6LNZTt4kP5
     categories:
@@ -2588,7 +2610,9 @@ items:
       - us
       - eu
     source_type: mobile
-    description: ''
+    description: >-
+      The hassle-free way to add Segment analytics to your Xamarin app (Unity,
+      Xamarin, Net, CSharp, C#)
     logo:
       url: https://cdn.filepicker.io/api/file/dx6hyOr7S7qEZkTtzNMj
     categories:
diff --git a/src/_data/sidenav/main.yml b/src/_data/sidenav/main.yml
index 73cfdfc36f..0e442607d6 100644
--- a/src/_data/sidenav/main.yml
+++ b/src/_data/sidenav/main.yml
@@ -414,8 +414,6 @@ sections:
     title: Introduction
   - path: '/engage/quickstart'
     title: Foundations Onboarding
-  - path: '/engage/onboarding'
-    title: Premier Onboarding
   - path: '/engage/use-cases'
     title: Use Cases
   - section_title: User Subscriptions
@@ -599,6 +597,17 @@ sections:
     title: HIPAA Eligible Segment
   - path: /privacy/faq
     title: Privacy FAQs
+- section_title: Monitor
+  section: 
+  - path: /monitor
+    title: Monitor Overview
+  - section_title: Alerts
+    slug: /monitor/alerts
+    section:
+    - path: /monitor/alerts
+      title: Alerts Overview
+    - path: /monitor/alerts/default-alerts
+      title: Default Alerts
 - section_title: Protocols
   section:
   - path: /protocols
diff --git a/src/_includes/content/destination-maintenance.md b/src/_includes/content/destination-maintenance.md
index c60d47ccfe..7915b56e86 100644
--- a/src/_includes/content/destination-maintenance.md
+++ b/src/_includes/content/destination-maintenance.md
@@ -11,5 +11,5 @@
 {% endif %}
 
 <div class="premonition warning"><div class="fa fa-check-square"></div><div class="content"><p class="header">{{page.title | replace: 'Destination', ''}} (Classic) is in Maintenance mode</p>
-<p markdown=1>The {{name}} (Classic) Destination has entered maintenance mode. Future updates are limited to security updates and bug fixes. {{blurb}}</p>
+<p markdown=1>The {{name}} Destination has entered maintenance mode. Future updates are limited to security updates and bug fixes. {{blurb}}</p>
 </div></div>
\ No newline at end of file
diff --git a/src/_includes/icons/monitor.svg b/src/_includes/icons/monitor.svg
new file mode 100644
index 0000000000..9df585d496
--- /dev/null
+++ b/src/_includes/icons/monitor.svg
@@ -0,0 +1,3 @@
+<svg viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M10.0046 4C12.4097 4.01096 14.7103 4.95468 16.3934 6.62074C18.0862 8.27781 19.0249 10.5228 19.0002 12.8551V14.3636C18.9991 15.2669 18.2442 15.9989 17.3127 16H2.68774C1.75625 15.9989 1.00142 15.2669 1.00024 14.3636V12.853C0.963891 7.99977 4.99098 4.03653 10.0046 4ZM10.0002 13.2748L9.99192 13.2736C9.0639 13.2789 8.31409 14.0092 8.31274 14.9091H11.6877C11.6864 14.0092 10.9367 13.2789 10.0087 13.2735L10.0002 13.2748ZM17.8752 14.3636C17.875 14.6648 17.6233 14.9088 17.3127 14.9091H12.8127C12.8105 13.683 11.9656 12.6087 10.7467 12.2824L12.2212 7.9929C12.3192 7.70727 12.1601 7.39866 11.8656 7.3034C11.5711 7.20814 11.2527 7.36226 11.1542 7.64773L9.58422 12.2151C8.20856 12.4153 7.19018 13.5602 7.18774 14.9091H2.68774C2.3772 14.9088 2.12553 14.6648 2.12524 14.3636V12.8474C2.0809 10.0904 3.57254 7.52431 6.02789 6.1336C8.48323 4.74289 11.521 4.74354 13.9757 6.13532C16.4304 7.52709 17.9209 10.0939 17.8752 12.8509V14.3636ZM4.64415 11.6375C4.64821 11.6369 4.65227 11.6364 4.65649 11.6364C5.08616 11.6054 5.46175 11.9149 5.49941 12.3311C5.53708 12.7473 5.22283 13.1156 4.79417 13.1577C4.36551 13.1997 3.98158 12.8999 3.93255 12.4848C3.88351 12.0697 4.18757 11.6935 4.61494 11.6404L4.62295 11.6396H4.62295C4.62631 11.6392 4.62966 11.6388 4.63309 11.6387C4.63686 11.6386 4.6405 11.638 4.64414 11.6375L4.64415 11.6375ZM6.62524 9.7294C6.62524 10.1813 6.24748 10.5476 5.78149 10.5476C5.3155 10.5476 4.93774 10.1813 4.93774 9.7294C4.93774 9.27753 5.3155 8.91122 5.78149 8.91122C6.24748 8.91122 6.62524 9.27753 6.62524 9.7294ZM15.344 13.2727C15.81 13.2727 16.1877 12.9064 16.1877 12.4545C16.1877 12.0027 15.81 11.6364 15.344 11.6364C14.878 11.6364 14.5002 12.0027 14.5002 12.4545C14.5002 12.9064 14.878 13.2727 15.344 13.2727ZM15.0627 9.7294C15.0615 9.30535 14.7256 8.95284 14.2898 8.91815C14.2702 8.91513 14.2504 8.91319 14.2305 8.91234C14.2289 8.91232 14.2273 8.91212 14.2257 8.91189L14.2249 8.91178C14.223 8.9115 14.221 8.91122 14.219 8.91122C13.753 8.91122 13.3752 9.27753 13.3752 9.7294C13.3752 10.1813 13.753 10.5476 14.219 10.5476C14.685 10.5476 15.0627 10.1813 15.0627 9.7294ZM7.96409 6.736C8.00883 6.73026 8.05416 6.73026 8.0989 6.736C8.55032 6.77108 8.89267 7.14548 8.87457 7.58427C8.85647 8.02307 8.48436 8.36975 8.03149 8.36975C7.57862 8.36975 7.20652 8.02307 7.18842 7.58427C7.17032 7.14548 7.51267 6.77108 7.96409 6.736Z" fill="#606B85"/>
+</svg>
diff --git a/src/connections/alerting.md b/src/connections/alerting.md
index c838645131..690fe781ec 100644
--- a/src/connections/alerting.md
+++ b/src/connections/alerting.md
@@ -34,7 +34,6 @@ To delete a source volume alert, select the icon in the Actions column for the a
 
 > info "Deleting alerts created by other users requires Workspace Owner permissions"
 > All users can delete source volume alerts that they created, but only those with Workspace Owner permissions can delete alerts created by other users. 
-
 ## Successful delivery rate alerts
 
 You can create an alert that notifies you when the volume of events successfully received by your destination in the last 24 hours falls below a percentage you set. For example, if you set a percentage of 99%, Segment notifies you if your destination had a successful delivery rate of 98% or below. 
@@ -57,5 +56,4 @@ To delete a successful delivery rate alert, select the icon in the Actions colum
 
 > info "Deleting alerts created by other users requires Workspace Owner permissions"
 > All users can delete successful delivery alerts that they created, but only those with Workspace Owner permissions can delete alerts created by other users.
-
-Segment generates delivery alerts for failed deliveries and successful deliveries, which are the last two stages of the delivery pipeline. As a result, alerts are based on Segment's attempts to send qualified events to your destination, excluding those filtered out by business rules (like protocols, destination filters, or mappings).
+Segment generates delivery alerts for failed deliveries and successful deliveries, which are the last two stages of the delivery pipeline. As a result, alerts are based on Segment's attempts to send qualified events to your destination, excluding those filtered out by business rules (like protocols, destination filters, or mappings).
\ No newline at end of file
diff --git a/src/connections/auto-instrumentation/configuration.md b/src/connections/auto-instrumentation/configuration.md
index cb1e143e5c..d0a9c7b6db 100644
--- a/src/connections/auto-instrumentation/configuration.md
+++ b/src/connections/auto-instrumentation/configuration.md
@@ -26,6 +26,9 @@ After you set up the Signals SDK to capture the signals you want to target, you
 1. In your Segment workspace, go to to **Connections > Auto-Instrumentation** and click on a source. 
 2. Click **Create Rules**.
 
+> info "Where's the Event Builder tab?"
+> The Event Builder tab only appears after you've installed the Auto-Instrumentation snippet in your site or app. If you don’t see the tab, double check your implementation or reach out to your Segment CSM.
+
 ### Using the Rules Editor
 
 The Rules Editor is where you define rules that transform raw signal data into analytics events. In the editor, you write functions that convert signals into events and then call them in the `processSignal()` function. 
diff --git a/src/connections/auto-instrumentation/event-builder.md b/src/connections/auto-instrumentation/event-builder.md
new file mode 100644
index 0000000000..c52f14a8de
--- /dev/null
+++ b/src/connections/auto-instrumentation/event-builder.md
@@ -0,0 +1,89 @@
+---
+title: Auto-Instrumentation Event Builder
+hidden: true
+---
+
+The Event Builder provides a no-code way to define analytics events based on signals collected by Auto-Instrumentation. 
+
+You can use it to create Track, Identify, Page, and other event types directly from your Segment workspace.
+
+> info "Auto-Instrumentation Private Beta"
+> Auto-Instrumentation is currently in Private Beta and is governed by Segment's [First Access and Beta Preview Terms](https://www.twilio.com/en-us/legal/tos){:target="_blank"}. Segment is actively iterating on and improving the Auto-Instrumentation user experience.
+
+## Access the Event Builder
+
+The Event Builder appears as a tab within each source, next to the Debugger. If you don't see the Event Builder tab, first confirm that you've installed the required Auto-Instrumentation SDK. 
+
+If you've installed the SDK but still don't see the Event Builder tab, reach out to your Segment account manager to verify your workspace is included in the Auto-Instrumentation Private Beta.
+
+![The Event Builder tab shown in the navigation bar between Debugger and Schema in a Segment source](images/event_builder_tab.png)
+
+> info "Event Builder during Private Beta"
+> During Private Beta, both the Event Builder and the legacy Auto-Instrumentation tab appear in the navigation. Segment will remove the legacy tab once all customers have migrated to the Event Builder experience.
+
+## Generate activity
+
+To populate the Event Builder with signals, you first need to open your website or app with a special query parameter that enables signal detection.
+
+1. Visit your site or app in a browser, and add `?segment_signals_debug=true` to the end of the URL.  
+   For example: `https://www.your-website.com?segment_signals_debug=true`.
+2. Interact with your app as a user would: click buttons, navigate between pages or screens, submit forms, and so on.
+3. Return to the Event Builder tab in Segment to view the signals being collected in real time.
+
+
+![Prompt in the Event Builder showing how to start detecting activity by visiting the website with a debug query parameter and interacting with the app](images/detecting_activity.png)
+
+> info "Enable signal detection"
+> Segment only detects signals when you access your site using the `?segment_signals_debug=true` query parameter. If you visit your site without it, signals won't show up in the Event Builder.
+
+Segment collects and displays activity as signals. These signals are grouped into types, like:
+
+- Interaction: clicks, taps, and UI interactions.
+- Navigation: screen changes and page transitions
+- Network: requests and responses
+- `LocalData`, Instrumentation, and `UserDefined`: additional signal types from the SDK.
+
+### How signals relate to events
+
+Segment separates signal collection from event creation. Signals represent raw user interactions, like a button click or screen view. Events, on the other hand, are analytics calls you define based on those signals. This two-step process lets you observe user behavior first, and then decide how and when to turn that behavior into structured analytics events, without needing to modify your code.
+
+Signal detection is active for 24 hours after you generate activity. Detected signals are available in the Event Builder for 72 hours.
+
+## Create an event
+
+You can create events by selecting individual signals or combining multiple signals in sequence.
+
+Follow these steps to create an event:
+
+1. Find the signal you want to use and click **Configure event**.
+2. Add one or more conditions. The order matters; Segment evaluates them in the order you add them.
+   - For example, to track a successful login, first select a **button click** signal, then the **network response** signal.
+3. Select properties from the signal(s) to include in your event.
+4. Map those properties to your targeted Segment event fields.
+5. Name your event. This name will appear in the Debugger and downstream tools.
+6. Click **Publish event rules** to activate the event in your workspace.
+    - You must publish each rule before Segment starts collecting data for the event.
+
+For example, suppose a user taps an "Add to Cart" button. You can define an `Add to Cart` event by combining the button click signal with a network response signal that includes product details. You can then map properties like product name, ID, and price directly from the network response to your event.
+
+Once published, your event rules appear in the **Event Rules** tab of the Event Builder.  From this tab, you can view all of your published rules and delete rules you no longer need.
+
+![The Event Rules tab shown in the Event Builder, showing six custom rules, categorized by event type](images/event_rules.png)
+
+## Choose an event type
+
+When you define an event in the Event Builder, you assign it a type that determines how Segment and your connected destinations process it. These event types (Track, Identify, Page, and Screen) follow the same structure and behavior defined in the [Segment Spec](/docs/connections/spec/).
+
+| Event type | Description                                                                                                 |
+| ---------- | ----------------------------------------------------------------------------------------------------------- |
+| Track      | Custom event tracking. Use this for user actions like `Product Viewed`, `Add to Cart`, or `Signup Started`. |
+| Identify   | User identification. Use this to associate traits (like `email`, `userId`, or `plan`) with a known user.    |
+| Page       | Web page view tracking. Use this to record visits to pages on your website.                                 |
+| Screen     | Mobile screen view tracking. Use this to record views of screens in your mobile app.                        |
+
+For example, to track a login flow, you might define an Identify event that maps traits like `userId` and `email` from a network response signal. To track cart activity, you could define a Track event like `Checkout Started` with properties like cart value, item count, and currency.
+
+Segment uses the event name and any mapped properties to format each event according to the Segment Spec. Events you create in the Event Builder behave the same way as events sent through Segment SDKs or APIs.
+
+> info "Event type behavior in destinations"
+> While Segment handles these event types consistently, downstream tools may treat them differently. For example, Identify events often update user profiles, while Page or Screen events may be handled as pageviews instead of custom events.
\ No newline at end of file
diff --git a/src/connections/auto-instrumentation/images/detecting_activity.png b/src/connections/auto-instrumentation/images/detecting_activity.png
new file mode 100644
index 0000000000..daa6774561
Binary files /dev/null and b/src/connections/auto-instrumentation/images/detecting_activity.png differ
diff --git a/src/connections/auto-instrumentation/images/event_builder_tab.png b/src/connections/auto-instrumentation/images/event_builder_tab.png
new file mode 100644
index 0000000000..8de6f6e78f
Binary files /dev/null and b/src/connections/auto-instrumentation/images/event_builder_tab.png differ
diff --git a/src/connections/auto-instrumentation/images/event_rules.png b/src/connections/auto-instrumentation/images/event_rules.png
new file mode 100644
index 0000000000..98000b46f2
Binary files /dev/null and b/src/connections/auto-instrumentation/images/event_rules.png differ
diff --git a/src/connections/auto-instrumentation/index.md b/src/connections/auto-instrumentation/index.md
index 5045ffa336..28e0b014aa 100644
--- a/src/connections/auto-instrumentation/index.md
+++ b/src/connections/auto-instrumentation/index.md
@@ -24,35 +24,36 @@ redirect_from:
   - '/docs/connections/auto-instrumentation/setup/'
 ---
 
-Auto-Instrumentation simplifies tracking in your websites and apps by eliminating the need for a traditional Segment instrumentation.
+Auto-Instrumentation simplifies tracking in your websites and apps by removing the need for a traditional Segment instrumentation.
 
-> info "Auto-Instrumentation Pilot"
-> Auto-Instrumentation is currently in pilot and is governed by Segment's [First Access and Beta Preview Terms](https://www.twilio.com/en-us/legal/tos){:target="_blank"}. Segment is actively iterating on and improving the Auto-Instrumentation user experience.
+> info "Auto-Instrumentation Private Beta"
+> Auto-Instrumentation is currently in private beta and is governed by Segment's [First Access and Beta Preview Terms](https://www.twilio.com/en-us/legal/tos){:target="_blank"}. Segment is actively iterating on and improving the Auto-Instrumentation user experience.
 
 > success "Enable Auto-Instrumentation in your workspace"
 > To enable Auto-Instrumentation in your Segment workspace, reach out to your dedicated account manager.
 
 ## Background
 
-Gathering actionable and timely data is crucial to the success of your business. However, collecting this data in real time has historically proven to be challenging. 
-
-As your business needs change, keeping instrumentation up-to-date across all of your digital properties can be time-consuming, often taking weeks or months. This delay can lead to lost insights, frustration for your marketers and developers, and open-ended support of your Segment instrumentation.
+Collecting high-quality analytics data is essential, but traditional tracking setups often fall behind as business needs change. Instrumentation updates can take weeks or months, and these delays reduce visibility and increase the burden on engineering teams.
 
 ## Auto-Instrumentation as a solution
 
 With just a few lines of code, Auto-Instrumentation handles device tracking for you, helping you focus on collecting the data that's essential to your business and letting your marketers and data analysts gather and update data without relying on engineering teams.
 
-Some Auto-Instrumentation advantages include:
+Key Auto-Instrumentation benefits include:
+
+- **No-code event creation**: Use the Event Builder tab to define events based on user activity; no JavaScript required.
+- **Fast iteration**: Update your tracking configuration at any time, without deploying new app versions.
+- **Fewer dependencies**: Reduce the need for engineering support while still maintaining reliable event tracking.
 
-- **JavaScript-based instrumentation logic**: Configure and refine your instrumentation logic entirely within JavaScript, simplifying the development process and reducing dependencies on other environments.
-- **Rapid iteration**: Update your instrumentation logic without the need to constantly release new versions of your mobile app, enabling faster iterations and improvements.
-- **Bypass update delays**: Avoid the typical delays associated with app update cycles and app store approvals. Auto-Instrumentation lets you update your tracking setups or fix errors immediately, ensuring your data collection remains accurate and timely.
+> info "Event Builder during Private Beta"
+> During the Auto-Instrumentation Private Beta, both the Event Builder and the legacy Auto-Instrumentation tab appear in the Segment UI. Segment will remove the legacy tab once all customers have migrated to the Event Builder experience.
 
 ## How it works
 
-Once you integrate the Analytics SDK and Signals SDK into your website or application, Segment begins to passively monitor user activity like button clicks, page navigation, and network data. Segment captures these events as "signals" and sends them to your Auto-Instrumentation source in real time.
+After you install the required SDKs and enable Auto-Instrumentation, Segment detects activity like button clicks, navigation, and network calls. Segment captures these events as signals, which appear in the Event Builder.
 
-In Segment, the Auto-Instrumentation source lets you view raw signals. You can then [use this data to create detailed analytics events](/docs/connections/auto-instrumentation/configuration/) based on those signals, enriching your insights into user behavior and application performance.
+You can group signals into complete analytics events, assign names, and map custom properties. You can then [use this data to create detailed analytics events](/docs/connections/auto-instrumentation/configuration/) based on those signals, enriching your insights into user behavior and application performance.
 
 ## Setup Guides
 
diff --git a/src/connections/auto-instrumentation/kotlin-setup.md b/src/connections/auto-instrumentation/kotlin-setup.md
index b2c44a6f86..acb8f587e9 100644
--- a/src/connections/auto-instrumentation/kotlin-setup.md
+++ b/src/connections/auto-instrumentation/kotlin-setup.md
@@ -79,18 +79,15 @@ Next, you'll need to add the Signals SDKs to your Kotlin application.
 
 ## Step 3: Verify and deploy events
 
-Next, you'll need to verify signal emission and [create rules](/docs/connections/auto-instrumentation/configuration/#example-rule-implementations) to convert those signals into events:
-
-1. In your Segment workspace, return to **Connections > Auto-Instrumentation** and click on the new source you created. 
-2. Verify that signals appear as expected on the dashboard.
-
-    ![Signals successfully appearing in the Segment UI](images/autoinstrumentation_signals.png "Signals successfully appearing in the Segment UI")
-
-3. Click **Create Rules**.
-4. In the Rules Editor, add a rule that converts signal data into an event.
-5. Click **Preview**, then click **Save & Deploy**.
-
-Segment displays `Rule updated successfully` to verify that it saved your rule.
+After integrating the SDK and running your app, verify that Segment is collecting signals:
+
+1. In your Segment workspace, go to **Connections > Sources** and select the source you created for Auto-Instrumentation.
+2. In the source overview, look for the **Event Builder** tab. If the tab doesn’t appear:
+  - Make sure you've installed the SDK correctly.
+  - Reach out to your Segment CSM to confirm that your workspace has the necessary feature flags enabled.
+3. Launch your app [in debug mode](https://github.com/segmentio/analytics-next/tree/master/packages/signals/signals#sending-and-viewing-signals-on-segmentcom-debug-mode){:target="_blank"}, for example, by running the app from Android Studio on a simulator or test device. This enables signal collection so you can see activity in the Event Builder.
+4. Use the app as a user would: navigate between screens, tap buttons, trigger network requests. Signals appear in real time as you interact with the app.
+5. In the Event Builder, find a signal and click **Configure event** to define a new event. After configuring the event, click **Publish event rules**.
 
 ## Configuration Options
 
diff --git a/src/connections/auto-instrumentation/swift-setup.md b/src/connections/auto-instrumentation/swift-setup.md
index 7c1695188b..78bbbc2327 100644
--- a/src/connections/auto-instrumentation/swift-setup.md
+++ b/src/connections/auto-instrumentation/swift-setup.md
@@ -30,7 +30,7 @@ Next, you'll need to add the Signals SDKs to your Swift applicatiion.
 1. Use Swift Package Manager to add the Signals SDK from the following repository:
 
     ```zsh
-    https://github.com/segmentio/Signals-swift.git
+    https://github.com/segment-integrations/analytics-swift-live.git
     ```
 
 2. Add the initialization code and configuration options:
@@ -77,18 +77,15 @@ typealias SecureField = SignalSecureField
 ```
 ## Step 3: Verify and deploy events
 
-Next, you'll need to verify signal emission and [create rules](/docs/connections/auto-instrumentation/configuration/#example-rule-implementations) to convert those signals into events:
+After integrating the SDK and running your app, verify that Segment is collecting signals:
 
-1. In your Segment workspace, return to **Connections > Auto-Instrumentation** and click on the new source you created. 
-2. Verify that signals appear as expected on the dashboard.
-
-    ![Signals successfully appearing in the Segment UI](images/autoinstrumentation_signals.png "Signals successfully appearing in the Segment UI")
-
-3. Click **Create Rules**.
-4. In the Rules Editor, add a rule that converts signal data into an event.
-5. Click **Preview**, then click **Save & Deploy**.
-
-Segment displays `Rule updated successfully` to verify that it saved your rule.
+1. In your Segment workspace, go to **Connections > Sources** and select the source you created for Auto-Instrumentation.
+2. In the source overview, look for the **Event Builder** tab. If the tab doesn’t appear:
+  - Make sure you've installed the SDK correctly.
+  - Reach out to your Segment CSM to confirm that your workspace has the necessary feature flags enabled.
+3. Launch your app [in debug mode](https://github.com/segmentio/analytics-next/tree/master/packages/signals/signals#sending-and-viewing-signals-on-segmentcom-debug-mode){:target="_blank"}. This enables signal collection so you can see activity in the Event Builder.
+4. Use the app as a user would: navigate between screens, tap buttons, trigger network requests. Signals appear in real time as you interact with the app.
+5. In the Event Builder, find a signal and click **Configure event** to define a new event. After configuring the event, click **Publish event rules**.
 
 ## Configuration Options
 
diff --git a/src/connections/auto-instrumentation/web-setup.md b/src/connections/auto-instrumentation/web-setup.md
index acb2da05c7..97f759ca56 100644
--- a/src/connections/auto-instrumentation/web-setup.md
+++ b/src/connections/auto-instrumentation/web-setup.md
@@ -65,18 +65,18 @@ Verify that you replaced `<WRITE_KEY>` with the actual write key you copied in S
 
 ## Step 3: Verify and deploy events
 
-Next, you'll need to verify signal emission and [create rules](/docs/connections/auto-instrumentation/configuration/#example-rule-implementations) to convert those signals into events:
+After integrating the SDK and running your app, verify that Segment is collecting signals:
+
+1. In your Segment workspace, return to **Connections > Sources**, then select the source you created for Auto-Instrumentation.
+2. In the source overview, look for the **Event Builder** tab. If the tab doesn’t appear:
+  - Make sure you've installed the SDK correctly.
+  - Reach out to your Segment CSM to confirm that your workspace has the necessary feature flags enabled.
+  ![The Event Builder tab shown in the navigation bar between Debugger and Schema in a Segment Source](images/event_builder_tab.png)
+3. Open the **Event Builder** and follow the on-screen instructions to start signal detection.  
+  - To collect signals in the UI, visit your site in a browser using the query string:`?segment_signals_debug=true`
+4. Interact with your app to trigger signals: click buttons, navigate pages, submit forms, and so on. Segment collects and displays these as signals in real time.
+5. From the signals list, click **Configure event** to define a new event based on one or more signals. After configuring the event, click **Publish event rules**.
 
-1. In your Segment workspace, return to **Connections > Auto-Instrumentation** and click on the new source you created. 
-2. Verify that signals appear as expected on the dashboard.
-
-    ![Signals successfully appearing in the Segment UI](images/autoinstrumentation_signals.png "Signals successfully appearing in the Segment UI")
-
-3. Click **Create Rules**.
-4. In the Rules Editor, add a rule that converts signal data into an event.
-5. Click **Preview**, then click **Save & Deploy**.
-
-Segment displays `Rule updated successfully` to verify that it saved your rule.
 
 ### Debugging
 #### Enable debug mode
diff --git a/src/connections/delivery-overview.md b/src/connections/delivery-overview.md
index e36d513d90..cc64ab5474 100644
--- a/src/connections/delivery-overview.md
+++ b/src/connections/delivery-overview.md
@@ -4,13 +4,6 @@ title: Delivery Overview
 
 Delivery Overview is a visual observability tool designed to help Segment users diagnose event delivery issues for any cloud-streaming destination receiving events from cloud-streaming sources. 
 
-> info "Delivery Overview for RETL destinations and Engage Audience Syncs currently in development"
-> This means that Segment is actively developing Delivery Overview features for RETL destinations and Engage Audience syncs. Some functionality may change before Delivery Overview for these integrations becomes generally available. 
-> 
-> Delivery Overview is generally available for streaming connections (cloud-streaming sources and cloud-streaming destinations) and in public beta for storage destinations. Some metrics specific to storage destinations, like selective syncs, failed row counts, and total rows seen, are not yet available. 
-> All users of Delivery Overview have access to the Event Delivery tab, and can configure delivery alerts for their destinations.
-
-
 ## Key features
 
 Delivery Overview has three core features:
@@ -63,6 +56,21 @@ The following image shows a storage destination with 23 partially successful syn
 
 ![A screenshot of the Delivery Overview tab for a Storage destination, with the Failed to sync step selected and a table of partially successful syncs.](images/delivery-overview-storage-destinations.png)
 
+#### Destinations connected to Engage Destinations
+
+> info "Delivery Overview for Engage Destinations is in Public Beta"
+> During the Public Beta, you can filter your pipeline view by audience. 
+
+Destinations connected to an Audience have the following steps in the pipeline view: 
+- **Events from audience**<sup>*</sup>: Events that Segment created for your activation. The number of events for each compute depends on the changes detected in your audience membership.
+- **Filtered at source**: Events discarded by Protocols: either by the [schema settings](/docs/protocols/enforce/schema-configuration/) or [Tracking Plans](/docs/protocols/tracking-plan/create/). 
+- **Filtered at destination**: If any events aren’t eligible to be sent (for example, due to destination filters, insert function logic, and so on), Segment displays them at this step.
+- **Events pending retry**: A step that reveals the number of events that are awaiting retry. Unlike the other steps, you cannot click into this step to view the breakdown table. 
+- **Failed delivery**: Events that Segment _attempted_ to deliver to your destination, but that ultimately _failed_ to be delivered. Failed delivery might indicate an issue with the destination, like invalid credentials, rate limits, or other error statuses received during delivery.
+- **Successful delivery**: Events that Segment successfully delivered to your destination. You’ll see these events in your downstream integrations.
+
+<sup>*</sup>_The "Events from audience" step is currently only available for Linked Audiences._
+
 ### Breakdown table
 The breakdown table provides you with greater detail about the selected events.
 
diff --git a/src/connections/destinations/actions.md b/src/connections/destinations/actions.md
index e235093fa9..50b5f0e810 100644
--- a/src/connections/destinations/actions.md
+++ b/src/connections/destinations/actions.md
@@ -210,6 +210,14 @@ The coalesce function takes a primary value and uses it if it is available. If t
 
 The replace function allows you to replace a string, integer, or boolean with a new value. You have the option to replace up to two values within a single field.
 
+### Concatenate function
+
+To combine two values in the event variable field, you can concatenate them using plain text and variables together. For example, to prepend the country code to a phone number, enter `+1{{Phone Number}}`.
+
+Segment evaluates this field as a string, so placing text next to a variable automatically concatenates them.
+
+![Mapping UI showing two concatenated fields: "+1 phone" and "context.page.url context.page.path"](images/mapping-concatenation.png)
+
 ### Flatten function
 
 The flatten function allows you to flatten a nested object to an object with a depth of 1. Keys are delimited by the configured separator. For example, an object like {a: { b: { c: 1 }, d: 2 } } will be converted to { 'a.b.c': 1, 'a.d': 2 }.
@@ -219,7 +227,6 @@ The flatten function allows you to flatten a nested object to an object with a d
 > info ""
 > Self-service users can add a maximum of two conditions per Trigger.
 
-
 Mapping fields are case-sensitive. The following type filters and operators are available to help you build conditions:
 
 - **Event type** (`is`/`is not`). This allows you to filter by the [event types in the Segment Spec](/docs/connections/spec).
diff --git a/src/connections/destinations/catalog/actions-hubspot-cloud/index.md b/src/connections/destinations/catalog/actions-hubspot-cloud/index.md
index 4d8c70ccf8..8f1a219b6d 100644
--- a/src/connections/destinations/catalog/actions-hubspot-cloud/index.md
+++ b/src/connections/destinations/catalog/actions-hubspot-cloud/index.md
@@ -16,13 +16,18 @@ HubSpot is an all-in-one marketing tool that helps attract new leads and convert
 
 When you use the HubSpot Cloud Mode (Actions) destination, Segment sends your data to [HubSpot's REST API](https://developers.hubspot.com/docs/api/overview){:target="_blank"}.
 
-> warning ""
-> The **Upsert Company** action is not compatible with the Mapping Tester on the mappings page if Associate Contact is set to **Yes**. As a result, Segment recommends using the Event Tester or other tools to test and troubleshoot creating and updating companies in HubSpot. 
->
-> Note that for the company to contact association to work, you are required to trigger an Upsert Contact action before triggering an Upsert Company action. Contacts created with batch endpoint can not be associated to a Company from the Upsert Company Action.
+Keep in mind that:
+* The **Upsert Company** action is not compatible with the Mapping Tester on the mappings page if Associate Contact is set to **Yes**. As a result, Segment recommends using the Event Tester or other tools to test and troubleshoot creating and updating companies in HubSpot. For the company to contact association to work, you are required to trigger an Upsert Contact action before triggering an Upsert Company action. Contacts created with batch endpoint can not be associated to a Company from the Upsert Company Action.
+* **Behavioral Events (Legacy)** are only supported with [Hubspot Classic Destination](/docs/connections/destinations/catalog/hubspot/).
 
 > warning ""
-> **Behavioral Events (Legacy)** are only supported with [Hubspot Classic Destination](/docs/connections/destinations/catalog/hubspot/).
+> As of April 29, 2025, HubSpot no longer supports referencing custom object types by their base names. Instead, you must reference all custom objects by using their short-hand custom object type name, `fullyQualifiedName`, or `objectTypeId`. To avoid issues, update the following fields:
+>
+>- **Object Type** and **ObjectType to associate** in the **Upsert Custom Object Record** action
+>- **Object Type** in the **Custom Event V2** action
+>- **Object Type** and **To Object Type** in the **Custom Object V2** action
+>
+> For further details, refer to the [HubSpot documentation](https://developers.hubspot.com/changelog/breaking-change-removed-support-for-referencing-custom-object-types-by-base-name){:target="_blank"}.
 
 
 ## Benefits of HubSpot Cloud Mode (Actions) vs HubSpot Classic
diff --git a/src/connections/destinations/catalog/actions-kafka/index.md b/src/connections/destinations/catalog/actions-kafka/index.md
index 40b380f2f5..3748bd60c4 100644
--- a/src/connections/destinations/catalog/actions-kafka/index.md
+++ b/src/connections/destinations/catalog/actions-kafka/index.md
@@ -30,9 +30,6 @@ The way you've configured your Kafka Cluster informs the authentication and encr
       <li>
         <b>Plain</b> or <b>SCRAM-SHA-256 / 512</b> authentication: provide values for <b>Username</b> and <b>Password</b> fields.
       </li>
-      <li> 
-        <b>AWS</b> authentication: provide values for <b>AWS Access Key ID</b> and <b>AWS Secret Key</b> fields, and optionally for the <b>AWS Authorization Identity</b> field. 
-      </li>
       <li>
         <b>Client Certificate</b> authentication: provide values for the <b>SSL Client Key</b> and <b>SSL Client Certificate</b> fields. 
       </li>
diff --git a/src/connections/destinations/catalog/actions-klaviyo/index.md b/src/connections/destinations/catalog/actions-klaviyo/index.md
index 0521bb9f3f..763ae25b4b 100644
--- a/src/connections/destinations/catalog/actions-klaviyo/index.md
+++ b/src/connections/destinations/catalog/actions-klaviyo/index.md
@@ -107,10 +107,6 @@ Some customers experience 403 errors when sending audience data to Klaviyo throu
 
 To reduce the number of `403` errors that you encounter, enable [IP Allowlisting](/docs/connections/destinations/#ip-allowlisting) for your workspace. For more information the range of IP addresses Klaviyo uses for integration traffic, see Klaviyo's [How to allowlist Klaviyo integration traffic IP addresses](https://help.klaviyo.com/hc/en-us/articles/19143781289115){:target="_blank”} documentation. 
 
-#### Can I send Engage Audiences to a pre-created Klaviyo List?
-
-No. Engage audiences are designed to initiate the creation of new lists in Klaviyo when you use the "Add Profile to List - Engage" mapping. You cannot link Engage lists to existing Klaviyo lists and cannot edit the List ID for Engage audiences.
-
 #### How can I unsuppress a profile when adding it to a list?
 
 When adding a user to a list, our action make use of the [Bulk Profile Import](https://developers.klaviyo.com/en/reference/spawn_bulk_profile_import_job){:target="_blank”} endpoint (when batching is enabled), and the [Add Profile To List](https://developers.klaviyo.com/en/reference/create_list_relationships){:target="_blank”} endpoint for non-batched requests. Both of which will not update a users suppression status if they were previously suppressed. 
diff --git a/src/connections/destinations/catalog/actions-rokt-audiences/index.md b/src/connections/destinations/catalog/actions-rokt-audiences/index.md
index 48d452acb7..d43edb36c6 100644
--- a/src/connections/destinations/catalog/actions-rokt-audiences/index.md
+++ b/src/connections/destinations/catalog/actions-rokt-audiences/index.md
@@ -6,6 +6,7 @@ hide-dossier: false
 private: false
 hidden: false
 id: 643697130067c2f408ff28ca
+redirect_from: "/connections/destinations/catalog/rokt-audiences-actions/"
 ---
 {% include content/plan-grid.md name="actions" %}
 
diff --git a/src/connections/destinations/catalog/actions-salesforce-marketing-cloud/index.md b/src/connections/destinations/catalog/actions-salesforce-marketing-cloud/index.md
index 18e13a6bb4..a313b17911 100644
--- a/src/connections/destinations/catalog/actions-salesforce-marketing-cloud/index.md
+++ b/src/connections/destinations/catalog/actions-salesforce-marketing-cloud/index.md
@@ -53,7 +53,10 @@ Once you save the API integration and add permissions, you will see a Summary pa
 3. Click **Configure Salesforce Marketing Cloud (Actions)** in the top-right corner of the screen.
 4. Select the source that will send data to SFMC and follow the steps to name your destination.
 5. On the **Settings** tab, input your SFMC Account ID (MID). In the Installed Package you created above, locate your Subdomain, Client ID, and Client Secret and input these settings. Your Subdomain can be found under "REST Base URI." Your Subdomain should be a 28-character string starting with the letters `mc`. Do not include the `.rest.marketingcloudapis.com` part of the URL.
-6. Follow the steps in the Destinations Actions documentation on [Customizing mappings](/docs/connections/destinations/actions/#customize-mappings).
+6. Go to the **Mappings** tab and selelct **+ New Mapping**. 
+7. Follow the mapping setup flow to create your mappings. 
+   * If you select one of the V2 actions involving data extensions, you can create a new data extension or connect to an existing one within Segment.  
+8. (*Optional*) Follow the steps in the Destinations Actions documentation on [customizing mappings](/docs/connections/destinations/actions/#customize-mappings) to customize your mappings.
 7. Enable the destination and configured mappings.
 
 {% include components/actions-fields.html settings="true"%}
@@ -77,11 +80,13 @@ The batch feature is only compatible with the "Send Contact to Data Extension" a
 
 To use the SFMC Journey Builder to send marketing campaigns to your users, you need to have data about those users in SFMC. The most common way to send data to SFMC is to send Segment data to an SFMC data extension. Data extensions are tables that contain your data. When you send a contact or event to a data extension, it will appear as a "row" in your data extension. Any metadata about the particular contact or event are considered attributes and will appear as a "column" in your data extension.
 
-Data extensions and attributes must be created **before** sending data. You can create a data extension in your SFMC account by navigating to **Audience Builder > Contact Builder > Data Extensions > Create**. Segment recommends creating a single data extension to store all contact data, and individual data extensions for each event type you plan to send. Once a data extension is created, you can add attributes for any traits or properties you plan to send. You must include at least one Primary Key attribute that will be used to uniquely identify each row.
+If you're using an action that isn't labeled with **(V2)**, data extensions and attributes must be created **before** sending data. You can create a data extension in your SFMC account by navigating to **Audience Builder > Contact Builder > Data Extensions > Create**. Segment recommends creating a single data extension to store all contact data, and individual data extensions for each event type you plan to send. Once a data extension is created, you can add attributes for any traits or properties you plan to send. You must include at least one Primary Key attribute that will be used to uniquely identify each row.
 
 > info ""
 > You can include more than one Data Extension Primary Key if needed. For example, you might use more than one primary key if you want to track which store locations a user visited, but you don't care how many times the users visited each location. In this case, you could use `Contact Key` and `Store Location` as Primary Keys. Then, SFMC only deduplicates if *both* Contact Key (the user) and Store Location are the same. This means you would record the stores individual users visited, but not how many times they visited each one.
 
+If you select an action labeled with **(V2)**, you can create new data extensions directly within Segment. You can define a name, folder, description, and customize your fields by setting the type, length, nullable, and primary key options. You can also search and select existing data extensions by searching for the ID within Segment to map fields more seamlessly. 
+
 API events are another way to send your Segment events to SFMC. API events can trigger an email or push notification campaign immediately when they receive data from Segment. You can create an API event in your SFMC account by navigating to **Journey Builder > Events > + New Event > API Event**.
 
 ### Sending Engage Audiences & Computed Traits to SFMC
diff --git a/src/connections/destinations/catalog/actions-stackadapt-audiences/index.md b/src/connections/destinations/catalog/actions-stackadapt-audiences/index.md
index 5af4925171..efc13d9fee 100644
--- a/src/connections/destinations/catalog/actions-stackadapt-audiences/index.md
+++ b/src/connections/destinations/catalog/actions-stackadapt-audiences/index.md
@@ -11,13 +11,13 @@ hidden: true
 
 [StackAdapt](https://www.stackadapt.com/){:target="_blank"} is a programmatic advertising platform specializing in audience engagement. StackAdapt enables marketers to deliver high-performing advertising campaigns across channels through real-time bidding, detailed audience targeting, and data-driven insights. StackAdapt’s integration with Twilio Engage helps you sync user data to optimize targeting and improve your campaign outcomes.
 
-This destination is maintained by StackAdapt. For any issues with the destination, please [submit a ticket to StackFAdapt's support team](https://support.stackadapt.com/hc/en-us/requests/new?ticket_form_id=360006572593){:target="_blank"}.
+This destination is maintained by StackAdapt. For any issues with the destination, please [submit a ticket to StackAdapt's support team](https://support.stackadapt.com/hc/en-us/requests/new?ticket_form_id=360006572593){:target="_blank"}.
 
 ## Getting started
 
 ### Getting your StackAdapt GraphQL Token
 
-If you do not have an existing StackAdapt API key, [reach out to the StackAdapt team for help](https://support.stackadapt.com/hc/en-us/requests/new?ticket_form_id=360006572593){:target="_blank"}.
+If you do not have an existing StackAdapt read & write API key, [reach out to the StackAdapt team for help](https://support.stackadapt.com/hc/en-us/requests/new?ticket_form_id=360006572593){:target="_blank"}.
 
 ### Setting up the StackAdapt Audience destination in Segment Engage
 
@@ -42,7 +42,9 @@ To sync an Engage audience with StackAdapt:
 4. On the Mappings tab, click **New Mapping** and select **Forward Audience Event**.
 5. Under Define event trigger, click **Add Condition** and add this condition: Event Type is `Track` or `Identify`.
 6. Under **Map fields**, select the advertiser you want to sync the audience with. You can identify a specific advertiser by finding its ID in StackAdapt.
-   ![Image showing sample map fields](images/map-fields-example.png)
+   > When you're on StackAdapt platform, navigate to `Execute` (or `Overview`), then click on `Advertiser`. Next, select an advertiser from the `Filter` section at the top. You can find the advertiser ID in the URL after `advertiser=`.
+
+![Image showing sample map fields](images/map-fields-example.png)
 
 On StackAdapt platform:
 
diff --git a/src/connections/destinations/catalog/actions-tiktok-audiences/index.md b/src/connections/destinations/catalog/actions-tiktok-audiences/index.md
index 00b9b4b75c..c8a092e50a 100644
--- a/src/connections/destinations/catalog/actions-tiktok-audiences/index.md
+++ b/src/connections/destinations/catalog/actions-tiktok-audiences/index.md
@@ -23,7 +23,9 @@ By using Segment's TikTok Audiences destination, you can increase traffic and dr
 
 ### Prerequisites
 
-Before connecting to the TikTok Audiences destination, you must have a [TikTok Ads Manager](https://www.tiktok.com/business/en-US/solutions/ads-manager){:target="_blank"} account. 
+Before connecting to the TikTok Audiences destination, you must have a [TikTok Ads Manager](https://www.tiktok.com/business/en-US/solutions/ads-manager){:target="_blank"} account, with either Admin or Operator permissions to create and manage campaigns in TikTok.
+
+For more details on account and access level permissions, refer to [TikTok's documentation](https://ads.tiktok.com/help/article/how-to-assign-asset-level-permissions?lang=en){:target="_blank"}.
 
 ### TikTok Audience Segments
 
diff --git a/src/connections/destinations/catalog/facebook-offline-conversions/index.md b/src/connections/destinations/catalog/facebook-offline-conversions/index.md
index 388c05465f..092d34e722 100644
--- a/src/connections/destinations/catalog/facebook-offline-conversions/index.md
+++ b/src/connections/destinations/catalog/facebook-offline-conversions/index.md
@@ -6,6 +6,9 @@ id: 58ae54dc70a3e552b95415f6
 ---
 [Facebook Offline Conversions](https://www.facebook.com/business/help/1782327938668950?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank”} enables offline event tracking, so marketers can run campaigns, upload transaction data, and compare in-store transactions.
 
+> info "Offline Conversions API deprecation"
+> Meta will [discontinue the Offline Conversions API](https://developers.facebook.com/docs/graph-api/changelog/version17.0#offline-conversions-api){:target="_blank"} in May 2025. As a result, this destination will stop accepting data at that time and will no longer be available for use. To continue sending offline conversion events to Meta, migrate to the [Facebook Conversions API (Actions)](/docs/connections/destinations/catalog/actions-facebook-conversions-api/#purchase) destination, which supports offline event tracking. 
+
 > info "Customer Information Parameters Requirements"
 > As of Facebook Marketing API v13.0+, Facebook began enforcing new requirements for customer information parameters (match keys). To ensure your events don't throw an error, Segment recommends that you review [Facebook’s new requirements](https://developers.facebook.com/docs/graph-api/changelog/version13.0#conversions-api){:target="_blank"}.
 
diff --git a/src/connections/destinations/catalog/facebook-pixel/index.md b/src/connections/destinations/catalog/facebook-pixel/index.md
index 5fb11ea0f1..579c00566a 100644
--- a/src/connections/destinations/catalog/facebook-pixel/index.md
+++ b/src/connections/destinations/catalog/facebook-pixel/index.md
@@ -110,7 +110,7 @@ In addition, Segment sends the following event types as Standard events:
 - `Products Searched`, which Segment sends as `Search`
 - `Checkout Started`, which Segment sends as `InitiateCheckout`
 
-Facebook requires a currency for `Purchase` events. If you leave it out a currency, Segment will set a default value of `USD`.
+Facebook requires a currency for `Purchase` events. If you leave out a currency, Segment will set a default value of `USD`.
 
 You can set custom properties for the events listed above. Use the setting "Standard Events custom properties" to list all the properties you want to send.
 
@@ -193,7 +193,7 @@ If you're using real estate, travel, or automotive [Dynamic Ads](https://www.fac
 
 For most implementations, Segment recommends leaving these mappings blank. By default, Segment sets `content_type` to "product".
 
-The same mapping can be used to change the `content_id` from the default value (product_id or the sku) to anything specific for Meta Pixel. For more information about required Meta Pixel events, see Meta's [Required Meta Pixel events and parameters for Advantage+ catalog ads](https://www.facebook.com/business/help/606577526529702?id=1205376682832142){:target="_blank”} documentation.
+The same mapping can be used to change the `content_ids` from the default value (product_id or the sku) to anything specific for Meta Pixel. For more information about required Meta Pixel events, see Meta's [Required Meta Pixel events and parameters for Advantage+ catalog ads](https://www.facebook.com/business/help/606577526529702?id=1205376682832142){:target="_blank”} documentation.
 
 ## Troubleshooting
 
diff --git a/src/connections/destinations/catalog/hubspot/index.md b/src/connections/destinations/catalog/hubspot/index.md
index 69d8579b80..532d0f20c1 100644
--- a/src/connections/destinations/catalog/hubspot/index.md
+++ b/src/connections/destinations/catalog/hubspot/index.md
@@ -223,7 +223,7 @@ When using any of Segment's server-side sources, a connector infers `traits.life
 
 ### Loading Forms SDK
 
-Segment gives you the option to load the [HubSpot Forms SDK](https://developers.hubspot.com/docs/methods/forms/advanced_form_options){:target="_blank"} alongside their tracking library. Enable the **Load Forms SDK** setting when you your HubSpot integration.
+Segment gives you the option to load the [HubSpot Forms SDK](https://developers.hubspot.com/docs/methods/forms/advanced_form_options){:target="_blank"} alongside HubSpot's tracking library. Enable the **Load Forms SDK** setting for your HubSpot integration.
 
 > info ""
 > The Forms SDK expects to load synchronously but analytics.js loads asynchronously. To interact with the API, run code inside an [analytics.ready](/docs/connections/sources/catalog/libraries/website/javascript/#ready) callback. For example:
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 f1ce669279..c778b278e7 100644
--- a/src/connections/destinations/catalog/personas-facebook-custom-audiences/index.md
+++ b/src/connections/destinations/catalog/personas-facebook-custom-audiences/index.md
@@ -151,4 +151,4 @@ Most likely, this is due to your Facebook account needing to be reauthorized, so
 Note, emails must be in a plain text format. Facebook also provides these guidelines for the emails that you send to them: trim leading, trail whitespace, and convert all characters to lowercase.
 
 ### Do you support LTV audiences?
-Facebook has a feature called [value-based audiences](https://developers.facebook.com/docs/marketing-api/audiences/guides/value-based-lookalike-audiences/){:target="_blank"} where you can send an additional field like LTV, to tell Facebook how to optimize their advertising based on a customer's value. 
+Facebook has a feature called [value-based audiences](https://developers.facebook.com/docs/marketing-api/audiences/guides/value-based-lookalike-audiences/){:target="_blank"} where you can send an additional field like LTV, to tell Facebook how to optimize their advertising based on a customer's value. The Facebook Custom Audiences destination does not support value based audiences. If you're interested in this feature, [contact Segment support](https://segment.com/help/contact/){:target="_blank"}.
diff --git a/src/connections/destinations/images/mapping-concatenation.png b/src/connections/destinations/images/mapping-concatenation.png
new file mode 100644
index 0000000000..5dfba562b1
Binary files /dev/null and b/src/connections/destinations/images/mapping-concatenation.png differ
diff --git a/src/connections/destinations/index.md b/src/connections/destinations/index.md
index 04c8485b98..fea7094e95 100644
--- a/src/connections/destinations/index.md
+++ b/src/connections/destinations/index.md
@@ -220,6 +220,18 @@ The following destinations support bulk batching:
 > info "You must manually configure bulk batches for Actions destinations"
 > To support bulk batching for the Actions Webhook destination, you must set `enable-batching: true` and `batch_size: >= 1000`.
 
+### Hashing 
+Segment automatically hashes personally identifiable information (PII). This simplifies implementation for teams with data privacy requirements and eliminates issues with double-hashing that can result in failed matching at destinations. 
+
+Segment supports these 2 types of data for hashing:
+* **Plain text data:** When you send plain text values to destinations that require hashed values, Segment automatically normalizes and hashes these values. 
+* **Pre-hashed data:** If you already hash your data before sending it to Segment, Segment is able to detect that the data is hashed, and will pass your pre-hashed data directly to the destination, avoiding double-hashing. 
+
+> info ""
+> If you choose to hash data yourself, ensure you follow each destination's specific hashing requirements. Fields that support automatic hashing detection will display a tooltip indicating *"If not hashed, Segment will hash this value."*
+
+For destination-specific hashing requirements, refer to the destination's API documentation. 
+
 ## IP Allowlisting
 
 IP Allowlisting uses a NAT gateway to route traffic from Segment's servers to your destination through a limited range of IP addresses, which can prevent malicious actors from establishing TCP and UDP connections with your integrations.
diff --git a/src/connections/functions/destination-functions.md b/src/connections/functions/destination-functions.md
index ae56dfd98f..f109a68a4a 100644
--- a/src/connections/functions/destination-functions.md
+++ b/src/connections/functions/destination-functions.md
@@ -79,6 +79,12 @@ To change which event type the handler listens to, you can rename it to the name
 > info ""
 > Functions' runtime includes a `fetch()` polyfill using a `node-fetch` package. Check out the [node-fetch documentation](https://www.npmjs.com/package/node-fetch){:target="_blank"} for usage examples.
 
+### Variable scoping 
+
+When declaring settings variables, declare them in the function handler rather than globally in your function. This prevents you from leaking the settings values across other function instances. 
+
+The handler for destination functions is event-specific. For example, you might have an `onTrack()`or `onIdentify()` function handler.
+
 ### Errors and error handling
 
 {% include content/functions/errors-and-error-handling.md %}
diff --git a/src/connections/functions/insert-functions.md b/src/connections/functions/insert-functions.md
index e364ba6c94..f40678d9df 100644
--- a/src/connections/functions/insert-functions.md
+++ b/src/connections/functions/insert-functions.md
@@ -111,6 +111,12 @@ To ensure the Destination processes an event payload modified by the function, r
 > info ""
 > Functions' runtime includes a `fetch()` polyfill using a `node-fetch` package. Check out the [node-fetch documentation](https://www.npmjs.com/package/node-fetch){:target="_blank"} for usage examples.
 
+### Variable scoping 
+
+When declaring settings variables, make sure to declare them in the function handler rather than globally in your function. This prevents you leaking the settings values across other function instances. 
+
+The handler for insert functions is event-specific, for example, `onTrack()`, `onIdentify()`, and so on.
+
 ### Errors and error handling
 
 Segment considers a function's execution successful if it finishes without error. You can `throw` an error to create a failure on purpose. Use these errors to validate event data before processing it to ensure the function works as expected.
@@ -176,8 +182,7 @@ async function onIdentify(event) {
 ```
 If you don't supply a function for an event type, Segment throws an `EventNotSupported` error by default.
 
-
-You can read more about [error handling](#destination-insert-functions-logs-and-errors) below.
+See [errors and error handling](#errors-and-error-handling) for more information on supported error types and how to troubleshoot them.
 
 ## Runtime and dependencies
 
diff --git a/src/connections/functions/source-functions.md b/src/connections/functions/source-functions.md
index 43ca32fc88..86bc3ccf36 100644
--- a/src/connections/functions/source-functions.md
+++ b/src/connections/functions/source-functions.md
@@ -261,6 +261,12 @@ The `Segment.set()` method accepts an object with the following fields:
 > warning ""
 > When you use the `set()` method, you won't see events in the Source Debugger. Segment only sends events to connected warehouses.
 
+### Variable scoping
+
+Declare settings variables in the function handler, rather than globally in your function. This prevents you from leaking the settings values across other function instances. 
+
+The handler for Source functions is `onRequest()`.
+
 ### Runtime and dependencies
 
 {% include content/functions/runtime.md %}
diff --git a/src/connections/reverse-etl/reverse-etl-source-setup-guides/databricks-setup.md b/src/connections/reverse-etl/reverse-etl-source-setup-guides/databricks-setup.md
index c47619e20a..88ffe7ce51 100644
--- a/src/connections/reverse-etl/reverse-etl-source-setup-guides/databricks-setup.md
+++ b/src/connections/reverse-etl/reverse-etl-source-setup-guides/databricks-setup.md
@@ -12,24 +12,26 @@ At a high level, when you set up Databricks for Reverse ETL, the configured serv
 ## Required permissions
 * Make sure the service principal you use to connect to Segment has permissions to use that warehouse. In the Databricks console go to **SQL warehouses** and select the warehouse you're using. Navigate to **Overview > Permissions** and make sure the service principal you use to connect to Segment has *can use* permissions.
 
+Note the Service Principal UUID from the [User Management Page](https://accounts.cloud.databricks.com/user-management/serviceprincipals/){:target="_blank”} (under Service Principals) for the following SQL operations.
+
 * To grant access to read data from the tables used in the model query, run: 
 
     ```
-    GRANT USAGE ON SCHEMA <schema_name> TO `<service principal you are using to connect to Segment>`; 
-    GRANT SELECT, READ_METADATA ON SCHEMA <schema_name> TO `<service principal you are using to connect to Segment>`; 
+    GRANT USAGE ON SCHEMA <schema_name> TO `<service principal ID you are using to connect to Segment>`; 
+    GRANT SELECT, READ_METADATA ON SCHEMA <schema_name> TO `<service principal ID you are using to connect to Segment>`; 
     ```
 
 * To grant Segment access to create a schema to keep track of the running syncs, run: 
 
     ```
-    GRANT CREATE on catalog <name of the catalog, usually hive_metastore or main if using unity-catalog> TO `<service principal you are using to connect to Segment>`;
+    GRANT CREATE on catalog <name of the catalog, usually hive_metastore or main if using unity-catalog> TO `<service principal ID you are using to connect to Segment>`;
     ```
 
 * If you want to create the schema yourself instead and then give Segment access to it, run:
 
     ```
     CREATE SCHEMA IF NOT EXISTS __segment_reverse_etl; 
-    GRANT ALL PRIVILEGES ON SCHEMA __segment_reverse_etl TO `<service principal you are using to connect to Segment>`;
+    GRANT ALL PRIVILEGES ON SCHEMA __segment_reverse_etl TO `<service principal ID you are using to connect to Segment>`;
     ```
 
 ## Set up guide
diff --git a/src/connections/reverse-etl/reverse-etl-source-setup-guides/postgres-setup.md b/src/connections/reverse-etl/reverse-etl-source-setup-guides/postgres-setup.md
index 04695300ea..2a6689f0a8 100644
--- a/src/connections/reverse-etl/reverse-etl-source-setup-guides/postgres-setup.md
+++ b/src/connections/reverse-etl/reverse-etl-source-setup-guides/postgres-setup.md
@@ -31,6 +31,15 @@ To set up Postgres with Reverse ETL:
 
     -- allows the "segment" user to create new schemas on the specified database. (this is the name you chose when provisioning your cluster) 
     GRANT CREATE ON DATABASE "<enter database name here>" TO "segment";
+   
+    -- create Segment schema
+    CREATE SCHEMA __segment_reverse_etl;
+   
+    -- Allow user to use the Segment schema
+    GRANT USAGE ON SCHEMA __segment_reverse_etl TO segment;
+
+    -- Grant all privileges on all existing tables in the Segment schema
+    GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA __segment_reverse_etl TO segment;
     ```
 4. Make sure the user has correct access permissions to the database.
 5. Follow the steps listed in the [Add a source](/docs/connections/reverse-etl/setup/#step-1-add-a-source) section to finish adding Postgres as a source. 
@@ -40,4 +49,10 @@ To set up Postgres with Reverse ETL:
 
 * Give the `segment` user write permissions for the Segment managed schema (`__SEGMENT_REVERSE_ETL`), which keeps track of changes to the query results.  
 
-After you've successfully added your Postgres source, [add a model](/docs/connections/reverse-etl/setup/#step-2-add-a-model) and follow the rest of the steps in the Reverse ETL setup guide.
\ No newline at end of file
+After you've successfully added your Postgres source, [add a model](/docs/connections/reverse-etl/setup/#step-2-add-a-model) and follow the rest of the steps in the Reverse ETL setup guide.
+
+### How to use the same user for a Postgres destination and Reverse ETL source
+If you’re using the same database user for both a Segment [Postgres warehouse destination](/docs/connections/storage/catalog/postgres/) (where Segment writes data into Postgres) and Reverse ETL source (where Segment reads data from Postgres), make sure the user has:
+- SELECT or READ access on all source tables for Reverse ETL
+- CREATE SCHEMA `__SEGMENT_REVERSE_ETL` permission (or ability to use an existing schema)
+- INSERT, UPDATE, and DELETE permissions on tables within `__SEGMENT_REVERSE_ETL`
diff --git a/src/connections/reverse-etl/reverse-etl-source-setup-guides/redshift-setup.md b/src/connections/reverse-etl/reverse-etl-source-setup-guides/redshift-setup.md
index 6ae2d4bdc0..c32f6f6aca 100644
--- a/src/connections/reverse-etl/reverse-etl-source-setup-guides/redshift-setup.md
+++ b/src/connections/reverse-etl/reverse-etl-source-setup-guides/redshift-setup.md
@@ -15,12 +15,21 @@ To set up Redshift with Reverse ETL:
 2. Follow the [networking instructions](/docs/connections/storage/catalog/redshift/#networking) to configure the correct network and security settings. 
 3. Run the SQL commands below to create a user named `segment`. 
 
-    ```ts
+    ```sql
     -- create a user named "segment" that Segment will use when connecting to your Redshift cluster.
     CREATE USER segment PASSWORD '<enter password here>';
 
     -- allows the "segment" user to create new schemas on the specified database. (this is the name you chose when provisioning your cluster)
     GRANT CREATE ON DATABASE "<enter database name here>" TO "segment";
+    
+    -- create Segment schema
+    CREATE SCHEMA __segment_reverse_etl;
+   
+    -- Allow user to use the Segment schema
+    GRANT USAGE ON SCHEMA __segment_reverse_etl TO segment;
+
+    -- Grant all privileges on all current tables in the Segment schema
+    GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA __segment_reverse_etl TO segment;
     ```
 4. Follow the steps listed in the [Add a source](/docs/connections/reverse-etl/setup/#step-1-add-a-source) section to finish adding Redshift as your source.
 
diff --git a/src/connections/reverse-etl/reverse-etl-source-setup-guides/snowflake-setup.md b/src/connections/reverse-etl/reverse-etl-source-setup-guides/snowflake-setup.md
index 697b375900..2768240b68 100644
--- a/src/connections/reverse-etl/reverse-etl-source-setup-guides/snowflake-setup.md
+++ b/src/connections/reverse-etl/reverse-etl-source-setup-guides/snowflake-setup.md
@@ -55,6 +55,7 @@ Follow the instructions below to set up the Segment Snowflake connector. Segment
    -- database access
    GRANT USAGE ON DATABASE segment_reverse_etl TO ROLE segment_reverse_etl;
    GRANT CREATE SCHEMA ON DATABASE segment_reverse_etl TO ROLE segment_reverse_etl;
+   GRANT CREATE TABLE ON SCHEMA __segment_reverse_etl TO ROLE segment_reverse_etl;
    ```
 6. Enter and run one of the following code snippets below to create the user Segment uses to run queries. For added security, Segment recommends creating a user that authenticates using a key pair.
 
diff --git a/src/connections/reverse-etl/system.md b/src/connections/reverse-etl/system.md
index cf7c8613a0..c24aaec4fe 100644
--- a/src/connections/reverse-etl/system.md
+++ b/src/connections/reverse-etl/system.md
@@ -16,6 +16,37 @@ For Segment to compute the data changes within your warehouse, Segment needs to
 > warning ""
 > There may be cost implications to having Segment query your warehouse tables.
 
+## Reverse ETL schema
+When using Reverse ETL with Segment, several system tables are created within the `__segment_reverse_etl` schema in your warehouse. These tables are crucial for managing the sync process efficiently and tracking state information. Below are the details of the system tables in this schema:
+
+### Records table
+
+`records_<subscription_id>` table is located within the ` __segment_reverse_etl` schema. 
+
+This table contains two key columns:
+
+- `record_id`: A unique identifier for each record.
+- `checksum`: A checksum value that is used to detect changes to a record since the last sync.
+The records table helps in determining new and updated rows by comparing the checksum values during each sync. If a record’s checksum changes, it indicates that the record has been modified and should be included in the next sync. This ensures that only the necessary updates are processed, reducing the amount of data transferred.
+
+### Checkpoint table
+
+The `checkpoints_<subscription_id>` tables are located within the __segment_reverse_etl schema.
+
+This table contains the following columns:
+
+- `source_id`: Identifies the source from which the data is being synced.
+- `model_id`: Identifies the specific model or query that is used to pull data.
+- `checkpoint`: Stores a timestamp value that represents the last sync point for a particular model.
+
+The checkpoints table is used for timestamp-based checkpointing between syncs. This enables Segment to track the last successful sync for each model and avoid duplicating data when syncing, ensuring incremental and efficient data updates.
+
+### Important Considerations
+
+Do not modify or delete these tables. Altering or deleting the records and checkpoints tables can cause unpredictable behavior in the sync process. These tables are essential for maintaining the integrity of data during Reverse ETL operations.
+State management: The `__segment_reverse_etl` schema and its associated tables (records and checkpoints) manage the state of each sync, ensuring that only necessary data changes are synced and that the sync process can resume where it left off.
+
+
 ## Limits
 To provide consistent performance and reliability at scale, Segment enforces default use and rate limits for Reverse ETL.
 
diff --git a/src/connections/sources/catalog/cloud-apps/hubspot-profiles/index.md b/src/connections/sources/catalog/cloud-apps/hubspot-profiles/index.md
new file mode 100644
index 0000000000..7cf41a897e
--- /dev/null
+++ b/src/connections/sources/catalog/cloud-apps/hubspot-profiles/index.md
@@ -0,0 +1,99 @@
+---
+title: Connect HubSpot to Segment Profiles
+plan: unify
+---
+
+This guide explains how to set up HubSpot as a source and connect it to Segment Profiles. 
+
+Once configured, this integration lets you send HubSpot data directly to Segment Profiles, eliminating the need for a data warehouse and enabling faster data synchronization and profile enrichment.
+
+> info "Public Beta"
+> The HubSpot/Segment Profiles integration is in public beta, and Segment is actively working on this feature. Some functionality may change before it becomes generally available.
+
+## Prerequisites
+
+Before you begin, make sure that you have the following:
+
+- A Segment workspace with [Unify](/docs/unify/) enabled and [Identity Resolution](/docs/unify/identity-resolution/) configured.
+- Administrator access to your HubSpot account.
+
+## Integration steps
+
+Follow the steps in this section to connect HubSpot to Segment Profiles.
+
+### 1. Add HubSpot as a source
+
+To start syncing HubSpot data, first add HubSpot as a source to your workspace.
+
+1. From your Segment workspace, go to **Connections > Catalog** and search for **HubSpot**.
+2. Select **HubSpot**, then click **Add Source**.
+3. Enter a name for your HubSpot source and add an optional label.
+4. Log in to HubSpot and choose the account you want to sync data from.
+5. Once you've authenticated, return to Segment and click **Next**.
+6. Verify the **Schema name**, then click **Next**.
+7. In the **Selective Sync** settings:
+   - Set a start date for the initial sync (or leave it blank for a full historical sync).
+   - Keep the default sync frequency (every three hours) or adjust it by contacting friends@segment.com.
+   - Choose the collections to sync.
+
+After adding the source, go to **Settings > Basic settings** and toggle **Enable source**. The first sync begins immediately.
+
+### 2. Add a Segment Profiles destination
+
+Next, add a Segment Profiles destination.
+
+1. From your HubSpot source, go to the **Models** tab and click **Add destination**.
+2. Select **Segment Profiles**, then click **Add destination**.
+3. Enter a name for the destination, then click **Create destination**.
+
+### 3. Create a data model
+
+A data model defines how HubSpot data maps to Segment Profiles.
+
+1. In the HubSpot source, go to the **Models** tab and click **Create Model**.
+2. Select the collections and columns to sync.
+3. Preview the data in real time and validate the schema.
+4. Name the model and click **Next** to save it.
+
+### 4. Map HubSpot data to Segment Profiles
+
+Now, configure mappings to determine how HubSpot data updates Segment Profiles.
+
+1. In the **Models** tab of your HubSpot source, click **Add mapping**.
+2. Segment redirects you to the Segment Profiles destination. Click **Add mapping**.
+3. Select your data model and define the mapping rules:
+   - Choose the Profile Space to update.
+   - Map HubSpot fields to Segment Profile fields.
+   - **You must map either the User ID, Anonymous ID, or Group ID field.**
+4. Test the mapping with real HubSpot data.
+5. Save the configuration.
+
+
+### 5. Enable destination mapping and finish setup
+
+Finish the setup process by enabling the destination mapping.
+
+1. From the **Overview** tab of the Segment Profiles destination, toggle **Mapping Status** to **Enabled**.
+2. Return to your HubSpot source and verify that **Settings > Basic settings** is enabled.
+
+Once complete, HubSpot data syncs to Segment Profiles automatically.
+
+## Data synchronization
+
+After connecting HubSpot to the Segment Profiles destination, the integration begins syncing data:
+
+- New or updated records in HubSpot get sent to Segment Profiles based on your mapping configuration.
+- The first sync includes historical data based on your selected start date.
+- Future syncs run at the default interval of every three hours.
+
+If you change the start date after the first sync, Segment doesn’t retroactively sync data unless you manually trigger a full sync. Changes to synced collections apply only to future syncs. Data you previously synced from removed collections stays in your workspace.
+
+## Best practices
+
+Keep the following in mind when working with the HubSpot/Segment Profiles integration:
+
+- Start with a small dataset to validate mappings before expanding to all HubSpot objects.
+- Regularly review your mappings to make sure they reflect any schema changes in HubSpot or Segment Profiles.
+- Monitor both your HubSpot source and Segment Profiles destination for errors and data discrepancies.
+
+Each data model supports mapping from one HubSpot collection at a time. For complex use cases requiring multiple collections, create separate data models and mappings.
diff --git a/src/connections/sources/catalog/cloud-apps/hubspot/index.md b/src/connections/sources/catalog/cloud-apps/hubspot/index.md
index b87b3e0db3..8eab0aa3ea 100644
--- a/src/connections/sources/catalog/cloud-apps/hubspot/index.md
+++ b/src/connections/sources/catalog/cloud-apps/hubspot/index.md
@@ -18,10 +18,11 @@ Are you trying to set up HubSpot as a destination to receive data from Segment?
 
    **Note**: You can add multiple instances if you have multiple HubSpot accounts. That's why we allow you to customize the source's nickname and schema name!
 
-4. Finally, connect an account with **admin API permissions** to access your HubSpot data. This account should be an active user on a Professional or Enterprise plan. Check out [HubSpot's docs on how to get your API Key](http://knowledge.hubspot.com/articles/kcs_article/integrations/how-do-i-get-my-hubspot-api-key){:target="_blank"}.
+4. Configure the Selective Sync settings. You can specify a start date for the initial sync, adjust the default sync frequency, and select which collections to sync.
 
-Voila! We'll begin syncing your HubSpot data into Segment momentarily, and it will be written to your warehouse at your next Warehouse run.
+5. Connect an account with **admin API permissions** to access your HubSpot data. This account should be an active user on a Professional or Enterprise plan. Check out [HubSpot's docs on how to get your API Key](http://knowledge.hubspot.com/articles/kcs_article/integrations/how-do-i-get-my-hubspot-api-key){:target="_blank"}.
 
+Voila! We'll begin syncing your HubSpot data into Segment momentarily, and it will be written to your warehouse at your next Warehouse run.
 
 ## Components
 
@@ -31,12 +32,12 @@ The HubSpot source is built with a sync component, which means Segment makes req
 
 Our sync component uses an upsert API, so the data in your warehouse loaded using sync will reflect the latest state of the corresponding resource in HubSpot. For example, if `deals` goes from `open` to `closed` between syncs, on its next sync that deal's status will be `closed`.
 
-The source syncs and warehouse syncs are independent processes. Source runs pull your data into the Segment Hub, and warehouse runs flush that data to your warehouse. Sources will sync with Segment every 3 hours. Depending on your Warehouses plan, we will push the Source data to your warehouse on the interval associated with your billing plan.
+The source syncs and warehouse syncs are independent processes. Source runs pull your data into the Segment Hub, and warehouse runs flush that data to your warehouse.  You can set the start date of the first sync. After the first sync, sources sync with Segment every 3 hours. Depending on your Warehouses plan, Segment pushes the Source data to your warehouse on the interval associated with your billing plan.
 
 
 ## Collections
 
-Collections are the groupings of resources we pull from your source. In your warehouse, each collection gets its own table.
+Collections are the groupings of resources we pull from your source. You can select which collections are included in your sync. In your warehouse, each collection gets its own table.
 
 ### Event History
 
diff --git a/src/connections/sources/catalog/libraries/mobile/android/android-faqs.md b/src/connections/sources/catalog/libraries/mobile/android/android-faqs.md
index 5ae67b2af6..f4be8545ab 100644
--- a/src/connections/sources/catalog/libraries/mobile/android/android-faqs.md
+++ b/src/connections/sources/catalog/libraries/mobile/android/android-faqs.md
@@ -1,8 +1,14 @@
 ---
 title: 'Analytics-Android frequently asked questions'
 strat: android
+custom_ranking:
+  heading: 0
+  position: 99999
 ---
 
+> warning "End-of-Support for Analytics-Android in March 2026"
+> End-of-support for the Analytics-Android SDK is scheduled for March 2026. Segment's future development efforts concentrate on the new [Analytics-Kotlin](/docs/connections/sources/catalog/libraries/mobile/kotlin-android/) SDK. If you'd like to upgrade to Analytics-Kotlin, see the [migration guide](/docs/connections/sources/catalog/libraries/mobile/kotlin-android/migration/). 
+
 ## What is the latest version of the library?
 
 Analytics-Android is published to [Maven Central](http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22com.segment.analytics.android%22%20AND%20a%3A%22analytics%22) where you can see all published releases.
diff --git a/src/connections/sources/catalog/libraries/mobile/android/changelog.md b/src/connections/sources/catalog/libraries/mobile/android/changelog.md
index 7a2bc56345..651dd6b48d 100644
--- a/src/connections/sources/catalog/libraries/mobile/android/changelog.md
+++ b/src/connections/sources/catalog/libraries/mobile/android/changelog.md
@@ -2,5 +2,8 @@
 title: Analytics-Android Changelog
 repo: analytics-android
 strat: android
+custom_ranking:
+  heading: 0
+  position: 99999
 ---
 {% include content/changelog.html %}
\ No newline at end of file
diff --git a/src/connections/sources/catalog/libraries/mobile/android/index.md b/src/connections/sources/catalog/libraries/mobile/android/index.md
index 818392abc1..34470ffb10 100644
--- a/src/connections/sources/catalog/libraries/mobile/android/index.md
+++ b/src/connections/sources/catalog/libraries/mobile/android/index.md
@@ -2,16 +2,19 @@
 title: 'Analytics-Android'
 strat: android
 repo: analytics-android
-support_type: maintenance
+support_type: community
 id: wXNairW5xX
+custom_ranking:
+  heading: 0
+  position: 99999
 ---
 Analytics-Android makes it easier for you to send data to any tool without having to learn, test or implement a new API every time.
 
 
 Analytics-Android only supports any Android device running API 14 (Android 4.0) and higher. This includes Amazon Fire devices.
 
-> info "Analytics-Kotlin"
-> The Analytics-Kotlin library is in General Availability. You can use Analytics-Kotlin for [mobile](/docs/connections/sources/catalog/libraries/mobile/kotlin-android/) or [server](/docs/connections/sources/catalog/libraries/server/kotlin) applications. If you'd like to upgrade to Analytics-Kotlin, see the [migration guide](/docs/connections/sources/catalog/libraries/mobile/kotlin-android/migration/). Segment's future development efforts concentrate on the new Analytics-Kotlin SDK, and will only ship security updates for the Analytics-Android SDK.
+> warning "End-of-Support for Analytics-Android in March 2026"
+> End-of-support for the Analytics-Android SDK is scheduled for March 2026. Segment's future development efforts concentrate on the new [Analytics-Kotlin](/docs/connections/sources/catalog/libraries/mobile/kotlin-android/) SDK. If you'd like to upgrade to Analytics-Kotlin, see the [migration guide](/docs/connections/sources/catalog/libraries/mobile/kotlin-android/migration/). 
 
 > success ""
 > In addition to the documentation here, you can also [read the Javadocs for all versions of Analytics-Android on Javadoc.io](https://javadoc.io/doc/com.segment.analytics.android/analytics/latest/index.html).
diff --git a/src/connections/sources/catalog/libraries/mobile/android/middleware.md b/src/connections/sources/catalog/libraries/mobile/android/middleware.md
index a336962f35..b786f26601 100644
--- a/src/connections/sources/catalog/libraries/mobile/android/middleware.md
+++ b/src/connections/sources/catalog/libraries/mobile/android/middleware.md
@@ -1,8 +1,14 @@
 ---
 title: 'Middleware for Analytics-Android'
 strat: android
+custom_ranking:
+  heading: 0
+  position: 99999
 ---
 
+> warning "End-of-Support for Analytics-Android in March 2026"
+> End-of-support for the Analytics-Android SDK is scheduled for March 2026. Segment's future development efforts concentrate on the new [Analytics-Kotlin](/docs/connections/sources/catalog/libraries/mobile/kotlin-android/) SDK. If you'd like to upgrade to Analytics-Kotlin, see the [migration guide](/docs/connections/sources/catalog/libraries/mobile/kotlin-android/migration/). 
+
 Middlewares are a powerful mechanism that can augment the events collected by the SDK. A middleware is a simple function that is invoked by the Segment SDK and can be used to monitor, modify, augment or reject events. Source Middleware are available on analytics-android 4.3.0 and later. Destination Middleware are available on analytics-android 4.7.0 and later.
 
 You can register source middleware during construction with the `.useSourceMiddleware` method on the builder. These middleware are invoked for all events, including automatically tracked events, and external event sources like Adjust and Optimizely.
diff --git a/src/connections/sources/catalog/libraries/mobile/android/quickstart.md b/src/connections/sources/catalog/libraries/mobile/android/quickstart.md
index f26b9eccbc..e75e23018b 100644
--- a/src/connections/sources/catalog/libraries/mobile/android/quickstart.md
+++ b/src/connections/sources/catalog/libraries/mobile/android/quickstart.md
@@ -2,8 +2,14 @@
 title: 'Quickstart: Analytics-Android'
 hidden: true
 strat: android
+custom_ranking:
+  heading: 0
+  position: 99999
 ---
 
+> warning "End-of-Support for Analytics-Android in March 2026"
+> End-of-support for the Analytics-Android SDK is scheduled for March 2026. Segment's future development efforts concentrate on the new [Analytics-Kotlin](/docs/connections/sources/catalog/libraries/mobile/kotlin-android/) SDK. If you'd like to upgrade to Analytics-Kotlin, see the [migration guide](/docs/connections/sources/catalog/libraries/mobile/kotlin-android/migration/). 
+
 [![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.segment.analytics.android/analytics/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.segment.analytics.android/analytics)
 
 This tutorial will help you start sending analytics data from your Android app to Segment and any of our destinations, using our Android library. As soon as you're set up you'll be able to turn on any new destinations with the flip of a switch!
diff --git a/src/connections/sources/catalog/libraries/mobile/android/troubleshooting.md b/src/connections/sources/catalog/libraries/mobile/android/troubleshooting.md
index b7d4d3b611..802b3b23ee 100644
--- a/src/connections/sources/catalog/libraries/mobile/android/troubleshooting.md
+++ b/src/connections/sources/catalog/libraries/mobile/android/troubleshooting.md
@@ -1,8 +1,14 @@
 ---
 title: 'Troubleshooting Analytics-Android'
 strat: android
+custom_ranking:
+  heading: 0
+  position: 99999
 ---
 
+> warning "End-of-Support for Analytics-Android in March 2026"
+> End-of-support for the Analytics-Android SDK is scheduled for March 2026. Segment's future development efforts concentrate on the new [Analytics-Kotlin](/docs/connections/sources/catalog/libraries/mobile/kotlin-android/) SDK. If you'd like to upgrade to Analytics-Kotlin, see the [migration guide](/docs/connections/sources/catalog/libraries/mobile/kotlin-android/migration/). 
+
 ## No events in my debugger
 
 1. Check that you followed all of the [Getting Started](/docs/connections/sources/catalog/libraries/mobile/android/#getting-started) steps correctly
diff --git a/src/connections/sources/catalog/libraries/mobile/android/wear.md b/src/connections/sources/catalog/libraries/mobile/android/wear.md
index 4e8727560d..e9ec90f0ee 100644
--- a/src/connections/sources/catalog/libraries/mobile/android/wear.md
+++ b/src/connections/sources/catalog/libraries/mobile/android/wear.md
@@ -2,8 +2,14 @@
 title: 'Analytics-Android Wear'
 strat: android
 hidden: true
+custom_ranking:
+  heading: 0
+  position: 99999
 ---
 
+> warning "End-of-Support for Analytics-Android in March 2026"
+> End-of-support for the Analytics-Android SDK is scheduled for March 2026. Segment's future development efforts concentrate on the new [Analytics-Kotlin](/docs/connections/sources/catalog/libraries/mobile/kotlin-android/) SDK. If you'd like to upgrade to Analytics-Kotlin, see the [migration guide](/docs/connections/sources/catalog/libraries/mobile/kotlin-android/migration/). 
+
 Analytics-Android Wear makes it simple to send your data to any tool without having to learn, test, or implement a new API every time.
 
 All of Segment's client libraries are open-source, so you can [view Analytics-Android on GitHub](https://github.com/segmentio/analytics-android), or check out our [browser and server-side libraries](/docs/connections/sources/catalog/) too.
diff --git a/src/connections/sources/catalog/libraries/mobile/ios/changelog.md b/src/connections/sources/catalog/libraries/mobile/ios/changelog.md
index e364e2df7a..85a8312245 100644
--- a/src/connections/sources/catalog/libraries/mobile/ios/changelog.md
+++ b/src/connections/sources/catalog/libraries/mobile/ios/changelog.md
@@ -2,5 +2,8 @@
 title: Analytics-iOS Changelog
 repo: analytics-ios
 strat: ios
+custom_ranking:
+  heading: 0
+  position: 99999
 ---
 {% include content/changelog.html %}
\ No newline at end of file
diff --git a/src/connections/sources/catalog/libraries/mobile/ios/index.md b/src/connections/sources/catalog/libraries/mobile/ios/index.md
index 2d224e2cb4..4e8d09d9c6 100644
--- a/src/connections/sources/catalog/libraries/mobile/ios/index.md
+++ b/src/connections/sources/catalog/libraries/mobile/ios/index.md
@@ -2,21 +2,24 @@
 title: Analytics-iOS
 strat: ios
 repo: analytics-ios
-support_type: maintenance
+support_type: community
 id: UBrsG9RVzw
+custom_ranking:
+  heading: 0
+  position: 99999
 ---
 With Analytics-iOS, you can send your data to analytics or marketing tool, without needing to learn, test, or implement a new API with each update or addition.
 <br />
 <br />
 <br />
 
+> warning "End-of-Support for Analytics-iOS in March 2026"
+> End-of-support for the Analytics-iOS SDK is scheduled for March 2026. Segment's future development efforts concentrate on the new [Analytics-Swift](/docs/connections/sources/catalog/libraries/mobile/swift/){:target="_blank”} SDK. If you'd like to migrate to Analytics-Swift, see the [migration guide](/docs/connections/sources/catalog/libraries/mobile/swift/migration/){:target="_blank”}.
+
 > info "Watchkit extensions currently unsupported"
 > Segment does not currently support tracking of watchkit extensions for the Apple Watch. [Email Segment](https://segment.com/requests/integrations/){:target="_blank”}. if you're interested in a Watchkit SDK. For now Segment recommends tracking watch interactions using the iPhone app code.
 
 
-> info "Analytics-Swift"
-> The [Analytics-Swift](/docs/connections/sources/catalog/libraries/mobile/swift/){:target="_blank”}. library is in General Availability. If you'd like to migrate to Analytics-Swift, see the [migration guide](/docs/connections/sources/catalog/libraries/mobile/swift/migration/){:target="_blank”}.. Segment's future development efforts concentrate on the new Analytics-Kotlin SDK, and will only ship security updates for the Analytics-Android SDK.
-
 ## Analytics-iOS and Unique Identifiers
 
 One of the most important parts of any analytics platform is the ability to consistently and accurately identify users. To do this, the platform must assign and persist some form of identification on the device, so you can analyze user actions effectively. This is especially important for funnel conversion analysis and retention analysis.
diff --git a/src/connections/sources/catalog/libraries/mobile/ios/ios-faqs.md b/src/connections/sources/catalog/libraries/mobile/ios/ios-faqs.md
index 3edf802f60..93004e11aa 100644
--- a/src/connections/sources/catalog/libraries/mobile/ios/ios-faqs.md
+++ b/src/connections/sources/catalog/libraries/mobile/ios/ios-faqs.md
@@ -1,8 +1,14 @@
 ---
 title: Analytics-iOS Frequently asked questions
 strat: ios
+custom_ranking:
+  heading: 0
+  position: 99999
 ---
 
+> warning "End-of-Support for Analytics-iOS in March 2026"
+> End-of-support for the Analytics-iOS SDK is scheduled for March 2026. Segment's future development efforts concentrate on the new [Analytics-Swift](/docs/connections/sources/catalog/libraries/mobile/swift/){:target="_blank”} SDK. If you'd like to migrate to Analytics-Swift, see the [migration guide](/docs/connections/sources/catalog/libraries/mobile/swift/migration/){:target="_blank”}.
+
 ## How big is the Segment SDK?
 
 The core Segment SDK is extremely lightweight. It weighs in at about 212KB.
diff --git a/src/connections/sources/catalog/libraries/mobile/ios/ios14-guide.md b/src/connections/sources/catalog/libraries/mobile/ios/ios14-guide.md
index 78ce64d22a..c05be97519 100644
--- a/src/connections/sources/catalog/libraries/mobile/ios/ios14-guide.md
+++ b/src/connections/sources/catalog/libraries/mobile/ios/ios14-guide.md
@@ -1,8 +1,14 @@
 ---
 title: iOS 14 Guide
 strat: ios
+custom_ranking:
+  heading: 0
+  position: 99999
 ---
 
+> warning "End-of-Support for Analytics-iOS in March 2026"
+> End-of-support for the Analytics-iOS SDK is scheduled for March 2026. Segment's future development efforts concentrate on the new [Analytics-Swift](/docs/connections/sources/catalog/libraries/mobile/swift/){:target="_blank”} SDK. If you'd like to migrate to Analytics-Swift, see the [migration guide](/docs/connections/sources/catalog/libraries/mobile/swift/migration/){:target="_blank”}.
+
 > warning ""
 > You should update your `analytics-ios` and device-mode destinations to adapt to iOS 14 changes explained in this guide. For information about iOS 14.5, see [What's new in iOS 14.5](#whats-new-with-ios-145) below.
 
diff --git a/src/connections/sources/catalog/libraries/mobile/ios/middleware.md b/src/connections/sources/catalog/libraries/mobile/ios/middleware.md
index 7afe275a69..129d4654bc 100644
--- a/src/connections/sources/catalog/libraries/mobile/ios/middleware.md
+++ b/src/connections/sources/catalog/libraries/mobile/ios/middleware.md
@@ -1,8 +1,14 @@
 ---
 title: Middleware for iOS
 strat: ios
+custom_ranking:
+  heading: 0
+  position: 99999
 ---
 
+> warning "End-of-Support for Analytics-iOS in March 2026"
+> End-of-support (EoS) for the Analytics-iOS SDK is scheduled for March 2026. Segment's future development efforts concentrate on the new [Analytics-Swift](/docs/connections/sources/catalog/libraries/mobile/swift/){:target="_blank”} SDK. If you'd like to migrate to Analytics-Swift, see the [migration guide](/docs/connections/sources/catalog/libraries/mobile/swift/migration/){:target="_blank”}.
+
 Middlewares are simple functions invoked by the Segment libraries, which give you a way to add information to the events you collect using the Segment SDKs. They can be used to monitor, modify, or reject events. Source Middlewares are available on `analytics-ios` 3.6.0 and later. 
 
 You can access the middleware API in both Objective-C and Swift.
diff --git a/src/connections/sources/catalog/libraries/mobile/ios/quickstart.md b/src/connections/sources/catalog/libraries/mobile/ios/quickstart.md
index 6ff95a8a3f..8e393b8acc 100644
--- a/src/connections/sources/catalog/libraries/mobile/ios/quickstart.md
+++ b/src/connections/sources/catalog/libraries/mobile/ios/quickstart.md
@@ -2,8 +2,14 @@
 title: 'Quickstart: iOS'
 hidden: true
 strat: ios
+custom_ranking:
+  heading: 0
+  position: 99999
 ---
 
+> warning "End-of-Support for Analytics-iOS in March 2026"
+> End-of-support for the Analytics-iOS SDK is scheduled for March 2026. Segment's future development efforts concentrate on the new [Analytics-Swift](/docs/connections/sources/catalog/libraries/mobile/swift/){:target="_blank”} SDK. If you'd like to migrate to Analytics-Swift, see the [migration guide](/docs/connections/sources/catalog/libraries/mobile/swift/migration/){:target="_blank”}.
+
 This tutorial gets you started sending data from your iOS app to Segment. When you're done you can turn on [any of Segment's destinations](/docs/connections/destinations/) with the flip of a switch! No more waiting for App Store approval.
 
 If you want to dive deeper at any point, check out the [iOS Library Reference](/docs/connections/sources/catalog/libraries/mobile/ios/).
diff --git a/src/connections/sources/catalog/libraries/mobile/ios/troubleshooting.md b/src/connections/sources/catalog/libraries/mobile/ios/troubleshooting.md
index 4f51dd8f55..6557997b51 100644
--- a/src/connections/sources/catalog/libraries/mobile/ios/troubleshooting.md
+++ b/src/connections/sources/catalog/libraries/mobile/ios/troubleshooting.md
@@ -1,8 +1,14 @@
 ---
 title: Troubleshooting Analytics-iOS
 strat: ios
+custom_ranking:
+  heading: 0
+  position: 99999
 ---
 
+> warning "End-of-Support for Analytics-iOS in March 2026"
+> End-of-support for the Analytics-iOS SDK is scheduled for March 2026. Segment's future development efforts concentrate on the new [Analytics-Swift](/docs/connections/sources/catalog/libraries/mobile/swift/){:target="_blank”} SDK. If you'd like to migrate to Analytics-Swift, see the [migration guide](/docs/connections/sources/catalog/libraries/mobile/swift/migration/){:target="_blank”}.
+
 ## Target has transitive dependencies that include static binaries
 
 This was due to an old [CocoaPods limitation](https://github.com/CocoaPods/CocoaPods/issues/2926).
diff --git a/src/connections/sources/catalog/libraries/mobile/kotlin-android/kotlin-android-destination-filters.md b/src/connections/sources/catalog/libraries/mobile/kotlin-android/kotlin-android-destination-filters.md
index 7b83cf3b75..5bf3c57fdc 100644
--- a/src/connections/sources/catalog/libraries/mobile/kotlin-android/kotlin-android-destination-filters.md
+++ b/src/connections/sources/catalog/libraries/mobile/kotlin-android/kotlin-android-destination-filters.md
@@ -13,9 +13,9 @@ Use Analytics-Kotlin (Android) to configure [destination filters](/docs/connecti
 
 To get started with destination filters on mobile device-mode destinations using Kotlin:
 
-1. Download and install the dependency.
+1. Download and install the dependency, replacing `latest_version` with the current version: 
   ```java
-    implementation 'com.segment.analytics.kotlin:destination-filters:0.1.1'
+    implementation 'com.segment.analytics.kotlin:destination-filters:<latest_version>'
   ```
 
 2. Add the plugin.
diff --git a/src/connections/sources/catalog/libraries/mobile/react-native/index.md b/src/connections/sources/catalog/libraries/mobile/react-native/index.md
index c0a0ce9a87..545fb13ec0 100644
--- a/src/connections/sources/catalog/libraries/mobile/react-native/index.md
+++ b/src/connections/sources/catalog/libraries/mobile/react-native/index.md
@@ -88,7 +88,7 @@ These are the options you can apply to configure the client:
 | `storePersistor`            | undefined | A custom persistor for the store that `analytics-react-native` uses. Must match [`Persistor`](https://github.com/segmentio/analytics-react-native/blob/master/packages/sovran/src/persistor/persistor.ts#L1-L18) interface exported from [sovran-react-native](https://github.com/segmentio/analytics-react-native/blob/master/packages/sovran). |
 | `proxy`                     | undefined | `proxy` is a batch url to post to instead of 'https://api.segment.io/v1/b'.                                                                                                                                                                                                                                                                           |
 | `errorHandler`              | undefined | Create custom actions when errors happen, see [Handling errors](#handling-errors)                                                                                                                                                                                                                                                                     |
-
+| `useSegmentEndpoints`       | false     | Set to `true` to automatically append the Segment endpoints when using `proxy` or `cdnProxy` to send or fetch settings. Otherwise, `proxy` or `cdnProxy` will be used as is.      |
 
 ## Adding Plugins to the Client
 
diff --git a/src/connections/sources/catalog/libraries/mobile/xamarin/analytics-xamarin.md b/src/connections/sources/catalog/libraries/mobile/xamarin/analytics-xamarin.md
new file mode 100644
index 0000000000..03d79299f9
--- /dev/null
+++ b/src/connections/sources/catalog/libraries/mobile/xamarin/analytics-xamarin.md
@@ -0,0 +1,422 @@
+---
+title: Analytics for Xamarin
+sourceTitle: 'Xamarin'
+sourceCategory: 'Mobile'
+id: wcssVcPJrc
+hidden: true
+support_type: community
+---
+
+> warning "End-of-Support for Analytics.Xamarin in March 2026"
+> End-of-support for the Analytics.Xamarin SDK is scheduled for March 2026. Segment's future development efforts concentrate on the new [Analytics-CSharp](/docs/connections/sources/catalog/libraries/server/csharp/) SDK. If you'd like to migrate to Analytics-CSharp, see the [migration guide](/docs/connections/sources/catalog/libraries/server/csharp/migration-guide/).
+
+Segment's [Xamarin](http://xamarin.com/) Portable Class Library ([PCL](http://developer.xamarin.com/guides/cross-platform/application_fundamentals/pcl/)) is the best way to integrate analytics into your Xamarin application. It lets you record analytics data from your C#, F#, and .NET code, and supports `PCL Profile 4.0 - Profile136`, which targets the following platforms:
+
+- .NET Framework 4 or later
+- Windows Phone 8 or later
+- Silverlight 5
+- Windows 8
+- Windows Phone Silverlight 8
+- Windows Store apps (Windows 8)
+- Xamarin.Android
+- Xamarin.iOS
+
+The library issues requests that hit our servers, and then we route your data to any analytics service you enable on our destinations page. This library is open-source, so you can [check it out on GitHub](https://github.com/segmentio/Analytics.Xamarin).
+
+**Note:** Since Xamarin requires Segment's library to be portable to different builds, Segment can only enable server-side destinations, as opposed to bundling select native SDKs like we do for iOS and Android. Look for the "Server" icon when selecting destinations. For tools for which we offer both bundled and server-side destinations, like Mixpanel, Amplitude, and Google Analytics, Segment's Xamarin library will only be able to use their server-side functionality.
+
+## Getting Started
+
+Clone `Analytics.Xamarin` from [GitHub](https://github.com/segmentio/Analytics.Xamarin)...
+
+```bash
+git clone https://github.com/segmentio/Analytics.Xamarin.git
+```
+
+Import the `Analytics.Xamarin` project into Xamarin Studio, and add it as a reference to your code.
+
+Now you'll need to initialize the library.
+
+```csharp
+using Segment;
+
+// initialize with your Segment source write key ...
+Analytics.Initialize("YOUR_WRITE_KEY");
+```
+
+You only need to initialize once at the start of your program. You can then keep using the `Analytics` singleton anywhere in your code.
+
+The default initialization settings are production-ready and queue messages on another thread before sending any requests. In development you might want to use [development settings](/docs/connections/sources/catalog/libraries/mobile/xamarin/#development-settings).
+
+## Identify
+
+`identify` lets you tie a user to their actions and record traits about them.  It includes a unique User ID and any optional traits you know about them.
+
+We recommend calling `identify` a single time when the user's account is first created, and only identifying again later when their traits change.
+
+Example `identify` call:
+
+```csharp
+Analytics.Client.Identify("019mr8mf4r", new Traits() {
+    { "name", "Tom Smykowski" },
+    { "email", "tom@example.com" },
+    { "friends", 29 }
+});
+```
+
+This example call identifies Tom by his unique User ID (the one you know him by in your database) and label him with `name`, `email` and `friends` traits.
+
+The `identify` call has the following fields:
+
+<table class="api-table">
+  <tr>
+    <td>`userId` _String_</td>
+    <td>The ID for this user in your database.</td>
+  </tr>
+  <tr>
+    <td>`Traits` _Traits, optional_</td>
+    <td>A dictionary of traits you know about the user. Things like: `email`, `name` or `friends`.</td>
+  </tr>
+  <tr>
+    <td>`options` _Options, optional_</td>
+    <td>An `Options` object lets you set a [timestamp](#historical-import), [enable or disable destinations](#selecting-destinations), or [send additional context](#context).</td>
+  </tr>
+</table>
+
+Find details on the **identify method payload** in our [Spec](/docs/connections/spec/identify/).
+
+## Track
+
+`track` lets you record the actions your users perform. Every action triggers what we call an "event", which can also have associated properties.
+
+You'll want to track events that are indicators of success for your site, like **Signed Up**, **Item Purchased** or **Article Bookmarked**.
+
+To get started, we recommend tracking just a few important events. You can always add more later!
+
+Example `track` call:
+
+```csharp
+Analytics.Client.Track("019mr8mf4r", "Item Purchased", new Properties() {
+    { "revenue", 39.95 },
+    { "shipping", "2-day" }
+});
+```
+This example `track` call tells us that your user just triggered the **Item Purchased** event with a revenue of $39.95 and chose your hypothetical '2-day' shipping.
+
+`track` event properties can be anything you want to record.
+
+The `track` call has the following fields:
+
+<table class="api-table">
+  <tr>
+    <td>`userId` _String_</td>
+    <td>The ID for this user in your database.</td>
+  </tr>
+  <tr>
+    <td>`event` _String_</td>
+    <td>The name of the event you're tracking. We recommend human-readable names like <strong>Played Song</strong> or <strong>Updated Status</strong>.</td>
+  </tr>
+  <tr>
+    <td>`properties` _Properties, optional_</td>
+    <td>A dictionary of properties for the event. If the event was <strong>Added to Cart</strong>, it might have properties like `price` or `product`.</td>
+  </tr>
+  <tr>
+    <td>`options` _Options, optional_</td>
+    <td>An `Options` object lets you set a [timestamp](#historical-import), [enable or disable destinations](#selecting-destinations), or [send additional context](#context).</td>
+  </tr>
+</table>
+
+Find details on **best practices in event naming** as well as the **`track` method payload** in our [Spec](/docs/connections/spec/track/).
+
+## Screen
+
+The [`screen`](/docs/connections/spec/screen/) method lets you you record whenever a user sees a screen of your mobile app, along with optional extra information about the page being viewed.
+
+You'll want to record a screen event an event whenever the user opens a screen in your app. This could be a view, fragment, dialog or activity depending on your app.
+
+Not all services support screen, so when it's not supported explicitly, the screen method tracks as an event with the same parameters.
+
+Example `screen` call:
+
+```csharp
+Analytics.Client.Screen("019mr8mf4r", "Register", new Properties() {
+    { "type", "facebook" }
+});
+```
+
+The `screen` call has the following fields:
+
+<table class="api-table">
+  <tr>
+    <td>`userId` _String_</td>
+    <td>The ID for this user in your database.</td>
+  </tr>
+  <tr>
+    <td>`name` _String_</td>
+    <td>The screen name you're tracking. We recommend human-readable names like <strong>Login</strong> or <strong>Register</strong>.</td>
+  </tr>
+  <tr>
+    <td>`category` _String_</td>
+    <td>The screen category. If you're making a news app, the category could be <strong>Sports</strong>.</td>
+  </tr>
+  <tr>
+    <td>`properties` _Properties, optional_</td>
+    <td>A dictionary of properties for the screen view. If the screen is <strong>Restaurant Reviews</strong>, it might have properties like `reviewCount` or `restaurantName`.</td>
+  </tr>
+  <tr>
+    <td>`options` _Options, optional_</td>
+    <td>An `Options` object lets you set a [timestamp](#historical-import), [enable or disable destinations](#selecting-destinations), or [send additional context](#context).</td>
+  </tr>
+</table>
+
+Find details on the **`screen` payload** in our [Spec](/docs/connections/spec/screen/).
+
+## Group
+
+`group` lets you associate an [identified user](/docs/connections/sources/catalog/libraries/server/java/#identify) user with a group. A group could be a company, organization, account, project or team! It also lets you record custom traits about the group, like industry or number of employees.
+
+This is useful for tools like [Intercom](/docs/connections/destinations/catalog/intercom/), [Preact](/docs/connections/destinations/catalog/preact/) and [Totango](/docs/connections/destinations/catalog/totango/), as it ties the user to a **group** of other users.
+
+Example `group` call:
+
+```csharp
+Analytics.Client.Group("userId", "groupId", new Traits() {
+    { "name", "Initech, Inc." },
+    { "website", "http://www.example.com" }
+});
+```
+The `group` call has the following fields:
+
+<table class="api-table">
+  <tr>
+    <td>`userId` _String_</td>
+    <td>The ID for this user in your database.</td>
+  </tr>
+  <tr>
+    <td>`groupId` _String_</td>
+    <td>The ID for this group in your database.</td>
+  </tr>
+  <tr>
+    <td>`traits` _Traits, optional_</td>
+    <td>A dictionary of traits you know about the group. Things like: `name` or `website`.</td>
+  </tr>
+  <tr>
+    <td>`options` _Options, optional_</td>
+    <td>An `Options` object lets you set a [timestamp](#historical-import), [enable or disable destinations](#selecting-destinations), or [send additional context](#context).</td>
+  </tr>
+</table>
+
+Find more details about `group` including the **`group` payload** in our [Spec](/docs/connections/spec/group/).
+
+## Alias
+
+`alias` is how you associate one identity with another. This is an advanced method, but it is required to manage user identities successfully in *some* of our destinations.
+
+In [Mixpanel](/docs/connections/destinations/catalog/mixpanel/#alias) it's used to associate an anonymous user with an identified user once they sign up. For [Kissmetrics](/docs/connections/destinations/catalog/kissmetrics/#alias), if your user switches IDs, you can use 'alias' to rename the 'userId'.
+
+Example `alias` call:
+
+```csharp
+Analytics.Client.Alias("previousId", "userId");
+```
+
+Here's a full example of how we might use the `alias` call:
+
+```csharp
+// the anonymous user does actions ...
+Analytics.Client.Track("anonymous_user", "Anonymous Event");
+// the anonymous user signs up and is aliased
+Analytics.Client.Alias("anonymous_user", "identified@example.com");
+// the identified user is identified
+Analytics.Client.Identify("identified@example.com", new Traits() { plan: "Free" });
+// the identified user does actions ...
+Analytics.Client.Track("identified@example.com", "Identified Action");
+```
+
+For more details about `alias`, including the **`alias` call payload**, check out our [Spec](/docs/connections/spec/alias/).
+
+---
+
+## Development Settings
+
+You can use this initialization during development while testing the library. `SetAsync(false)` will make sure the library makes a request to our servers every time it's called.
+
+```csharp
+Analytics.Initialize("YOUR_WRITE_KEY", new Config().SetAsync(false));
+```
+
+Don't forget to set async back to `true` for production, so that you can advantage of asynchronous flushing on a different thread.
+
+## Options
+
+An `Options` object lets you:
+
+1. Set a [timestamp](#historical-import), [enable or disable destinations](#selecting-destinations)
+2. [Send additional context](#context)
+3. [Send an anoymousId](#anonymous-id)
+
+## Selecting Destinations
+
+The `alias`, `group`, `identify`, `page` and `track` calls can all be passed an object of `options` that lets you turn certain destinations on or off. By default all destinations are enabled.
+
+Here's an example `identify` call with the `options` object shown.
+
+```csharp
+Analytics.Client.Identify("hj2kf92ds212", new Traits() {
+    { "email", "tom@example.com" },
+    { "name", "Tom Smykowski" },
+}, new Options()
+    .SetIntegration("all", false)
+    .SetIntegration("Kissmetrics", true)
+);
+```
+
+In this case, we're specifying that we want this identify to only go to Kissmetrics. `"all", false` says that no destination should be enabled unless otherwise specified. `{ "Kissmetrics", true }` turns on Kissmetrics, etc.
+
+destination flags are **case sensitive** and match [the destination's name in the docs](/docs/connections/destinations/) (i.e. "AdLearn Open Platform", "awe.sm", "MailChimp", etc.).
+
+**Note:** Available at the business level, filtering track calls can be done right from the Segment UI on your source schema page. We recommend using the UI if possible since it's a much simpler way of managing your filters and can be updated with no code changes on your side.
+
+## Historical Import
+
+You can import historical data by adding the `timestamp` argument to your `identify` and `track` calls. _Note: If you're tracking things that are happening right now, leave out the timestamp and our servers will timestamp the requests for you._
+
+```csharp
+Analytics.Client.Track("sadi89e2jd", "Logged Workout", new Properties() {
+    { "distance", "10 miles" },
+    { "city", "Boston" },
+}, new Options()
+    .SetTimestamp(new DateTime(2010, 1, 18))
+);
+```
+
+## Context
+
+If you're running a web server, you might want to send context variables such as `userAgent` or `ip` with your `page` or `screen` calls. You can do so by setting the `Context` in the `Options` object.
+
+```csharp
+Analytics.Client.Page("019mr8mf4r", "Login", new Properties() {
+    { "path", "/login" },
+    { "title", "Initech Login" }
+}, new Options()
+    .SetContext(new Context() {
+        { "app", "Education App 2" }
+    }));
+```
+
+Learn more on the [Context page](/docs/connections/spec/common/#context).
+
+## Anonymous ID
+
+By default, the Xamarin library requires all messages to have a `userId`. If you would like to use an `anonymousId`, you can pass it in with options.
+
+```csharp
+Analytics.Client.Page(null, "Login", new Properties(), new Options()
+    .SetAnonymousId("some-id"));
+```
+
+## Nested Properties
+
+You can provide nested properties, like so:
+
+```csharp
+Analytics.Client.Identify("hj2kf92ds212", new Traits() {
+    { "email", "tom@example.com" },
+    { "name", "Tom Smykowski" },
+    { "address", new Dict() {
+        { "street", "123 Fake Street" },
+        { "city", "Boston" }
+    }}
+});
+```
+
+## Batching
+
+Our libraries are built to support high performance environments. That means it is safe to use Analytics.Xamarin on a web server that's serving hundreds of requests per second.
+
+By default (in async mode), this library will start a single seperate thread on initialization, and flush all messages on that thread. That means every method you call **does not** result in an HTTP request, but is queued in memory instead. Messages are flushed in batch in the background, which allows for much faster operation.
+
+### How do I turn batching off?
+
+Sometimes you might not want batching (eg. when debugging, or in short-lived programs). You can turn off batching by setting the `async` argument to `false`, and your requests will always be sent in a blocking manner.
+
+```csharp
+Analytics.Initialize("YOUR_WRITE_KEY", new Config().SetAsync(false));
+```
+
+### What happens if there are just too many messages?
+
+If the module detects that it can't flush faster than it's receiving messages, it'll simply stop accepting messages. This means your program will never crash because of a backing up analytics queue. The maximum size of the queue defaults to `10000`, and here's how you can change it:
+
+```csharp
+Analytics.Initialize("YOUR_WRITE_KEY", new Config().SetMaxQueueSize(10000));
+```
+
+### How do I flush right now?!
+
+You can also flush on demand. For example, at the end of your program, you'll want to flush to make sure there's nothing left in the queue. Just call the `Flush` method:
+
+```csharp
+Analytics.Client.Flush();
+```
+
+This method will block until all messages are flushed.
+
+### How do I dispose of the flushing thread at the end of my program?
+
+The Analytics client implements the `IDisposable` interface, and will turn off its flushing thread when you call `Dispose`.
+
+```csharp
+Analytics.Client.Dispose();
+```
+
+## Configuration
+
+If you hate defaults, than you'll love how configurable the Analytics.Xamarin is. Check out these gizmos:
+
+```csharp
+Analytics.Initialize("YOUR_WRITE_KEY", new Config()
+    .SetAsync(true)
+    .SetTimeout(TimeSpan.FromSeconds(10))
+    .SetMaxQueueSize(10000));
+```
+
+<table class="DefinitionTable">
+  <tr>
+    <td>`SetAsync` _boolean_</td>
+    <td>`true` to flush on a different thread, `false` to flush immediately on the same thread.</td>
+  </tr>
+  <tr>
+    <td>`SetTimeout` _TimeSpan_</td>
+    <td>The amount of time to wait before calling the HTTP request a timeout.</td>
+  </tr>
+  <tr>
+    <td>`SetMaxQueueSize` _int_</td>
+    <td>The maximum number of messages to allow into the queue before no new message are accepted.</td>
+  </tr>
+</table>
+
+## Logging
+
+`Analytics.Xamarin` has detailed logging, which you can enable by attaching your own handler, like so:
+
+```csharp
+using Segment;
+
+Segment.Logger.Handlers += Logging_Handler;
+
+void Logging_Handler(Level level, string message, Dict args) {
+    if (args != null) {
+        foreach (string key in args.Keys) {
+            message += String.Format(" {0}: {1},", "" + key, "" + args[key]);
+        }
+    }
+    Console.WriteLine(String.Format("[Analytics] [{0}] {1}", level, message));
+}
+```
+
+## Anonymizing IP
+
+We collect IP address for client-side (iOS, Android, Analytics.js and Xamarin) events automatically.
+
+If you don't want us to record your tracked users' IP in destinations and S3, you can set your event's `context.ip` field to `0.0.0.0` . Our server won't record the IP address of the client for libraries if the `context.ip` field is already set.
\ No newline at end of file
diff --git a/src/connections/sources/catalog/libraries/mobile/xamarin/index.md b/src/connections/sources/catalog/libraries/mobile/xamarin/index.md
index 92137a2088..28bea0b8f1 100644
--- a/src/connections/sources/catalog/libraries/mobile/xamarin/index.md
+++ b/src/connections/sources/catalog/libraries/mobile/xamarin/index.md
@@ -4,7 +4,14 @@ sourceTitle: 'Xamarin'
 sourceCategory: 'Mobile'
 id: wcssVcPJrc
 support_type: community
+custom_ranking:
+  heading: 0
+  position: 99999
 ---
+
+> warning "End-of-Support for Analytics.Xamarin in March 2026"
+> End-of-support for the Analytics.Xamarin SDK is scheduled for March 2026. Segment's future development efforts concentrate on the new [Analytics-CSharp](/docs/connections/sources/catalog/libraries/server/csharp/) SDK. If you'd like to migrate to Analytics-CSharp, see the [migration guide](/docs/connections/sources/catalog/libraries/server/csharp/migration-guide/).
+
 Segment's [Xamarin](http://xamarin.com/) Portable Class Library ([PCL](http://developer.xamarin.com/guides/cross-platform/application_fundamentals/pcl/)) is the best way to integrate analytics into your Xamarin application. It lets you record analytics data from your C#, F#, and .NET code, and supports `PCL Profile 4.0 - Profile136`, which targets the following platforms:
 
 - .NET Framework 4 or later
@@ -20,9 +27,6 @@ The library issues requests that hit our servers, and then we route your data to
 
 **Note:** Since Xamarin requires Segment's library to be portable to different builds, Segment can only enable server-side destinations, as opposed to bundling select native SDKs like we do for iOS and Android. Look for the "Server" icon when selecting destinations. For tools for which we offer both bundled and server-side destinations, like Mixpanel, Amplitude, and Google Analytics, Segment's Xamarin library will only be able to use their server-side functionality.
 
-> info "Analytics-CSharp (C#)"
-> With [Analytics-CSharp](/docs/connections/sources/catalog/libraries/server/csharp/), you can add Segment analytics to your C# based app which includes Xamarin.  If you'd like to migrate to use Analytics-CSharp, see the [Analytics-CSharp migration guide](/docs/connections/sources/catalog/libraries/server/csharp/migration-guide/). 
-
 ## Getting Started
 
 Clone `Analytics.Xamarin` from [GitHub](https://github.com/segmentio/Analytics.Xamarin)...
diff --git a/src/connections/sources/catalog/libraries/server/csharp/index.md b/src/connections/sources/catalog/libraries/server/csharp/index.md
index 493245910a..e7428dde74 100644
--- a/src/connections/sources/catalog/libraries/server/csharp/index.md
+++ b/src/connections/sources/catalog/libraries/server/csharp/index.md
@@ -2,15 +2,24 @@
 title: Analytics-CSharp (C#)
 strat: csharp
 support_type: flagship
+tags:
+  - C#
+  - C-sharp
+  - .NET
+  - NET
+  - Xamarin
+  - Unity
+  - ASP.NET
 id: 
 redirect_from:
-   - '/connections/sources/catalog/libraries/mobile/unity'
-   - '/connections/sources/catalog/libraries/mobile/csharp/'          
+   - '/connections/sources/catalog/libraries/mobile/unity/'
+   - '/connections/sources/catalog/libraries/mobile/csharp/' 
+   - '/connections/sources/catalog/libraries/mobile/xamarin/'
+   - '/connections/sources/catalog/libraries/server/net/'
 ---
 
 With Analytics-CSharp, you can add Segment analytics to your C# based app which includes Unity, Xamarin, .NET. Analytics-CSharp helps you measure your users, product, and business. It unlocks insights into your app's funnel, core business metrics, and whether you have product-market fit. The Analytics-CSharp library is open-source [on GitHub](https://github.com/segmentio/analytics-csharp){:target="_blank"}. 
 
-
 ### Supported platforms 
 These platforms support Analytics-CSharp: 
 * .NET/.NET core/.NET framework
@@ -23,7 +32,7 @@ These platforms support Analytics-CSharp:
 * Unity
    * iOS
    * Android
-   * PC, Mac, Linux 
+   * PC, Mac, Linux
 
 ## Getting started
 
@@ -59,19 +68,22 @@ To get started with the Analytics-CSharp library:
 > info ""
 > Segment's SDK is designed to be disposable, meaning Segment disposes of objects when the analytics instance is disposed. Segment avoids using singletons for configurations or HTTP clients to prevent memory management issues. If you want to use singletons, create your own HTTP client provider with a singleton HTTP client for better control and management.
 
-| Option Name                 | Description   |
-|-----------------------------|---------------|
- | `writeKey` *required*       | This is your Segment write key.                                                                                                                                                                                                                                                                                                               |
-| `flushAt`                   | The default is set to `20`. <br> The count of events at which Segment flushes events.                                                                                                                                                                                                                                                                |
-| `flushInterval`             | The default is set to `30` (seconds). <br> The interval in seconds at which Segment flushes events.                                                                                                                                                                                                                                                  |
-| `defaultSettings`           | The default is set to `{}`. <br> The settings object used as fallback in case of network failure.                                                                                                                                                                                                                                                    |
-| `autoAddSegmentDestination` | The default is set to `true`. <br> This automatically adds the Segment Destination plugin. You can set this to `false` if you want to manually add the Segment Destination plugin.                                                                                                                                                                   |
- | `apiHost`                   | The default is set to `api.segment.io/v1`. <br> This sets a default API Host to which Segment sends events.                                                                                                                                                                                                                                          |
-| `cdnHost`                   | The default is set to `cdn-settings.segment.com/v1`. <br> This sets a default cdnHost to which Segment fetches settings.                                                                                                                                                                                                                              |
-| `analyticsErrorHandler`     | The default is set to `null`. <br>This sets an error handler to handle errors happened in analytics.                                                                                                                                                                                                                                                   |
- | `storageProvider`           | The default is set to `DefaultStorageProvider`. <br>This sets how you want your data to be stored. `DefaultStorageProvider` is used by default which stores data to local storage. `InMemoryStorageProvider` is also provided in the library. You can also write your own storage solution by implementing `IStorageProvider` and `IStorage`. |
-| `httpClientProvider`        | The default is set to `DefaultHTTPClientProvider`. <br>This sets a http client provider for analytics use to do network activities. The default provider uses System.Net.Http for network activities.                                                                                                                                                 |
-| `flushPolicies`             | The default is set to `null`. <br>This sets custom flush policies to tell analytics when and how to flush. By default, it converts `flushAt` and `flushInterval` to `CountFlushPolicy` and `FrequencyFlushPolicy`. If a value is given, it overwrites `flushAt` and `flushInterval`.                                                                  |
+
+
+Option Name                 | Description   
+----------------------------|---------------
+`writeKey` *required*      | This is your Segment write key.
+`flushAt`                   | The default is set to `20`. <br/> The count of events at which Segment flushes events.
+`flushInterval`             | The default is set to `30` (seconds). <br/> The interval in seconds at which Segment flushes events. 
+`defaultSettings`           | The default is set to `{}`. <br/> The settings object used as fallback in case of network failure.
+`autoAddSegmentDestination` | The default is set to `true`. <br/> This automatically adds the Segment Destination plugin. You can set this to `false` if you want to manually add the Segment Destination plugin.
+`apiHost`                  | The default is set to `api.segment.io/v1`. <br/> This sets a default API Host to which Segment sends events.
+`cdnHost`                   | The default is set to `cdn-settings.segment.com/v1`. <br/> This sets a default cdnHost to which Segment fetches settings.
+`analyticsErrorHandler`     | The default is set to `null`. <br/>This sets an error handler to handle errors happened in analytics.
+`storageProvider`           | The default is set to `DefaultStorageProvider`. <br/>This sets how you want your data to be stored. `DefaultStorageProvider` is used by default which stores data to local storage. `InMemoryStorageProvider` is also provided in the library. You can also write your own storage solution by implementing `IStorageProvider` and `IStorage`.
+`httpClientProvider`        | The default is set to `DefaultHTTPClientProvider`. <br/>This sets a http client provider for analytics use to do network activities. The default provider uses System.Net.Http for network activities.
+`flushPolicies`             | The default is set to `null`. <br/>This sets custom flush policies to tell analytics when and how to flush. By default, it converts `flushAt` and `flushInterval` to `CountFlushPolicy` and `FrequencyFlushPolicy`. If a value is given, it overwrites `flushAt` and `flushInterval`.
+`eventPipelineProvider`     | The default is `EventPipelineProvider`. <br/>This sets a custom event pipeline to define how Analytics handles events. The default `EventPipelineProvider` processes events asynchronously. Use `SyncEventPipelineProvider` to make manual flush operations synchronous.
 
 ## Tracking Methods
 
@@ -329,6 +341,21 @@ The `reset` method clears the SDK’s internal stores for the current user and g
 analytics.Reset()
 ```
 
+## Enrichment Closure
+To modify the properties of an event, you can either write an enrichment plugin that applies changes to all events, or pass an enrichment closure to the analytics call to apply changes to a specific event.  
+
+```c#
+    analytics.Track("MyEvent", properties, @event =>
+    {
+        if (@event is TrackEvent trackEvent)
+        {
+            // update properties of this event
+            trackEvent.UserId = "foo";
+        }
+
+        return @event;
+    });
+```
 
 ## Flush policies
 To more granularly control when events are uploaded you can use `FlushPolicies`. 
@@ -378,7 +405,7 @@ For example, you might want to disable flushes if you detect the user has no net
 
 ###  Create your own flush policies
 
-You can create a custom FlushPolicy special for your application needs by implementing the  `IFlushPolicy` interface. You can also extend the `FlushPolicyBase` class that already creates and handles the `shouldFlush` value reset.
+You can create a custom FlushPolicy special for your application needs by implementing the  `IFlushPolicy` interface. You can also extend the `IFlushPolicy` class that already creates and handles the `shouldFlush` value reset.
 
 A `FlushPolicy` only needs to implement two of these methods:
 - `Schedule`: Executed when the flush policy is enabled and added to the client. This is a good place to start background operations, make async calls, configure things before execution
diff --git a/src/connections/sources/catalog/libraries/server/csharp/migration-guide.md b/src/connections/sources/catalog/libraries/server/csharp/migration-guide.md
index c0ec9d2887..31e68bc75b 100644
--- a/src/connections/sources/catalog/libraries/server/csharp/migration-guide.md
+++ b/src/connections/sources/catalog/libraries/server/csharp/migration-guide.md
@@ -49,7 +49,16 @@ You can update to Analytics-CSharp in 3 steps:
         using Segment.Analytics.Compat;
       ```
 
-3. *(Optional)* Update calls that resets the anonymous ID. 
+3. *(Required for .NET users)* Add `UserIdPlugin` to Analytics.
+   
+   Analytics-CSharp, by default, attaches an internal state `userId` to each event. The `UserIdPlugin`, instead, attaches the `userId` provided in analytics calls directly to the event.  
+   
+      <br> After:
+      ```c#    
+      analytics.Add(new UserIdPlugin());
+      ```
+
+4. *(Optional)* Update calls that resets the anonymous ID. 
    
     The old SDK requires you to provide the anonymous ID. The new SDK generates an Anonymous ID for you if you never call `analytics.Identify`. If you call `Identify` and want to go back to anonymous, the new SDK provides a `Reset` function to achieve that.
 
@@ -76,6 +85,104 @@ Change your development settings if you would like to make analytics run synchro
 <br> After:
   ```c#                  
   var configuration = new Configuration("YOUR WRITE KEY",
-    useSynchronizeDispatcher: true);
+    useSynchronizeDispatcher: true,
+    // provide a defaultSettings in case the SDK failed to fetch settings in test environment
+    defaultSettings: new Settings   
+    {
+        Integrations = new JsonObject
+        {
+            ["Segment.io"] = new JsonObject
+            {
+                ["apiKey"] = "YOUR WRITE KEY"
+            }
+        }
+    }
+  );
   var analytics = new Analytics(configuration);
   ```
+
+## FAQs
+
+### Should I make Analytics a singleton or scoped in .NET? 
+
+The SDK supports both, but be aware of the implications of choosing one over the other:
+
+| Feature | Singleton | Scoped |
+|--|--|--|
+| **Fetch Settings** | Settings are fetched only once at application startup. | Settings are fetched on every request. |
+| **Flush** | Supports both async and sync flush. | Requires sync flush. Should flush per event or on page redirect/close to avoid data loss. |
+| **Internal State** | The internal state (`userId`, `anonId`, etc.) is shared across sessions and cannot be used. (*This is an overhead we are working to minimize*.) | The internal state is safe to use since a new instance is created per request. |
+| **UserId for Events** | Requires adding `UserIdPlugin` and calling analytics APIs with `userId` to associate the correct `userId` with events. | No need for `UserIdPlugin` or passing `userId` in API calls. Instead, call `analytics.Identify()` to update the internal state with the `userId`. Successive events are auto-stamped with that `userId`. |
+| **Storage** | Supports both local storage and in-memory storage. | Requires in-memory storage. (*Support for local storage is in progress*.) |
+
+
+In a nutshell, to register Analytics as singleton:
+
+```c#
+var configuration = new Configuration(
+    writeKey: "YOUR_WRITE_KEY",
+    // Use in-memory storage to keep the SDK stateless.
+    // The default storage also works if you want to persist events.
+    storageProvider: new InMemoryStorageProvider(),
+    // Use a synchronous pipeline to make manual flush operations synchronized.
+    eventPipelineProvider: new SyncEventPipelineProvider()
+);
+
+var analytics = new Analytics(configuration);
+
+// Add UserIdPlugin to associate events with the provided userId.
+analytics.Add(new UserIdPlugin());
+
+// Call analytics APIs with a userId. The UserIdPlugin will update the event with the provided userId.
+analytics.Track("user123", "foo", properties);
+
+// This is a blocking call due to SyncEventPipelineProvider.
+// Use the default EventPipelineProvider for asynchronous flush.
+analytics.Flush();
+
+// Register Analytics as a singleton.
+```
+
+To register Analytics as scoped:
+
+```c#
+var configuration = new Configuration(
+    writeKey: "YOUR_WRITE_KEY",
+    // Requires in-memory storage.
+    storageProvider: new InMemoryStorageProvider(),
+    // Flush per event to prevent data loss in case of a page close.
+    // Alternatively, manually flush on page close.
+    flushAt: 1,
+    // Requires a synchronous flush.
+    eventPipelineProvider: new SyncEventPipelineProvider()
+);
+
+var analytics = new Analytics(configuration);
+
+// Update the internal state with a userId.
+analytics.Identify("user123");
+
+// Subsequent events are auto-stamped with the userId from the internal state.
+analytics.Track("foo", properties);
+
+// This is a blocking call due to SyncEventPipelineProvider.
+analytics.Flush();
+
+// Register Analytics as scoped.
+```
+
+### Which JSON library does this SDK use?
+
+The SDK supports `.netstandard 1.3` and `.netstandard 2.0` and automatically selects the internal JSON library based on the target framework:
+
+* In `.netstandard 1.3`, the SDK uses `Newtonsoft Json.NET`
+* In `.netstandard 2.0`, the SDK uses `System.Text.Json`
+
+Be ware that both Analytics.NET and Analytics.Xamarin use `Newtonsoft Json.NET`.  If you encounter issues where JSON dictionary values are turned into empty arrays, it is likely that:
+
+1. You are targeting `.netstandard 2.0`.
+2. Your properties use`Newtonsoft Json.NET` objects or arrays.
+
+To resolve this, you can:
+* Option 1: Target `.netstandard 1.3`
+* Option 2: Upgrade your JSON library to `System.Text.Json`
\ No newline at end of file
diff --git a/src/connections/sources/catalog/libraries/server/go/index.md b/src/connections/sources/catalog/libraries/server/go/index.md
index 9a05cea02e..0dd72b71c7 100644
--- a/src/connections/sources/catalog/libraries/server/go/index.md
+++ b/src/connections/sources/catalog/libraries/server/go/index.md
@@ -18,7 +18,7 @@ All of Segment's server-side libraries are built for high-performance, so you ca
 Install `analytics-go` using `go get`:
 
 ```bash
-go get gopkg.in/segmentio/analytics-go.v3
+go get github.com/segmentio/analytics-go/v3
 ```
 
 Then import it and initialize an instance with your source's **Write Key**. Of course, you'll want to replace `YOUR_WRITE_KEY` with your actual **Write Key** which you can find in Segment under your source settings.
@@ -26,7 +26,7 @@ Then import it and initialize an instance with your source's **Write Key**. Of c
 ```go
 package main
 
-import "gopkg.in/segmentio/analytics-go.v3"
+import "github.com/segmentio/analytics-go/v3"
 
 func main() {
   client := analytics.New("YOUR_WRITE_KEY")
@@ -414,8 +414,6 @@ for example, with [govendor](https://github.com/kardianos/govendor){:target="_bl
 govendor fetch github.com/segmentio/analytics-go@v3.0
 ```
 
-Alternatively, you can also use [`gopkg.in`](http://labix.org/gopkg.in){:target="_blank”}. First run `go get gopkg.in/segmentio/analytics-go.v3` and replace your imports with `import "gopkg.in/segmentio/analytics-go.v3"`.
-
 To help with migrating your code, Segment recommends checking out a simple example that is written in [v2](https://github.com/segmentio/analytics-go/blob/v2.0/examples/track.go) and [v3](https://github.com/segmentio/analytics-go/blob/v3.0/examples/track.go) so you can easily see the differences.
 
 The first difference you'll notice is that `Client` is now an interface. It has a single method - `Enqueue` that can accept messages of all types.
@@ -494,8 +492,8 @@ client.Enqueue(analytics.Track{
   UserId: "f4ca124298",
   Event:  "Signed Up",
   Properties: analytics.NewProperties().
-    SetCategory("Enterprise"),
-    SetCoupon("synapse"),
+    SetCategory("Enterprise").
+    SetCoupon("synapse").
     SetDiscount(10),
 })
 ```
diff --git a/src/connections/sources/catalog/libraries/server/java/index.md b/src/connections/sources/catalog/libraries/server/java/index.md
index bb5ab58b3c..4fa5569652 100644
--- a/src/connections/sources/catalog/libraries/server/java/index.md
+++ b/src/connections/sources/catalog/libraries/server/java/index.md
@@ -372,7 +372,7 @@ You can also flush on demand. For example, at the end of your program, you'll wa
 analytics.flush()
 ```
 
-Calling this method will notify the client to upload any events in the queue.
+Calling this method notifies the client to upload any events in the queue. If you need a blocking flush implementation, see the [`BlockingFlush` example on GitHub](https://github.com/segmentio/analytics-java/blob/master/analytics-sample/src/main/java/sample/BlockingFlush.java){:target="_blank"}.
 
 ## How do I gzip requests?
 
diff --git a/src/connections/sources/catalog/libraries/server/net/analytics-net.md b/src/connections/sources/catalog/libraries/server/net/analytics-net.md
new file mode 100644
index 0000000000..92d90c88c3
--- /dev/null
+++ b/src/connections/sources/catalog/libraries/server/net/analytics-net.md
@@ -0,0 +1,539 @@
+---
+title: Analytics for .NET
+repo: analytics.NET
+id: 8HWbgPTt3k
+hidden: true
+support_type: community
+---
+
+> warning "End-of-Support for Analytics.NET in March 2026"
+> End-of-support (EoS) for the Analytics.NET SDK is scheduled for March 2026. Segment's future development efforts concentrate on the new [Analytics-CSharp](/docs/connections/sources/catalog/libraries/server/csharp/) SDK. If you'd like to migrate to Analytics-CSharp, see the [migration guide](/docs/connections/sources/catalog/libraries/server/csharp/migration-guide/).
+
+Segment's .NET library is the best way to integrate analytics into your .NET application or website. It lets you record analytics data from your ASP.NET, C#, F#, and Visual Basic code. The library issues requests that hit Segment's servers, and then Segment routes your data to any analytics service you enable on our destinations page. This library is open-source, so you can [check it out on GitHub](https://github.com/segmentio/Analytics.NET).
+
+All of Segment's server-side libraries are built for high-performance, so you can use them in your web server controller code. This library uses an internal queue to make Identify and Track calls non-blocking and fast. It also batches messages and flushes asynchronously to Segment's servers.
+
+## Getting Started
+
+### Client-side vs Server-side
+
+The best analytics installation combines both client-side and server-side tracking. A client-side analytics.js installation allows you to install A/B testing, heat mapping, session recording, and ad optimization tools. A server-side .NET installation allows you to accurately track events that aren't available client-side, such as payments. For best practices, [check out Segment's guide to client-side vs. server-side](/docs/guides/how-to-guides/collect-on-client-or-server/).
+
+
+### Step 1: Add Analytics.js to your ASP.NET Master Page
+
+1. In your Segment workspace, click Catalog, and search for "Net".
+2. Click the .Net tile, then click **Add Source**.
+3. Give the new source a label (which you'll use to identify it later), and apply any labels such as `prod` or `test`.
+
+You will then be presented with an [Analytics.js snippet](/docs/connections/sources/catalog/libraries/website/javascript/quickstart/#step-2-copy-the-segment-snippet).
+
+Copy the snippet directly into your ASP.NET [Site.master](https://github.com/segmentio/asp.net-example/blob/master/Site.master#L18-L21).
+
+That snippet will load `analytics.js` onto the page _asynchronously_, so it won't affect your page load speed.
+
+As soon as that snippet is running on your site, you can start turning on any destinations on your Segment destinations page. In fact, if you reload, you can start seeing Page calls in the [source debugger](/docs/connections/sources/debugger/).
+
+For more in depth `analytics.js` information, check out Segment's [analytics.js docs](/docs/connections/sources/catalog/libraries/website/javascript/).
+
+Lots of analytics and marketing tools want to know more information about your users, and what they're doing on your app. In the next section, Segment installs the .NET library and start sending an event every time a new user registers on your site.
+
+### Step 2: Install Segment's .NET Library
+
+Your website will use Segment's .NET library to Identify and Track users. You can use [NuGet](http://docs.nuget.org/docs/start-here/using-the-package-manager-console) to install the library.
+
+```bash
+Install-Package Analytics -Version <version>
+```
+
+**Note:** the Analytics package has a dependency on [Newton.JSON](https://www.newtonsoft.com/json).
+
+You can also accomplish the same thing in the Visual Studio `Tools` menu, select `Library Package Manager` and then click `Package Manager Console`.
+
+Now the .NET library needs to know which Segment project you want to send data to. You can initialize the library with your Segment source's `writeKey` in the [Global.asax file](https://github.com/segmentio/asp.net-example/blob/master/Global.asax#L14). Then you can use the `Analytics` singleton in any controller you want:
+
+```csharp
+<%@ Application Language="C#" %>
+<%@ Import Namespace="ASP.NET_Example" %>
+<%@ Import Namespace="System.Web.Optimization" %>
+<%@ Import Namespace="System.Web.Routing" %>
+<%@ Import Namespace="Segment" %>
+
+<script runat="server">
+
+    void Application_Start(object sender, EventArgs e)
+    {
+        RouteConfig.RegisterRoutes(RouteTable.Routes);
+        BundleConfig.RegisterBundles(BundleTable.Bundles);
+        // this is your project's write key
+        Segment.Analytics.Initialize("x24b2rmtvv");
+    }
+
+</script>
+```
+
+```csharp
+using Segment;
+
+// initialize the project #{source.owner.login}/#{source.slug}...
+Analytics.Initialize("YOUR_WRITE_KEY");
+```
+
+You only need to initialize once at the start of your program. You can then keep using the `Analytics` singleton anywhere in your code.
+
+The default initialization settings are production-ready and queue messages on another thread before sending any requests. In development you might want to use [development settings](/docs/connections/sources/catalog/libraries/server/net/#development-settings).
+
+### Regional configuration
+{% include content/regional-config.md %}
+
+## Identify
+
+> success ""
+> For any of the different methods described on this page, you can replace the properties and traits in the code samples with variables that represent the data collected.
+
+If you're not familiar with the Segment Specs, take a look to understand what the [Identify](/docs/connections/spec/identify/) method does.
+
+The Identify call has the following fields:
+
+<table class="api-table">
+  <tr>
+    <td>`userId` _String_</td>
+    <td>The ID for this user in your database.</td>
+  </tr>
+  <tr>
+    <td>`Traits` _Traits, optional_</td>
+    <td>A dictionary of traits you know about the user. Things like: <code>email</code>, <code>name</code> or <code>friends</code>.</td>
+  </tr>
+  <tr>
+    <td>`options` _Options, optional_</td>
+    <td>A custom object which allows you to set a timestamp, an anonymous cookie id, or enable specific destinations.</td>
+  </tr>
+</table>
+
+An example call would look like:
+
+```csharp
+Analytics.Client.Identify("019mr8mf4r", new Traits() {
+    { "name", "#{ user.name }" },
+    { "email", "#{ user.email }" },
+    { "friends", 29 }
+});
+```
+
+## Track
+
+If you're not familiar with the Segment Spec, take a look to understand what the [Track](/docs/connections/spec/track/) method does.
+
+The Track call has the following fields:
+
+<table class="api-table">
+  <tr>
+    <td>`userId` _String_</td>
+    <td>The ID for this user in your database.</td>
+  </tr>
+  <tr>
+    <td>`event` _String_</td>
+    <td>The name of the event you're tracking. Segment recommends human-readable names like <strong>Song Played</strong> or <strong>Status Updated</strong>.</td>
+  </tr>
+  <tr>
+    <td>`properties` _Properties, optional_</td>
+    <td>A dictionary of properties for the event. If the event was <strong>Product Added</strong> to cart, it might have properties like <code>price</code> or <code>product</code>.</td>
+  </tr>
+  <tr>
+    <td>`options` _Options, optional_</td>
+    <td>A custom object which allows you to set a timestamp, an anonymous cookie id, or enable specific destinations.</td>
+  </tr>
+</table>
+
+An example call would look like:
+
+```csharp
+Analytics.Client.Track("019mr8mf4r", "Item Purchased", new Properties() {
+    { "revenue", 39.95 },
+    { "shipping", "2-day" }
+});
+```
+
+## Page
+
+If you're not familiar with the Segment Specs, take a look to understand what the [Page](/docs/connections/spec/page/) method does.
+
+The Page call has the following fields:
+
+<table class="api-table">
+  <tr>
+    <td>`userId` _String_</td>
+    <td>The ID for this user in your database.</td>
+  </tr>
+  <tr>
+    <td>`name` _String_</td>
+    <td>The webpage name you're tracking. Segment recommends human-readable names like <strong>Login</strong> or <strong>Register</strong>.</td>
+  </tr>
+  <tr>
+    <td>`category` _String_</td>
+    <td>The webpage category. If you're making a news app, the category could be <strong>Sports</strong>.</td>
+  </tr>
+  <tr>
+    <td>`properties` _Properties, optional_</td>
+    <td>A dictionary of properties for the webpage visit. If the event was <strong>Login</strong>, it might have properties like <code>path</code> or <code>title</code>.</td>
+  </tr>
+  <tr>
+    <td>`options` _Options, optional_</td>
+    <td>A custom object which allows you to set a timestamp, an anonymous cookie id, or enable specific destinations.</td>
+  </tr>
+</table>
+
+Example Page call:
+
+```csharp
+Analytics.Client.Page("019mr8mf4r", "Login", new Properties() {
+    { "path", "/login" },
+    { "title", "Initech Login" }
+});
+```
+
+## Screen
+
+If you're not familiar with the Segment Specs, take a look to understand what the [Screen](/docs/connections/spec/screen/) method does.
+
+The Screen call has the following fields:
+
+<table class="api-table">
+  <tr>
+    <td>`userId` _String_</td>
+    <td>The ID for this user in your database.</td>
+  </tr>
+  <tr>
+    <td>`name` _String_</td>
+    <td>The screen name you're tracking. Segment recommends human-readable names like <strong>Login</strong> or <strong>Register</strong>.</td>
+  </tr>
+  <tr>
+    <td>`category` _String_</td>
+    <td>The screen category. If you're making a news app, the category could be <strong>Sports</strong>.</td>
+  </tr>
+  <tr>
+    <td>`properties` _Properties, optional_</td>
+    <td>A dictionary of properties for the screen view. If the screen is <strong>Restaurant Reviews</strong>, it might have properties like <code>reviewCount</code> or <code>restaurantName</code>.</td>
+  </tr>
+  <tr>
+    <td>`options` _Options, optional_</td>
+    <td>A custom object which allows you to set a timestamp, an anonymous cookie id, or enable specific destinations.</td>
+  </tr>
+</table>
+
+Example Screen call:
+
+```csharp
+Analytics.Client.Screen("019mr8mf4r", "Register", new Properties() {
+    { "type", "facebook" }
+});
+```
+
+## Group
+
+If you're not familiar with the Segment Specs, take a look to understand what the [Group](/docs/connections/spec/group/) method does.
+
+The Group call has the following fields:
+
+<table class="api-table">
+  <tr>
+    <td>`userId` _String_</td>
+    <td>The ID for this user in your database.</td>
+  </tr>
+  <tr>
+    <td>`groupId` _String_</td>
+    <td>The ID for this group in your database.</td>
+  </tr>
+  <tr>
+    <td>`traits` _Traits, optional_</td>
+    <td>A dictionary of traits you know about the group. Things like: <code>ma,e</code> or <code>website</code>.</td>
+  </tr>
+  <tr>
+    <td>`options` _Options, optional_</td>
+    <td>A custom object which allows you to set a timestamp, an anonymous cookie id, or enable specific destinations.</td>
+  </tr>
+</table>
+
+Example Group call:
+
+```csharp
+Analytics.Client.Group("userId", "groupId", new Traits() {
+    { "name", "Initech, Inc." },
+    { "website", "http://www.example.com" }
+});
+```
+
+## Alias
+
+If you're not familiar with the Segment Specs, take a look to understand what the [Alias](/docs/connections/spec/alias/) method does.
+
+The Alias call has the following fields:
+
+<table class="api-table">
+  <tr>
+    <td>`previousId` _String_</td>
+    <td>The previousId for this user.</td>
+  </tr>
+  <tr>
+    <td>`userId` _String_</td>
+    <td>The ID for this user in your database.</td>
+  </tr>
+</table>
+
+Example Alias call:
+
+```csharp
+Analytics.Client.Alias("previousId", "userId")
+```
+
+Here's a full example of how you might use the Alias call:
+
+```csharp
+// the anonymous user does actions ...
+Analytics.Client.Track("anonymous_user", "Anonymous Event");
+// the anonymous user signs up and is aliased
+Analytics.Client.Alias("anonymous_user", "identified@example.com");
+// the identified user is identified
+Analytics.Client.Identify("identified@example.com", new Traits() { plan: "Free" });
+// the identified user does actions ...
+Analytics.Client.Track("identified@example.com", "Identified Action");
+```
+
+---
+
+## Development Settings
+
+You can use this initialization during development while testing the library. `SetAsync(false)` will make sure the library makes a request to Segment's servers every time it's called.
+
+```csharp
+Analytics.Initialize("YOUR_WRITE_KEY", new Config().SetAsync(false));
+```
+
+Don't forget to set async back to `true` for production, so that you can advantage of asynchronous flushing on a different thread.
+
+
+## Historical Import
+
+You can import historical data by adding the `timestamp` argument to any of your method calls. This can be helpful if you've just switched to Segment.
+
+Historical imports can only be done into destinations that can accept historical timestamped data. Most analytics tools like Mixpanel, Amplitude, Kissmetrics, etc. can handle that type of data just fine. One common destination that does not accept historical data is Google Analytics since their API cannot accept historical data.
+
+**Note:** If you're tracking things that are happening right now, leave out the `timestamp` and Segment's servers will timestamp the requests for you.
+
+```csharp
+Analytics.Client.Track("sadi89e2jd", "Workout Logged", new Properties() {
+    { "distance", "10 miles" },
+    { "city", "Boston" },
+}, new Options()
+    .SetTimestamp(new DateTime(2010, 1, 18))
+);
+```
+
+## Selecting Destinations
+
+The Alias, Group, Identify, Page, and Track calls can all be passed an object of `options` that lets you turn certain destinations on or off. By default all destinations are enabled.
+
+You can specify which analytics destinations you want each action to go to.
+
+```csharp
+Analytics.Client.Identify("hj2kf92ds212", new Traits() {
+    { "email", "tom@example.com" },
+    { "name", "Tom Smykowski" },
+}, new Options()
+    .SetIntegration("all", false)
+    .SetIntegration("Kissmetrics", true)
+);
+```
+
+In this case, you're specifying that you want this identify to only go to Kissmetrics. `"all", false` says that no destination should be enabled unless otherwise specified, and `{ "Kissmetrics", true }` turns on Kissmetrics.
+
+Destination flags are **case sensitive** and match [the destination's name in the docs](/docs/connections/destinations/) (for example, "AdLearn Open Platform", "awe.sm", or "MailChimp").
+
+**Note:**
+
+- Business Tier users can filter Track calls right from the Segment UI on your source schema page. Segment recommends using the UI if possible since it's a much simpler way of managing your filters and can be updated with no code changes on your side.
+
+- If you are on a grandfathered plan, events sent server-side that are filtered through the Segment dashboard still count towards your API usage.
+
+## Context
+
+If you're running a web server, you might want to send [context variables](https://segment.com/docs/connections/spec/common/#context) such as `userAgent` or `ip` with your `page` or `screen` calls. You can do so by setting the `Context` in the `Options` object.
+
+```csharp
+Analytics.Client.Page("019mr8mf4r", "Login", new Properties() {
+    { "path", "/login" },
+    { "title", "Initech Login" }
+}, new Options()
+    .SetContext (new Context () {
+        { "userAgent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"},
+        { "ip", "12.212.12.49" },
+        { "language", "en-us" },
+        { "Google Analytics", new Dict() {
+          { "clientId", User.ClientId }
+          }
+        }
+}));
+```
+
+## Anonymous ID
+
+All libraries require all messages to have either a `userId` or `anonymousId`. If you would like to use an `anonymousId`, which you should for anonymous users, you can pass it in with options.
+
+```csharp
+Analytics.Client.Page(null, "Login", new Properties(), new Options()
+    .SetAnonymousId("some-id"));
+```
+
+## Nested Properties
+
+You can provide nested properties, like so:
+
+```csharp
+Analytics.Client.Identify("hj2kf92ds212", new Traits() {
+    { "email", "tom@example.com" },
+    { "name", "Tom Smykowski" },
+    { "address", new Dict() {
+        { "street", "123 Fake Street" },
+        { "city", "Boston" }
+    }}
+});
+```
+
+
+## Batching
+
+Segment's libraries are built to support high performance environments. That means it is safe to use Analytics.NET on a web server that's serving hundreds of requests per second.
+
+By default (in async mode), this library starts a single separate thread on initialization, and flushes all messages on that thread. That means every method you call **does not** result in an HTTP request, but is queued in memory instead. Messages are flushed in batch in the background, which allows for much faster operation.
+
+There is a maximum of `500KB` per batch request and `32KB` per call.
+
+{% include content/tracking-api-limit.md %}
+
+
+
+### How do I turn batching off?
+
+Sometimes you might not want batching (for example, when debugging, or in short-lived programs). You can turn off batching by setting the `async` argument to `false`, and your requests will always be sent in a blocking manner.
+
+```csharp
+Analytics.Initialize("YOUR_WRITE_KEY", new Config().SetAsync(false));
+```
+
+
+### What happens if there are just too many messages?
+
+If the module detects that it can't flush faster than it's receiving messages, it'll simply stop accepting messages. This means your program will never crash because of a backing up analytics queue. The maximum size of the queue defaults to `10000`, and here's how you can change it:
+
+```csharp
+Analytics.Initialize("YOUR_WRITE_KEY", new Config().SetMaxQueueSize(10000));
+```
+
+
+### How do I flush right now?!
+
+You can also flush on demand. For example, at the end of your program, you'll want to flush to make sure there's nothing left in the queue. Just call the `Flush` method:
+
+```csharp
+Analytics.Client.Flush();
+```
+
+This method will block until all messages are flushed.
+
+
+### How do I dispose of the flushing thread at the end of my program?
+
+The Analytics client implements the `IDisposable` interface, and will turn off its flushing thread when you call `Dispose`.
+
+```csharp
+Analytics.Client.Dispose();
+```
+
+
+## Configuration
+
+If you hate defaults, than you'll love how configurable the Analytics.NET is. Check out these gizmos:
+
+```csharp
+Analytics.Initialize("YOUR_WRITE_KEY", new Config()
+    .SetAsync(true)
+    .SetTimeout(TimeSpan.FromSeconds(10))
+    .SetHost("https://events.eu1.segmentapis.com")
+    .SetMaxQueueSize(10000));));
+```
+
+<table class="DefinitionTable">
+  <tr>
+    <td>`async` _boolean_</td>
+    <td><code>true</code> to flush on a different thread, <code>false</code> to flush immediately on the same thread.</td>
+  </tr>
+  <tr>
+    <td>`timeout` _TimeSpan_</td>
+    <td>The amount of time to wait before calling the HTTP request a timeout.</td>
+  </tr>
+  <tr>
+    <td>`host` _string_</td>
+    <td>The API host server address - can be set with the EU endpoint "https://events.eu1.segmentapis.com" instead of default server "https://api.segment.io"</td>
+  </tr>
+  <tr>
+    <td>`maxQueueSize` _int_</td>
+    <td>The maximum number of messages to allow into the queue before no new message are accepted.</td>
+  </tr>
+</table>
+
+
+## Multiple Clients
+
+Different parts of your app may require different Segment. In that case, you can initialize different `Analytics.Client` instances instead of using the singleton.
+
+```csharp
+Client client = new Client("YOUR_WRITE_KEY", new Config()
+    .SetAsync(false)
+    .SetTimeout(TimeSpan.FromSeconds(10))
+    .SetMaxQueueSize(10000));
+
+client.Track(...);
+```
+
+
+## Troubleshooting
+
+{% include content/troubleshooting-intro.md %}
+{% include content/troubleshooting-server-debugger.md %}
+{% include content/server-side-troubleshooting.md %}
+
+### Logging
+
+`Analytics.NET` has detailed logging, which you can enable by attaching your own handler, like so:
+
+```csharp
+using Segment;
+
+Logger.Handlers += LoggingHandler;
+
+static void LoggingHandler(Logger.Level level, string message, IDictionary<string, object> args)
+{
+      if (args != null)
+      {
+           foreach (string key in args.Keys)
+           {
+                 message += String.Format(" {0}: {1},", "" + key, "" + args[key]);
+           }
+      }
+      Console.WriteLine(String.Format("[Analytics] [{0}] {1}", level, message));
+}
+```
+
+Note: the logger requires a minimum version of .NET Core 2.1.
+
+### Json.NET
+
+`Analytics.NET` uses [Json.NET](http://json.codeplex.com/) to serialize JSON payloads. If you have an older version of `Json.NET` in your build path, `Analytics.NET` could create incomplete JSON payloads, which can cause strange API responses. If you're seeing issues, try updating `Json.NET`.
+
+
+### Mono
+
+`Analytics.NET` has been tested and works in Mono.
+
+### .NET Core
+`Analytics.NET` has been tested and works with .NET Core 3.1 and 3.4.2 beta.
diff --git a/src/connections/sources/catalog/libraries/server/net/index.md b/src/connections/sources/catalog/libraries/server/net/index.md
index bead3e9e5a..53a6d5eee3 100644
--- a/src/connections/sources/catalog/libraries/server/net/index.md
+++ b/src/connections/sources/catalog/libraries/server/net/index.md
@@ -3,17 +3,18 @@ title: Analytics for .NET
 repo: analytics.NET
 id: 8HWbgPTt3k
 support_type: community
-tags:
-  - C#
-  - C-sharp
+custom_ranking:
+  heading: 0
+  position: 99999
 ---
+
+> warning "End-of-Support for Analytics.NET in March 2026"
+> End-of-support (EoS) for the Analytics.NET SDK is scheduled for March 2026. Segment's future development efforts concentrate on the new [Analytics-CSharp](/docs/connections/sources/catalog/libraries/server/csharp/) SDK. If you'd like to migrate to Analytics-CSharp, see the [migration guide](/docs/connections/sources/catalog/libraries/server/csharp/migration-guide/).
+
 Segment's .NET library is the best way to integrate analytics into your .NET application or website. It lets you record analytics data from your ASP.NET, C#, F#, and Visual Basic code. The library issues requests that hit Segment's servers, and then Segment routes your data to any analytics service you enable on our destinations page. This library is open-source, so you can [check it out on GitHub](https://github.com/segmentio/Analytics.NET).
 
 All of Segment's server-side libraries are built for high-performance, so you can use them in your web server controller code. This library uses an internal queue to make Identify and Track calls non-blocking and fast. It also batches messages and flushes asynchronously to Segment's servers.
 
-> info "Analytics-CSharp (C#)"
-> With [Analytics-CSharp](/docs/connections/sources/catalog/libraries/server/csharp/), you can add Segment analytics to your C# based app which includes .NET. If you'd like to migrate to use Analytics-CSharp, see the [Analytics-CSharp migration guide](/docs/connections/sources/catalog/libraries/server/csharp/migration-guide/). 
-
 ## Getting Started
 
 ### Client-side vs Server-side
diff --git a/src/connections/sources/catalog/libraries/server/net/quickstart.md b/src/connections/sources/catalog/libraries/server/net/quickstart.md
index b90cc059c2..937f737bb9 100644
--- a/src/connections/sources/catalog/libraries/server/net/quickstart.md
+++ b/src/connections/sources/catalog/libraries/server/net/quickstart.md
@@ -1,7 +1,13 @@
 ---
 title: 'Quickstart: ASP.NET'
+custom_ranking:
+  heading: 0
+  position: 99999
 ---
 
+> warning "End-of-Support for Analytics.NET in March 2026"
+> End-of-support for the Analytics.NET SDK is scheduled for March 2026. Segment's future development efforts concentrate on the new [Analytics-CSharp](/docs/connections/sources/catalog/libraries/server/csharp/) SDK. If you'd like to migrate to Analytics-CSharp, see the [migration guide](/docs/connections/sources/catalog/libraries/server/csharp/migration-guide/).
+
 This tutorial will help you start sending analytics data from your ASP.NET app to Segment and any of our destinations, using our .NET and Analytics.js library. As soon as you're set up you'll be able to turn on analytics tools, ad conversion pixels, email tools and lots of other destinations with the flip of a switch!
 
 If you want to dive deeper at any point, check out the [.NET library reference](/docs/connections/sources/catalog/libraries/server/net).
diff --git a/src/connections/sources/catalog/libraries/server/pixel-tracking-api/index.md b/src/connections/sources/catalog/libraries/server/pixel-tracking-api/index.md
index 198a166ca9..66a2b1ba51 100644
--- a/src/connections/sources/catalog/libraries/server/pixel-tracking-api/index.md
+++ b/src/connections/sources/catalog/libraries/server/pixel-tracking-api/index.md
@@ -55,6 +55,12 @@ Each endpoint *always* responds with a `200 <empty-gif>`, even if an error occur
 eyJ3cml0ZUtleSI6ICJZT1VSX1dSSVRFX0tFWSIsICJ1c2VySWQiOiAiMDI1cGlrYWNodTAyNSIsICJldmVudCI6ICJFbWFpbCBPcGVuZWQiLCAicHJvcGVydGllcyI6IHsgICAic3ViamVjdCI6ICJUaGUgRWxlY3RyaWMgRGFpbHkiLCAgICJlbWFpbCI6ICJwZWVrQXRNZUBlbWFpbC5wb2tlIiB9fQ
 ```
 
+##### If you choose not to encode your payload, send it like this instead:
+
+```
+https://api.segment.io/v1/pixel/track?userId=user_123&event=Email Opened&properties.subject=The Electric Daily&properties.email=jane.kim@example.com&writeKey=<YOUR_WRITE_KEY>
+```
+
 ##### Add an image tag to your email newsletter with `src` pointing to a Pixel API route:
 
 ```html
diff --git a/src/connections/sources/catalog/libraries/website/javascript/index.md b/src/connections/sources/catalog/libraries/website/javascript/index.md
index ceb0222f42..0c0579d06f 100644
--- a/src/connections/sources/catalog/libraries/website/javascript/index.md
+++ b/src/connections/sources/catalog/libraries/website/javascript/index.md
@@ -138,10 +138,11 @@ The only required argument on Track calls in Analytics.js is an `event` name str
 
 #### Track link
 
-`trackLink` is a helper method that attaches the `track` call as a handler to a link.
-With `trackLink`, Analytics.js inserts a timeout of 300 ms to give the `track` call more time. This is useful when a page would redirect before the `track` method could complete all requests.
+`trackLink` is a helper method that attaches a Track call as a handler to a link. When a user clicks the link, `trackLink` delays the navigation event by 300ms before proceeding, ensuring the Track request has enough time to send before the page starts unloading.
 
-The `trackLink` method follows the format below.
+This is useful when a page redirects too quickly, preventing the Track method from completing all requests. By momentarily holding off navigation, `trackLink` increases the likelihood that tracking data reaches Segment and destinations successfully.
+
+The `trackLink` method follows the format below:
 
 ```js
 analytics.trackLink(element, event, [properties])
@@ -575,12 +576,24 @@ analytics.load('writekey', { disable: (cdnSettings) => true })
 
 ## Retries
 
-When enabled, Analytics.js automatically retries network and server errors. With persistent retries, Analytics.js can:
+Analytics.js automatically retries sending events when there are network or server errors. This helps reduce data loss in cases where the user is offline or the Segment API is temporarily unavailable.
+
+When retries are enabled, Analytics.js can:
+
+- **Track users offline.** Events get stored locally and sent once the user comes back online.
+- **Handle intermittent network issues.** Events are queued and retried until they’re successfully delivered.
+
+Here's how retries work:
+
+- Events are stored in `localStorage` when available, with an in-memory fallback.
+- Analytics.js retries up to 10 times, with increasing backoff intervals between attempts.
+- A maximum of 100 events can be queued to avoid using too much local storage.
+
+For more information, see the [destination retries documentation](/docs/connections/destinations/#retries).
 
-- **Support offline tracking**. Analytics.js queues your events and delivers them when the user comes back online.
-- **Better handle network issues**. When your application can't connect to the Segment API, Segment continues to store the events on the browser to prevent data loss.
+### About the `_metadata` field
 
-Analytics.js stores events in `localStorage` and falls back to in-memory storage when `localStorage` is unavailable. It retries up to 10 times with an incrementally increasing back-off time between each retry. Analytics.js queues up to 100 events at a time to avoid using too much of the device's local storage. See the [destination Retries documentation](/docs/connections/destinations/#retries) to learn more.
+Each time an event is retried, Segment recalculates its `_metadata` field. This field helps indicate whether the event was sent to a device-mode destination. If you change your destination settings between retries, the updated `_metadata` may not reflect the original attempt, which could affect downstream debugging or delivery visibility.
 
 ## Delivery strategy configuration
 
diff --git a/src/connections/sources/custom-domain.md b/src/connections/sources/custom-domain.md
index 0a4061f950..a73533ebe6 100644
--- a/src/connections/sources/custom-domain.md
+++ b/src/connections/sources/custom-domain.md
@@ -37,6 +37,7 @@ Custom Domain supports the following sources:
 - [Python](/docs/connections/sources/catalog/libraries/server/python/)
 - [Ruby](/docs/connections/sources/catalog/libraries/server/ruby/)
 - [.NET](/docs/connections/sources/catalog/libraries/server/net/)
+- [Pixel API](/docs/connections/sources/catalog/libraries/server/pixel-tracking-api/)
 
 ## Getting started
 
@@ -73,6 +74,7 @@ For non-Analytics.js sources, you’ll need to update your implementation to use
 
 - **Server Sources**: When sending data from server-side implementations, use the `host` configuration parameter to send data to your subdomain instead of the default Segment domain.
 - **Mobile Sources**: When sending data from mobile implementations, use the `apiHost` configuration parameter to send data to your subdomain instead of the default Segment domain.
+- **Pixel API Sources**: When sending data from Pixel implementations, modify the endpoint from Segment's default domain (`https://api.segment.io/v1/pixel/track`) to your custom domain (`https://api.mysubdomain.mydomain.com/v1/pixel/track`).
 
 ### Is there a benefit in migrating server-side sources over to client-side with Custom Domain?
 Server-side tracking is generally more reliable than client-side tracking. For example, when tracking data client-side, you might lose data when users might block all cookies or use tools that interfere with network requests leaving the browser.
diff --git a/src/connections/sources/index.md b/src/connections/sources/index.md
index 9e461d4da3..e49f710b92 100644
--- a/src/connections/sources/index.md
+++ b/src/connections/sources/index.md
@@ -123,13 +123,11 @@ Each of these tabs displays an event count, which is the total number of events
 Segment's Mobile SDKs are the best way to simplify your iOS, Android, and Xamarin app tracking. Try them over server-side sources as the default installation for any mobile app.
 
 - [AMP](/docs/connections/sources/catalog/libraries/mobile/amp)
-- [Android](/docs/connections/sources/catalog/libraries/mobile/android)
-- [Android Wear](/docs/connections/sources/catalog/libraries/mobile/android/wear)
-- [iOS](/docs/connections/sources/catalog/libraries/mobile/ios)
-- [Kotlin](/docs/connections/sources/catalog/libraries/mobile/kotlin-android/)
+- [Android (Kotlin)](/docs/connections/sources/catalog/libraries/mobile/kotlin-android/)
 - [React Native](/docs/connections/sources/catalog/libraries/mobile/react-native)
-- [Swift](/docs/connections/sources/catalog/libraries/mobile/swift/)
-- [Xamarin](/docs/connections/sources/catalog/libraries/mobile/xamarin)
+- [iOS (Swift)](/docs/connections/sources/catalog/libraries/mobile/swift/)
+- [Xamarin](/docs/connections/sources/catalog/libraries/server/csharp)
+- [Unity](/docs/connections/sources/catalog/libraries/server/csharp/)
 
 > info "Analytics-Flutter library"
 >  The Analytics-Flutter library is currently only available in pilot phase and is governed by Segment's [First Access and Beta Preview Terms](https://www.twilio.com/en-us/legal/tos){:target="_blank"}. If you'd like to try out this library, access the [Analytics-Flutter GitHub repository](https://github.com/segmentio/analytics_flutter){:target="_blank"}. 
@@ -146,7 +144,7 @@ Segment's server-side sources let you send analytics data directly from your ser
 - [PHP](/docs/connections/sources/catalog/libraries/server/php/)
 - [Python](/docs/connections/sources/catalog/libraries/server/python/)
 - [Ruby](/docs/connections/sources/catalog/libraries/server/ruby/)
-- [.NET](/docs/connections/sources/catalog/libraries/server/net/)
+- [.NET](/docs/connections/sources/catalog/libraries/server/csharp/)
 
 > info "Cloud-mode tracking"
 > Server-side data management is when tag sends data to the Segment servers, which then passes that data to the destination system.
diff --git a/src/engage/audiences/index.md b/src/engage/audiences/index.md
index 4fb33cd1e3..a52c924ba3 100644
--- a/src/engage/audiences/index.md
+++ b/src/engage/audiences/index.md
@@ -66,6 +66,8 @@ With SQL Traits, you can use data in your warehouse to build an audience. By run
 
 When you build an audience based on audience membership, you use existing audiences as criteria for creating new audiences. You can include or exclude profiles based on their membership in other audiences, allowing you to generate more specific audience segments.
 
+To see which audiences reference a particular audience in their definitions, select the **Consumers** tab when viewing a classic or linked audience. This tab lists all dependent audiences, to help you understand and manage relationships between your audience segments.
+
 ### Time comparison
 
 You can use the following time comparison operators in your audience definition: 
@@ -104,8 +106,31 @@ See [Account-level Audiences](/docs/engage/audiences/account-audiences) for more
 
 You can send audiences and computed traits to third-party services in Segment's [Destinations catalog](/docs/connections/destinations/).
 
+Segment's Connections pipeline first collects and sends events from your Source to your Destination. Built on top of Connections, Engage then uses the same Source events to let you create Audiences and computed traits within Segment. You can then send the Audience or computed trait you've built to your Destination(s).
+
+> info ""
+> Because Engage only sends Audiences and computed traits to Destinations, it doesn't replace a standard event pipeline. Connect a Source directly to a Destination if you want the Destination to receive all events that Segment gathers.
+
+### Connect your Audience to a Destination
+
+> warning "Audience Keys"
+> Avoid using the same Audience key twice, even if you've deleted the original Audience.
+
+Once you've previewed your Audience, you can choose to connect it to a Destination or keep the Audience in Segment and export it as a CSV file download.
+
+If you already have Destinations set up in Segment, you can import the configuration from one of your existing sources to Engage. You can only connect one Destination configuration per Destination type.
+
+When you create an Audience, Segment starts syncing your Audience to the Destinations you selected. Audiences are either sent to Destinations as a boolean user-property or a user-list, depending on what the Destination supports. Read more about [supported Destinations](/docs/engage/using-engage-data/#compatible-engage-destinations) in the Engage documentation.
+
+For account-level audiences, you can send either a [Group](/docs/connections/spec/group) call and/or [Identify](/docs/connections/spec/identify) call. Group calls will send one event per account, whereas Identify calls will send an Identify call for each user in the account. This means that even if a user hasn't performed an event, Segment will still set the account-level computed trait on that user.
+
+Because most marketing tools are still based at the user level, it is often important to map this account-level trait onto each user within an account. See [Account-level Audiences](/docs/engage/audiences/account-audiences) for more information.
+
 For step-by-step instructions on how to connect an audience to a destination, see [Send Audience Data to Destinations](/docs/engage/audiences/send-audience-data/).
 
+> info "Historical data behavior for new destinations"
+> When you connect a new destination to an existing audience, Engage backfills historical data if the **Include Historical Data** option is enabled in the audience settings. If this setting is disabled, only new data gets sent. To sync all historical data manually, [contact Support](mailto:friends@segment.com) to request a resync.
+
 ## Understanding compute times
 
 Because a number of factors (like system load, backfills, or user bases) determine the complexity of an Audience, some compute times take longer than others.
@@ -168,7 +193,7 @@ To create a new Audience or Trait:
 
 2. Configure and preview your Audience or Trait.
 - A lightning bolt next to `Realtime Enabled` indicates that the computation updates in real-time.
-- By default, Segment queries all historical data to set the current value of the computed trait and Audience. Backfill computes historical data up to the point of audience creation. You can uncheck **Include Historical Data** to compute values for the Audience or trait without historical data. With backfill disabled, the trait or Audience only uses the data that arrives after you create it.
+- Configure the **Include Historical Event Data** option to limit how far back event data is processed by setting a lookback window (for example, the “last 90 days”). Unchecking **Include Historical Event Data** computes values without historical event data, using only data arriving after audience creation.
 
 3. Select destinations to connect, then review and create your Audience or Trait.
 
@@ -202,6 +227,78 @@ Engage then processes your realtime Audience or Trait edits. While the edit task
 > warning ""
 > You can't edit an audience to include anonymous users. If you need to include anonymous profiles, recreate the audience with the appropriate conditions
 
+## Monitor the health of your Audience syncs
+
+Use Segment's [Delivery Overview](#delivery-overview) and [Alerting](#alerting) features to monitor the health of your Audience syncs and get notifications when event volume spikes or drops. 
+
+### Delivery Overview
+
+Delivery Overview is a visual observability tool designed to help Segment users diagnose event delivery issues for any event-streaming destination receiving events from Engage Audiences.
+
+Delivery Overview has three core features:
+- [Pipeline view](/docs/connections/delivery-overview/#pipeline-view): A visual overview of each step your data takes during the delivery process - from when your audiences outputs events to when events are successfully delivered to your connected destination. 
+- [Breakdown table](/docs/connections/delivery-overview/#breakdown-table): If you select a step in the pipeline view, you can see more details about the events that were processed at each pipeline step.
+- [Discard table](/docs/connections/delivery-overview/#discard-table): If you select an event in a breakdown table, you can see more details about the events that failed or were filtered out of your process. You can also inspect samples of the discarded events.
+
+For more information about the breakdown and discard tables, see the [Delivery Overview](/docs/connections/delivery-overview/) documentation.
+
+To view Delivery Overview for an Audience:
+1. From your Segment workspace's home page, navigate to **Engage > Audiences**.
+2. Find an Audience, click the **(...)** menu, and select Delivery Overview. 
+3. On the Delivery Overview page, select the Audience dropdown to filter by a specific Audience, select the Date range dropdown to filter by a specific time period, or use the Show metrics toggle to view your metrics as percentages.
+
+#### Steps in the pipeline view
+
+By default, Segment displays Delivery Overview information for all Audiences connected to your destination. You can filter your Delivery Overview pipeline view by an individual Audience for more granular data. 
+
+You can also further refine the data displayed on the pipeline view using the time picker and the metric toggle, located under the destination header. With the time picker, you can specify a time period (last 10 minutes, 1 hour, 24 hours, 7 days, 2 weeks, or a custom date range over the last two weeks) for which you’d like to see data. With the metric toggle, you can switch between seeing metrics represented as percentages (for example, _85% of events_ or _a 133% increase in events_) or as counts (_13 events_ or _an increase of 145 events_.) Delivery Overview shows percentages by default.
+
+> info "Linked Audiences have additional filtering functionality"
+> Linked Audiences users can filter the Delivery Overview event pipeline by [Linked Audience events](/docs/engage/audiences/linked-audiences/#step-2c-define-how-and-when-to-trigger-an-event-to-your-destination). For more information, see the [Linked Audiences](/docs/engage/audiences/linked-audiences/#delivery-overview-for-linked-audiences) documentation.
+
+Audiences have the following steps in the pipeline view: 
+- **Events that Segment created for your activation**<sup>*</sup>: The number of events for each compute depends on the changes detected in your audience membership.
+- **Filtered at source**: Events discarded by Protocols: either by the [schema settings](/docs/protocols/enforce/schema-configuration/) or [Tracking Plans](/docs/protocols/tracking-plan/create/). 
+- **Filtered at destination**: If any events aren’t eligible to be sent (for example, due to destination filters, insert function logic, and so on), Segment displays them at this step.
+- **Events pending retry**: A step that reveals the number of events that are awaiting retry. Unlike the other steps, you cannot click into this step to view the breakdown table. 
+- **Failed delivery**: Events that Segment _attempted_ to deliver to your destination, but that ultimately _failed_ to be delivered. Failed delivery might indicate an issue with the destination, like invalid credentials, rate limits, or other error statuses received during delivery.
+- **Successful delivery**: Events that Segment successfully delivered to your destination. You’ll see these events in your downstream integrations.
+
+<sup>*</sup>_The "Events from audience" step is currently only available for Linked Audiences._
+
+### Alerting
+
+Create alerts related to the performance and throughput of Audience syncs and receive in-app, email, and Slack notifications when event volume fluctuations occur.
+
+> info "Generate a Slack webhook to receive Slack notifications"
+> To receive an alert in a Slack channel, you must first create a Slack webhook. For more information about Slack webhooks, see Slack's [Sending messages using incoming webhooks](https://api.slack.com/messaging/webhooks){:target="_blank”} documentation.
+
+To access Audience alerting, navigate to **Engage > Audiences**, select an Audience, and click the Alerts tab.
+
+On the Alerts tab, you can create new alerts and view all active alerts for this connection. You can only edit or delete the alerts that you create, unless you have the [Workspace Owner role](/docs/segment-app/iam/roles/).
+
+#### Activation event health spikes or drops
+
+You can create an Activation event health spikes or drops alert that notifies you when events sent from your audience to a downstream destination have failures to a destination above a certain threshold. For example, if you set a change percentage of 4% and your destination received 100 events from your Audience over the first 24 hours, Segment would notify you the following day if your destination ingested fewer than 96 or more than 104 events.
+
+To create an Activation event health spikes or drops alert: 
+1. From your Segment workspace's home page, navigate to **Engage > Audiences**. 
+2. Select the Audience you want to create an alert for, select the Alerts tab, and click **Create alert**. 
+3. On the Create alert sidesheet, select the destination for which you'd like to monitor event health. 
+4. Enter a percentage threshold to trigger activation event health notifications. 
+5. Select one or more of the following alert channels:
+  - **Email**: Select this to receive notifications at the provided email address. 
+  - **Slack**: Select this to send alerts to one or more channels in your workspace. 
+  - **In-app**: Select this to receive notifications in the Segment app. To view your notifications, select the bell next to your user icon in the Segment app. 
+6. Click **Save**.
+
+To make changes to an Activation event health spikes or drops alert, select the icon in the Actions column for the alert and click **Edit**. 
+
+To delete a Activation event health spikes or drops alert, select the icon in the Actions column for the alert and click **Delete**.
+
+> info "Deleting alerts created by other users requires Workspace Owner role"
+> All users can delete alerts that they created, but only those with [Workspace Owner role](/docs/segment-app/iam/roles/) can delete alerts created by other users. 
+
 ## Access your Audiences using the Profiles API
 
 You can access your Audiences using the Profile API by querying the `/traits` endpoint. For example, you can query for `high_value_user` property with the following `GET` request:
@@ -277,5 +374,8 @@ The audience builder accepts CSV and TSV lists.
 
 This error occurs when creating audiences that reference each other, meaning audience X refers to audience Y in its trigger condition, and later you attempt to modify audience Y's trigger condition to refer back to audience X. To avoid this error, ensure that the audiences do not reference each other in their conditions.
 
+### Can I build an audience based on `context.traits` in a Track event?
+No. Traits located in the `context.traits` object of a Track event aren’t available in the Event Properties section of the Audience Builder. You can only use top-level event properties to define event-based audience conditions.
+
 ### How does the historical data flag work?
-Including historical data lets you take past information into account. You can only exclude historical data for real-time audiences. For batch audiences, Segment includes historical data by default.
+The **Include Historical Event Data** option lets you take past event data into account and control how much of it is considered when creating real-time audiences. You can set a lookback window (for example, the “last 90 days”) to limit the processed event data, or disable it entirely to use only data arriving after creation. For batch audiences, Segment includes historical data by default.
\ No newline at end of file
diff --git a/src/engage/audiences/linked-audiences-limits.md b/src/engage/audiences/linked-audiences-limits.md
index 97adbb5587..23a26a1622 100644
--- a/src/engage/audiences/linked-audiences-limits.md
+++ b/src/engage/audiences/linked-audiences-limits.md
@@ -40,3 +40,20 @@ Entity columns | Up to 1000 unique values | The maximum number of entity propert
 Run frequency | 15 minutes (this is the fastest time) | You can’t configure more frequency syncs. You can select **Run Now** to trigger runs, but you’re limited by Profiles Sync for when new data syncs back to the data warehouse.
 Destination Mappings | Up to 100 mappings | You can set up to 100 action destination mappings per destination instance.
 
+## Warehouse setup and performance guidance
+
+To get the best performance from Linked Audiences at scale, Segment recommends setting up a dedicated warehouse cluster. This helps avoid resource contention and makes query performance more predictable, especially when running frequent or complex audience syncs.
+
+Most workloads running on a dedicated cluster should complete within 60 minutes per sync cycle. Staying under this threshold helps keep audiences fresh and aligned with downstream activation schedules.
+
+Segment has tested Linked Audiences at enterprise scale with over 30 audiences running concurrently, each targeting millions of entities. However, actual performance and cost varies based on how your Data Graph is structured, how many audiences you run at once, and how frequently they sync. Complex joins, deep relationships, and high concurrency can all increase query time and warehouse usage.
+
+To improve performance and manage compute costs, follow these best practices:
+
+- Use materialized views when configuring Data Graph to reduce compute overhead.
+- Keep your Data Graph focused by avoiding unused entities or overly deep relationship chains.
+- Simplify audience conditions and avoid high-cardinality joins when possible.
+- Run on a dedicated warehouse cluster if you're operating at enterprise scale.
+- Stagger audience sync schedules to reduce concurrency and avoid bottlenecks.
+
+Following this guidance will help you keep audience syncs running efficiently even as your scale grows.
\ No newline at end of file
diff --git a/src/engage/audiences/linked-audiences.md b/src/engage/audiences/linked-audiences.md
index 15a9ce941e..7f13873dd8 100644
--- a/src/engage/audiences/linked-audiences.md
+++ b/src/engage/audiences/linked-audiences.md
@@ -242,12 +242,20 @@ With your Linked Audience activated, follow these steps to monitor your activati
 
 ### Delivery Overview for Linked Audiences
 
-Delivery Overview shows you four steps in your data activation pipeline:
-
-- **Events from Audience**: Events that Segment created for your activation. The number of events for each compute depends on the changes detected in your audience membership. 
-- **Filtered at Destination**: The activation pipeline is rich with features that let you control which events make it to the destination. If any events aren't eligible to be sent (for example, due to destination filters, insert function logic, and so on), Segment will show them in Filtered at Destination.
-- **Failed Delivery**: Events that Segment attempted but failed to deliver to your destination. Failed Delivery indicates an issue with the destination, like invalid credentials, rate limits, or other error statuses received during delivery.
-- **Successful Delivery**: Events that Segment successfully delivered to your destination. You'll see these events in your downstream integration.
+In addition to the standard Audience observability provided by [Delivery Overview](/docs/engage/audiences/#delivery-overview), Linked Audiences can filter Delivery Overview's pipeline view by [Linked Audience events](/docs/engage/audiences/linked-audiences/#step-2c-define-how-and-when-to-trigger-an-event-to-your-destination). 
+
+To filter by events: 
+1. From your Segment workspace's home page, navigate to **Engage > Audiences**.
+2. Find an Audience, click the **(...)** menu, and select Delivery Overview. 
+3. On the Delivery Overview page, select the Linked audience event dropdown to filter by a specific event. 
+
+Linked Audiences have the following steps in Delivery Overview's pipeline view: 
+- **Events from audience**: Events that Segment created for your activation. The number of events for each compute depends on the changes detected in your audience membership.
+- **Filtered at source**: Events discarded by Protocols: either by the [schema settings](/docs/protocols/enforce/schema-configuration/) or [Tracking Plans](/docs/protocols/tracking-plan/create/). 
+- **Filtered at destination**: If any events aren’t eligible to be sent (for example, due to destination filters, insert function logic, and so on), Segment displays them at this step.
+- **Events pending retry**: A step that reveals the number of events that are awaiting retry. Unlike the other steps, you cannot click into this step to view the breakdown table. 
+- **Failed delivery**: Events that Segment _attempted_ to deliver to your destination, but that ultimately _failed_ to be delivered. Failed delivery might indicate an issue with the destination, like invalid credentials, rate limits, or other error statuses received during delivery.
+- **Successful delivery**: Events that Segment successfully delivered to your destination. You’ll see these events in your downstream integrations.
 
 ## Maintaining Linked Audiences 
 
diff --git a/src/engage/campaigns/broadcasts.md b/src/engage/campaigns/broadcasts.md
index 489a66fda4..55365e2622 100644
--- a/src/engage/campaigns/broadcasts.md
+++ b/src/engage/campaigns/broadcasts.md
@@ -2,19 +2,8 @@
 title: Broadcasts
 plan: engage-premier
 ---
-> info ""
-> Engage Premier entered an End of Sale (EOS) period effective June 10, 2024. Existing Segment customers will continue to have access and support to Engage Premier until an end-of-life (EOL) date is announced. Segment recommends exploring the following pages in preparation of a migration or future MCM needs:
-> 
->[Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns)
->
->Preferred ISV Partners:
->
->[Airship Blog](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"} <br>
->[Bloomreach Blog](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"} <br>
->[Braze Blog](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"} <br>
->[Insider Blog](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"} <br>
->[Klaviyo Blog](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"} <br>
->[Twilio Engage Foundations Documentation](/docs/engage/quickstart/) <br>
+> info "Engage Premier End of Sale"
+> Engage Premier entered an End of Sale (EOS) period effective June 10, 2024 and is no longer available for new customers. Existing Segment customers will continue to have access to and support for Engage Premier until Segment announces and end-of-life (EOL) date. Segment recommends exploring [Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns){:target="_blank"}, as well as Segment's preferred ISV partners, including [Airship](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"}, [Braze](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"}, [Klaviyo](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"}, [Bloomreach](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"}, and [Insider](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"}.
 
 Broadcasts are one-time email or SMS campaigns that you can send with Twilio Engage. Use broadcasts for single, one-off occasions like the following:
 
diff --git a/src/engage/campaigns/email-campaigns.md b/src/engage/campaigns/email-campaigns.md
index 82c9f3515a..6cdf0bf4fa 100644
--- a/src/engage/campaigns/email-campaigns.md
+++ b/src/engage/campaigns/email-campaigns.md
@@ -2,19 +2,8 @@
 title: Email Campaigns
 plan: engage-premier
 ---
-> info ""
-> Engage Premier entered an End of Sale (EOS) period effective June 10, 2024. Existing Segment customers will continue to have access and support to Engage Premier until an end-of-life (EOL) date is announced. Segment recommends exploring the following pages in preparation of a migration or future MCM needs:
-> 
->[Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns)
->
->Preferred ISV Partners:
->
->[Airship Blog](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"} <br>
->[Bloomreach Blog](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"} <br>
->[Braze Blog](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"} <br>
->[Insider Blog](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"} <br>
->[Klaviyo Blog](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"} <br>
->[Twilio Engage Foundations Documentation](/docs/engage/quickstart/) <br>
+> info "Engage Premier End of Sale"
+> Engage Premier entered an End of Sale (EOS) period effective June 10, 2024 and is no longer available for new customers. Existing Segment customers have access to and support for Engage Premier until Segment announces an end-of-life (EOL) date. Segment recommends exploring [Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns){:target="_blank"}, as well as Segment's preferred ISV partners, including [Airship](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"}, [Braze](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"}, [Klaviyo](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"}, [Bloomreach](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"}, and [Insider](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"}.
 
 With Twilio Engage, you can send email and SMS campaigns to users who have opted in to receive your marketing materials. On this page, you’ll learn how to create and send an email campaign.
 
diff --git a/src/engage/campaigns/index.md b/src/engage/campaigns/index.md
index e9bb32f5d5..07d7c1703a 100644
--- a/src/engage/campaigns/index.md
+++ b/src/engage/campaigns/index.md
@@ -2,19 +2,8 @@
 title: Campaigns Overview
 plan: engage-premier
 ---
-> info ""
-> Engage Premier entered an End of Sale (EOS) period effective  June 10, 2024. Existing Segment customers will continue to have access and support to Engage Premier until an end-of-life (EOL) date is announced. We recommend exploring the following pages in preparation of a migration or future MCM needs:
-> 
->[Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns)
->
->Preferred ISV Partners:
->
->[Airship Blog](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"} <br>
->[Bloomreach Blog](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"} <br>
->[Braze Blog](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"} <br>
->[Insider Blog](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"} <br>
->[Klaviyo Blog](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"} <br>
->[Twilio Engage Foundations Documentation](/docs/engage/quickstart/) <br>
+> info "Engage Premier End of Sale"
+> Engage Premier entered an End of Sale (EOS) period effective June 10, 2024 and is no longer available for new customers. Existing Segment customers have access to and support for Engage Premier until Segment announces an end-of-life (EOL) date. Segment recommends exploring [Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns){:target="_blank"}, as well as Segment's preferred ISV partners, including [Airship](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"}, [Braze](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"}, [Klaviyo](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"}, [Bloomreach](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"}, and [Insider](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"}.
 
 With Engage, you can build email and SMS marketing campaigns within Journeys.
 
diff --git a/src/engage/campaigns/mobile-push/index.md b/src/engage/campaigns/mobile-push/index.md
index 888283c5e3..cb1417f437 100644
--- a/src/engage/campaigns/mobile-push/index.md
+++ b/src/engage/campaigns/mobile-push/index.md
@@ -2,19 +2,8 @@
 title: Mobile Push Onboarding
 plan: engage-premier
 ---
-> info ""
-> Engage Premier entered an End of Sale (EOS) period effective  June 10, 2024. Existing Segment customers will continue to have access and support to Engage Premier until an end-of-life (EOL) date is announced. We recommend exploring the following pages in preparation of a migration or future MCM needs:
-> 
->[Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns)
->
->Preferred ISV Partners:
->
->[Airship Blog](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"} <br>
->[Bloomreach Blog](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"} <br>
->[Braze Blog](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"} <br>
->[Insider Blog](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"} <br>
->[Klaviyo Blog](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"} <br>
->[Twilio Engage Foundations Documentation](/docs/engage/quickstart/) <br>
+> info "Engage Premier End of Sale"
+> Engage Premier entered an End of Sale (EOS) period effective June 10, 2024 and is no longer available for new customers. Existing Segment customers have access to and support for Engage Premier until Segment announces an end-of-life (EOL) date. Segment recommends exploring [Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns){:target="_blank"}, as well as Segment's preferred ISV partners, including [Airship](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"}, [Braze](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"}, [Klaviyo](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"}, [Bloomreach](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"}, and [Insider](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"}.
 
 This page walks you through the process of setting up mobile push notifications using Segment, Twilio, and Firebase/Apple Developer.
 
diff --git a/src/engage/campaigns/mobile-push/push-campaigns.md b/src/engage/campaigns/mobile-push/push-campaigns.md
index 4842ddacf1..ccf93dba56 100644
--- a/src/engage/campaigns/mobile-push/push-campaigns.md
+++ b/src/engage/campaigns/mobile-push/push-campaigns.md
@@ -2,19 +2,8 @@
 title: Mobile Push Campaigns
 plan: engage-premier
 ---
-> info ""
-> Engage Premier entered an End of Sale (EOS) period effective  June 10, 2024. Existing Segment customers will continue to have access and support to Engage Premier until an end-of-life (EOL) date is announced. We recommend exploring the following pages in preparation of a migration or future MCM needs:
-> 
->[Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns)
->
->Preferred ISV Partners:
->
->[Airship Blog](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"} <br>
->[Bloomreach Blog](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"} <br>
->[Braze Blog](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"} <br>
->[Insider Blog](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"} <br>
->[Klaviyo Blog](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"} <br>
->[Twilio Engage Foundations Documentation](/docs/engage/quickstart/) <br>
+> info "Engage Premier End of Sale"
+> Engage Premier entered an End of Sale (EOS) period effective June 10, 2024 and is no longer available for new customers. Existing Segment customers have access to and support for Engage Premier until Segment announces an end-of-life (EOL) date. Segment recommends exploring [Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns){:target="_blank"}, as well as Segment's preferred ISV partners, including [Airship](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"}, [Braze](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"}, [Klaviyo](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"}, [Bloomreach](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"}, and [Insider](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"}.
 
 With Twilio Engage, you can send campaigns to users who have opted in to receive your marketing materials. On this page, you’ll learn how to create and send a mobile push campaign.
 
diff --git a/src/engage/campaigns/sms-campaigns.md b/src/engage/campaigns/sms-campaigns.md
index ec9d26f408..7dd367fa70 100644
--- a/src/engage/campaigns/sms-campaigns.md
+++ b/src/engage/campaigns/sms-campaigns.md
@@ -2,19 +2,8 @@
 title: SMS Campaigns
 plan: engage-premier
 ---
-> info ""
-> Engage Premier entered an End of Sale (EOS) period effective  June 10, 2024. Existing Segment customers will continue to have access and support to Engage Premier until an end-of-life (EOL) date is announced. We recommend exploring the following pages in preparation of a migration or future MCM needs:
-> 
->[Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns)
->
->Preferred ISV Partners:
->
->[Airship Blog](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"} <br>
->[Bloomreach Blog](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"} <br>
->[Braze Blog](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"} <br>
->[Insider Blog](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"} <br>
->[Klaviyo Blog](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"} <br>
->[Twilio Engage Foundations Documentation](/docs/engage/quickstart/) <br>
+> info "Engage Premier End of Sale"
+> Engage Premier entered an End of Sale (EOS) period effective June 10, 2024 and is no longer available for new customers. Existing Segment customers have access to and support for Engage Premier until Segment announces an end-of-life (EOL) date. Segment recommends exploring [Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns){:target="_blank"}, as well as Segment's preferred ISV partners, including [Airship](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"}, [Braze](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"}, [Klaviyo](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"}, [Bloomreach](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"}, and [Insider](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"}.
 
 With Twilio Engage, you can send email and SMS campaigns to users who have opted in to receive your marketing materials. On this page, you’ll learn how to create and send an SMS campaign.
 
diff --git a/src/engage/campaigns/whatsapp-campaigns.md b/src/engage/campaigns/whatsapp-campaigns.md
index 883bda8d14..51ac9cd2bd 100644
--- a/src/engage/campaigns/whatsapp-campaigns.md
+++ b/src/engage/campaigns/whatsapp-campaigns.md
@@ -2,20 +2,8 @@
 title: WhatsApp Campaigns
 plan: engage-premier
 ---
-> info ""
-> Engage Premier entered an End of Sale (EOS) period effective  June 10, 2024. Existing Segment customers will continue to have access and support to Engage Premier until an end-of-life (EOL) date is announced. We recommend exploring the following pages in preparation of a migration or future MCM needs:
-> 
->[Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns)
->
->Preferred ISV Partners:
->
->[Airship Blog](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"} <br>
->[Bloomreach Blog](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"} <br>
->[Braze Blog](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"} <br>
->[Insider Blog](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"} <br>
->[Klaviyo Blog](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"} <br>
->[Twilio Engage Foundations Documentation](/docs/engage/quickstart/) <br>
-
+> info "Engage Premier End of Sale"
+> Engage Premier entered an End of Sale (EOS) period effective June 10, 2024 and is no longer available for new customers. Existing Segment customers have access to and support for Engage Premier until Segment announces an end-of-life (EOL) date. Segment recommends exploring [Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns){:target="_blank"}, as well as Segment's preferred ISV partners, including [Airship](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"}, [Braze](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"}, [Klaviyo](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"}, [Bloomreach](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"}, and [Insider](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"}.
 ## How Engage campaigns work
 
 Twilio Engage uses Journeys to send WhatsApp, email, and SMS campaigns.  With Journeys, you add conditions and steps that trigger actions like sending a WhatsApp message.
diff --git a/src/engage/content/email/editor.md b/src/engage/content/email/editor.md
index 43c7b4a56d..4d7d9f71e1 100644
--- a/src/engage/content/email/editor.md
+++ b/src/engage/content/email/editor.md
@@ -2,19 +2,8 @@
 title: Drag and Drop Editor
 plan: engage-premier
 ---
-> info ""
-> Engage Premier entered an End of Sale (EOS) period effective  June 10, 2024. Existing Segment customers will continue to have access and support to Engage Premier until an end-of-life (EOL) date is announced. We recommend exploring the following pages in preparation of a migration or future MCM needs:
-> 
->[Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns)
->
->Preferred ISV Partners:
->
->[Airship Blog](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"} <br>
->[Bloomreach Blog](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"} <br>
->[Braze Blog](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"} <br>
->[Insider Blog](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"} <br>
->[Klaviyo Blog](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"} <br>
->[Twilio Engage Foundations Documentation](/docs/engage/quickstart/) <br>
+> info "Engage Premier End of Sale"
+> Engage Premier entered an End of Sale (EOS) period effective June 10, 2024 and is no longer available for new customers. Existing Segment customers have access to and support for Engage Premier until Segment announces an end-of-life (EOL) date. Segment recommends exploring [Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns){:target="_blank"}, as well as Segment's preferred ISV partners, including [Airship](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"}, [Braze](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"}, [Klaviyo](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"}, [Bloomreach](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"}, and [Insider](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"}.
 
 Use Twilio Engage to build email templates with a *what you see is what you get* (WYSIWYG) Drag and Drop Editor. Use drag and drop tools to design the template layout and include user profile traits to personalize the message for each recipient.
 
diff --git a/src/engage/content/email/html-editor.md b/src/engage/content/email/html-editor.md
index cb7e94ae3b..aca641e407 100644
--- a/src/engage/content/email/html-editor.md
+++ b/src/engage/content/email/html-editor.md
@@ -2,19 +2,8 @@
 title: HTML Editor
 beta: true
 ---
-> info ""
-> Engage Premier entered an End of Sale (EOS) period effective  June 10, 2024. Existing Segment customers will continue to have access and support to Engage Premier until an end-of-life (EOL) date is announced. We recommend exploring the following pages in preparation of a migration or future MCM needs:
-> 
->[Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns)
->
->Preferred ISV Partners:
->
->[Airship Blog](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"} <br>
->[Bloomreach Blog](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"} <br>
->[Braze Blog](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"} <br>
->[Insider Blog](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"} <br>
->[Klaviyo Blog](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"} <br>
->[Twilio Engage Foundations Documentation](/docs/engage/quickstart/) <br>
+> info "Engage Premier End of Sale"
+> Engage Premier entered an End of Sale (EOS) period effective June 10, 2024 and is no longer available for new customers. Existing Segment customers have access to and support for Engage Premier until Segment announces an end-of-life (EOL) date. Segment recommends exploring [Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns){:target="_blank"}, as well as Segment's preferred ISV partners, including [Airship](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"}, [Braze](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"}, [Klaviyo](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"}, [Bloomreach](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"}, and [Insider](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"}.
 
 Use the HTML Editor to design your email template with both code and visual editing capabilities. Build your email template with code, copy and paste existing code, or use the Visual Editor for a code free design experience. 
 
diff --git a/src/engage/content/email/template.md b/src/engage/content/email/template.md
index f7baf74d1c..da8d32b446 100644
--- a/src/engage/content/email/template.md
+++ b/src/engage/content/email/template.md
@@ -2,19 +2,8 @@
 title: Email Template
 plan: engage-premier
 ---
-> info ""
-> Engage Premier entered an End of Sale (EOS) period effective  June 10, 2024. Existing Segment customers will continue to have access and support to Engage Premier until an end-of-life (EOL) date is announced. We recommend exploring the following pages in preparation of a migration or future MCM needs:
-> 
->[Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns)
->
->Preferred ISV Partners:
->
->[Airship Blog](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"} <br>
->[Bloomreach Blog](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"} <br>
->[Braze Blog](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"} <br>
->[Insider Blog](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"} <br>
->[Klaviyo Blog](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"} <br>
->[Twilio Engage Foundations Documentation](/docs/engage/quickstart/) <br>
+> info "Engage Premier End of Sale"
+> Engage Premier entered an End of Sale (EOS) period effective June 10, 2024 and is no longer available for new customers. Existing Segment customers have access to and support for Engage Premier until Segment announces an end-of-life (EOL) date. Segment recommends exploring [Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns){:target="_blank"}, as well as Segment's preferred ISV partners, including [Airship](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"}, [Braze](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"}, [Klaviyo](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"}, [Bloomreach](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"}, and [Insider](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"}.
 
 Use Twilio Engage to build personalized email templates to store and use throughout marketing campaigns.  
 
diff --git a/src/engage/content/mobile-push.md b/src/engage/content/mobile-push.md
index 3d2efa2e51..51ccb881b5 100644
--- a/src/engage/content/mobile-push.md
+++ b/src/engage/content/mobile-push.md
@@ -2,19 +2,8 @@
 title: Mobile Push Template
 plan: engage-premier
 ---
-> info ""
-> Engage Premier entered an End of Sale (EOS) period effective June 10, 2024. Existing Segment customers will continue to have access and support to Engage Premier until an end-of-life (EOL) date is announced. Segment recommends exploring the following pages in preparation of a migration or future MCM needs:
-> 
->[Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns)
->
->Preferred ISV Partners:
->
->[Airship Blog](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"} <br>
->[Bloomreach Blog](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"} <br>
->[Braze Blog](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"} <br>
->[Insider Blog](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"} <br>
->[Klaviyo Blog](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"} <br>
->[Twilio Engage Foundations Documentation](/docs/engage/quickstart/) <br>
+> info "Engage Premier End of Sale"
+> Engage Premier entered an End of Sale (EOS) period effective June 10, 2024 and is no longer available for new customers. Existing Segment customers have access to and support for Engage Premier until Segment announces an end-of-life (EOL) date. Segment recommends exploring [Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns){:target="_blank"}, as well as Segment's preferred ISV partners, including [Airship](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"}, [Braze](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"}, [Klaviyo](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"}, [Bloomreach](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"}, and [Insider](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"}.
 
 Use Twilio Engage to build mobile push templates to include throughout your marketing campaigns.
 
diff --git a/src/engage/content/organization.md b/src/engage/content/organization.md
index 33f6cb041b..0170c2efdc 100644
--- a/src/engage/content/organization.md
+++ b/src/engage/content/organization.md
@@ -3,19 +3,8 @@ title: Organizing Your Templates
 plan: engage-premier
 
 ---
-> info ""
-> Engage Premier entered an End of Sale (EOS) period effective  June 10, 2024. Existing Segment customers will continue to have access and support to Engage Premier until an end-of-life (EOL) date is announced. We recommend exploring the following pages in preparation of a migration or future MCM needs:
-> 
->[Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns)
->
->Preferred ISV Partners:
->
->[Airship Blog](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"} <br>
->[Bloomreach Blog](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"} <br>
->[Braze Blog](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"} <br>
->[Insider Blog](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"} <br>
->[Klaviyo Blog](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"} <br>
->[Twilio Engage Foundations Documentation](/docs/engage/quickstart/) <br>
+> info "Engage Premier End of Sale"
+> Engage Premier entered an End of Sale (EOS) period effective June 10, 2024 and is no longer available for new customers. Existing Segment customers have access to and support for Engage Premier until Segment announces an end-of-life (EOL) date. Segment recommends exploring [Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns){:target="_blank"}, as well as Segment's preferred ISV partners, including [Airship](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"}, [Braze](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"}, [Klaviyo](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"}, [Bloomreach](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"}, and [Insider](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"}.
 
 To add structure to your marketing content, you can organize templates into folders and duplicate them within your Segment space.
 
diff --git a/src/engage/content/sms/template.md b/src/engage/content/sms/template.md
index 506d509976..fb5b0c52c2 100644
--- a/src/engage/content/sms/template.md
+++ b/src/engage/content/sms/template.md
@@ -2,19 +2,8 @@
 title: SMS Template
 plan: engage-premier
 ---
-> info ""
-> Engage Premier entered an End of Sale (EOS) period effective  June 10, 2024. Existing Segment customers will continue to have access and support to Engage Premier until an end-of-life (EOL) date is announced. We recommend exploring the following pages in preparation of a migration or future MCM needs:
-> 
->[Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns)
->
->Preferred ISV Partners:
->
->[Airship Blog](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"} <br>
->[Bloomreach Blog](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"} <br>
->[Braze Blog](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"} <br>
->[Insider Blog](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"} <br>
->[Klaviyo Blog](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"} <br>
->[Twilio Engage Foundations Documentation](/docs/engage/quickstart/) <br>
+> info "Engage Premier End of Sale"
+> Engage Premier entered an End of Sale (EOS) period effective June 10, 2024 and is no longer available for new customers. Existing Segment customers have access to and support for Engage Premier until Segment announces an end-of-life (EOL) date. Segment recommends exploring [Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns){:target="_blank"}, as well as Segment's preferred ISV partners, including [Airship](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"}, [Braze](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"}, [Klaviyo](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"}, [Bloomreach](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"}, and [Insider](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"}.
 
 Use Twilio Engage to build SMS message templates to include throughout your marketing campaigns.
 
diff --git a/src/engage/content/whatsapp.md b/src/engage/content/whatsapp.md
index b26ad504e5..f76212869f 100644
--- a/src/engage/content/whatsapp.md
+++ b/src/engage/content/whatsapp.md
@@ -2,19 +2,8 @@
 title: WhatsApp Template
 plan: engage-premier
 ---
-> info ""
-> Engage Premier entered an End of Sale (EOS) period effective  June 10, 2024. Existing Segment customers will continue to have access and support to Engage Premier until an end-of-life (EOL) date is announced. We recommend exploring the following pages in preparation of a migration or future MCM needs:
-> 
->[Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns)
->
->Preferred ISV Partners:
->
->[Airship Blog](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"} <br>
->[Bloomreach Blog](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"} <br>
->[Braze Blog](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"} <br>
->[Insider Blog](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"} <br>
->[Klaviyo Blog](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"} <br>
->[Twilio Engage Foundations Documentation](/docs/engage/quickstart/) <br>
+> info "Engage Premier End of Sale"
+> Engage Premier entered an End of Sale (EOS) period effective June 10, 2024 and is no longer available for new customers. Existing Segment customers have access to and support for Engage Premier until Segment announces an end-of-life (EOL) date. Segment recommends exploring [Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns){:target="_blank"}, as well as Segment's preferred ISV partners, including [Airship](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"}, [Braze](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"}, [Klaviyo](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"}, [Bloomreach](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"}, and [Insider](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"}.
 
 With Twilio Engage, you can build personalized WhatsApp templates to store and use throughout marketing campaigns. 
 
diff --git a/src/engage/index.md b/src/engage/index.md
index 999ea7ccf6..f0cdd3d93a 100644
--- a/src/engage/index.md
+++ b/src/engage/index.md
@@ -5,9 +5,7 @@ redirect_from:
   - '/personas/'
 ---
 
-Powered by real-time data, Twilio Engage is a customizable personalization platform with which you can build, enrich, and activate Audiences.
-
-Engage Channels builds on top of these Audiences, helping you connect with and market to your customers through email, SMS, and WhatsApp campaigns.
+Powered by real-time data, Twilio Engage is a customizable personalization platform with which you can build, enrich, and activate Audiences. 
 
 ## What can you do with Engage?
 
@@ -24,56 +22,9 @@ Add detail to user profiles with new traits and use them to power personalized m
 - [**Predictions**:](/docs/unify/traits/predictions/) Predict the likelihood that users will perform custom events tracked in Segment, like LTV, churn, and purchase.
 
 #### Build Audiences
-Create lists of users or accounts that match specific criteria. For example, after creating an `inactive accounts` audience that lists paid accounts with no logins in 60 days, you can push the audience to your analytics tools or send an SMS, email, or WhatsApp campaign with Engage Channels. Learn more about [Engage audiences](/docs/engage/audiences/).
+Create lists of users or accounts that match specific criteria. For example, after creating an `inactive accounts` audience that lists paid accounts with no logins in 60 days, you can push the audience to your analytics tools or send an SMS, email, or WhatsApp campaign with Engage Channels. Learn more about [Engage audiences](/docs/engage/audiences/). 
 
 #### 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." %}
-
-## Market to customers with Engage Premier and Channels
-
-To send email, SMS, and WhatsApp campaigns with Engage Channels, you'll connect a [Twilio messaging service](https://support.twilio.com/hc/en-us/articles/223181308-Getting-started-with-Messaging-Services){:target="blank"}, [SendGrid subuser account](https://docs.sendgrid.com/ui/account-and-settings/subusers#create-a-subuser){:target="blank"}, and [WhatsApp messaging service](https://www.twilio.com/docs/whatsapp/self-sign-up){:target="blank"} to your Segment Engage space. Use existing accounts, or create new ones.
-
-View the [onboarding steps](/docs/engage/onboarding/) for more on how to connect Twilio and SendGrid accounts.
-
-#### Send email, SMS, and WhatsApp messages in Journeys
-
-Use Engage to build email, SMS, and WhatsApp campaigns within [Journeys](/docs/engage/journeys/). Send campaigns to [subscribed users](#user-subscriptions) based on event behavior and profile traits. With [message analytics](#message-analytics), you can track the performance of your campaigns.
-
-- **Send Email**: [Build email campaigns](/docs/engage/campaigns/email-campaigns/) with existing templates, or create a new email template within Journeys. Before you send the email, test the template and set [conversion goals](#conversion-goals).
-
-- **Send SMS messages**: [Build SMS campaigns](/docs/engage/campaigns/sms-campaigns/) to message users in real-time as a step in a Journey. For example, create an abandoned cart campaign that texts users a reminder to complete their purchase, along with a promo code. Add [merge tags](#personalize-with-merge-tags) and set conversion goals.
-
-- **Send WhatsApp messages**: [Build WhatsApp campaigns](/docs/engage/campaigns/whatsapp-campaigns) that deliver messages to your customers on the world's most used messaging app. 
-
-To learn more, visit the [CSV Uploader](/docs/engage/profiles/csv-upload/) documentation.
-
-#### Build Email, SMS, and WhatsApp message templates
-
-Build personalized [email](/docs/engage/content/email/template/), [SMS](/docs/engage/content/sms/template), and [WhatsApp](/docs/engage/content/whatsapp) templates in Twilio Engage for use in your campaigns. Design email templates with a WYSIWYG [Drag and Drop Editor](/docs/engage/content/email/editor/) or the [HTML Editor](/docs/engage/content/email/html-editor/). Engage saves the templates for you to preview, edit, and reuse throughout Journeys.
-
-#### Personalize with merge tags
-Insert real-time user profile traits from merge tags to personalize each message. For example, address recipients by name or highlight new products from a user's favorite brand.
-
-#### CSV Uploader
-Use the CSV uploader to add or update user profiles and [subscription states](/docs/engage/user-subscriptions/). To learn more, visit the [CSV Uploader](/docs/engage/profiles/csv-upload/) documentation.
-
-#### User subscriptions
-
-Set user subscription states in two ways:
-- [Upload a CSV file](/docs/engage/profiles/csv-upload/) with lists of users along with their phone, email, and WhatsApp subscription states.
-- Programmatically with Segment's [Public API](https://api.segmentapis.com/docs/spaces/#replace-messaging-subscriptions-in-spaces){:target="blank"}
-
-Use Engage to add subscription states to user email addresses and phone numbers. Subscription states help determine which users you can send campaigns to in Engage. You can set user subscription states with a [CSV file upload](/docs/engage/profiles/csv-upload/), or programmatically with Segment's [Public API](https://api.segmentapis.com/docs/spaces/#replace-messaging-subscriptions-in-spaces){:target="blank"}.
-
-#### Message Analytics
-With analytics in Engage, you can monitor real-time conversion data. Track message performance and customer interaction beyond clicks and opens. Use campaign dashboards to view events such as `Email Delivered`, `Unsubscribed`, `Spam Reported`, and more.
-
-#### Conversion Goals
-
-For each message step in a Journey, you can set conversion conditions with events and properties in your Segment space. Then, define a duration after message delivery to track goals.
-
-For example, track users who perform the event **Order Completed** with a promo code that you send them.
-
-Visit [Message Analytics](/docs/engage/analytics/) to learn more.
+{% 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
diff --git a/src/engage/journeys/event-triggered-journeys-steps.md b/src/engage/journeys/event-triggered-journeys-steps.md
index 18f66b8a07..3adcc1b914 100644
--- a/src/engage/journeys/event-triggered-journeys-steps.md
+++ b/src/engage/journeys/event-triggered-journeys-steps.md
@@ -8,7 +8,7 @@ plan: engage-foundations
 Steps are the building blocks of a journey. This page explains the **Hold Until** and **Send to Destination** steps, which enable precise control over journey progression and data delivery. 
 
 > info "Public Beta"
-> Event-Triggered Journeys is in public beta, and Segment is actively working on this feature. Some functionality may change before it becomes generally available. Event-Triggered Journeys is not currently HIPAA eligible.
+> Event-Triggered Journeys is in public beta, and Segment is actively working on this feature. Some functionality may change before it becomes generally available. 
 
 ## Hold Until: smart pauses in journeys
 
diff --git a/src/engage/journeys/event-triggered-journeys.md b/src/engage/journeys/event-triggered-journeys.md
index 0816956535..94d1e5f579 100644
--- a/src/engage/journeys/event-triggered-journeys.md
+++ b/src/engage/journeys/event-triggered-journeys.md
@@ -10,7 +10,7 @@ Unlike traditional audience-based journeys that rely on pre-defined user segment
 On this page, you'll learn how to create an event-triggered journey, configure entry conditions, and work with published event-triggered journeys.
 
 > info "Public Beta"
-> Event-Triggered Journeys is in public beta, and Segment is actively working on this feature. Some functionality may change before it becomes generally available. Event-Triggered Journeys is not currently HIPAA eligible.
+> Event-Triggered Journeys is in public beta, and Segment is actively working on this feature. Some functionality may change before it becomes generally available.
 
 ## Overview
 
diff --git a/src/engage/journeys/journey-context.md b/src/engage/journeys/journey-context.md
index a6d8410e5a..e0443833db 100644
--- a/src/engage/journeys/journey-context.md
+++ b/src/engage/journeys/journey-context.md
@@ -8,7 +8,7 @@ plan: engage-foundations
 This page explains Journey context, which can help you dynamically adapt each journey to individual user interactions, creating highly relevant, real-time workflows.
 
 > info "Public Beta"
-> Event-Triggered Journeys is in public beta, and Segment is actively working on this feature. Some functionality may change before it becomes generally available. Event-Triggered Journeys is not currently HIPAA eligible.
+> Event-Triggered Journeys is in public beta, and Segment is actively working on this feature. Some functionality may change before it becomes generally available.
 
 ## Overview
 
diff --git a/src/engage/onboarding.md b/src/engage/onboarding.md
index d31a5f4c2c..5cddc182b1 100644
--- a/src/engage/onboarding.md
+++ b/src/engage/onboarding.md
@@ -1,22 +1,12 @@
 ---
 title: Twilio Engage Premier Onboarding Guide
 plan: engage-premier
+hidden: true
 redirect_from:
   - '/engage/overview/onboarding'
 ---
-> info ""
-> Engage Premier entered an End of Sale (EOS) period effective  June 10, 2024. Existing Segment customers will continue to have access and support to Engage Premier until an end-of-life (EOL) date is announced. We recommend exploring the following pages in preparation of a migration or future MCM needs:
-> 
->[Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns)
->
->Preferred ISV Partners:
->
->[Airship Blog](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"} <br>
->[Bloomreach Blog](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"} <br>
->[Braze Blog](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"} <br>
->[Insider Blog](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"} <br>
->[Klaviyo Blog](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"} <br>
->[Twilio Engage Foundations Documentation](/docs/engage/quickstart/) <br>
+> info "Engage Premier End of Sale"
+> Engage Premier entered an End of Sale (EOS) period effective June 10, 2024 and is no longer available for new customers. Existing Segment customers have access to and support for Engage Premier until Segment announces an end-of-life (EOL) date. Segment recommends exploring [Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns){:target="_blank"}, as well as Segment's preferred ISV partners, including [Airship](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"}, [Braze](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"}, [Klaviyo](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"}, [Bloomreach](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"}, and [Insider](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"}.
 
 Twilio Engage brings Segment, Twilio, SendGrid, and WhatsApp together to help you create and send email, SMS, and WhatsApp campaigns to your customers.
 
diff --git a/src/engage/product-limits.md b/src/engage/product-limits.md
index c7d74d06ce..059f3736c2 100644
--- a/src/engage/product-limits.md
+++ b/src/engage/product-limits.md
@@ -26,7 +26,7 @@ To learn more about custom limits and upgrades, contact your dedicated Customer
 | name                                          | limit                                         | Details                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
 | --------------------------------------------- | --------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
 | Compute Concurrency                           | 5 new concurrent audiences or computed traits | Segment computes five new audiences or computed traits at a time. Once the limit is reached, Segment queues additional computations until one of the five finishes computing.                                                                                                                                                                                                                                                                                                                                                      |
-| Edit Concurrency                              | 2 concurrent audiences or computed traits     | You can edit two concurrent audiences or computed traits at a time. Once the limit is reached, Segment queues and locks additional computations until one of the two finishes computing.                                                                                                                                                                                                                                                                                                                                           |
+| Edit Concurrency                              | 5 concurrent audiences or computed traits     | You can edit five concurrent audiences or computed traits at a time. Once the limit is reached, Segment queues and locks additional computations until one of the five finishes computing.                                                                                                                                                                                                                                                                                                                                           |
 | Batch Compute Concurrency Limit               | 10 (default) per space                        | The number of batch computations that can run concurrently per space. When this limit is reached, Segment delays subsequent computations until current computations finish.                                                                                                                                                                                                                                                                                                                                                        |
 | Compute Throughput                            | 10000 computations per second                 | Computations include any Track or Identify call that triggers an audience or computed trait re-computation. Once the limit is reached, Segment may slow audience processing.                                                                                                                                                                                                                                                                                                                                                       |
 | Real-time to batch destination sync frequency | 12-15 hours                                   | The frequency with which Segment syncs real-time audiences to batch destinations.                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
diff --git a/src/engage/user-subscriptions/csv-upload.md b/src/engage/user-subscriptions/csv-upload.md
index 1e45bd6987..cabf1cfd38 100644
--- a/src/engage/user-subscriptions/csv-upload.md
+++ b/src/engage/user-subscriptions/csv-upload.md
@@ -2,19 +2,8 @@
 title: Update Subscriptions with a CSV
 plan: engage-premier
 ---
-> info ""
-> Engage Premier entered an End of Sale (EOS) period effective  June 10, 2024. Existing Segment customers will continue to have access and support to Engage Premier until an end-of-life (EOL) date is announced. We recommend exploring the following pages in preparation of a migration or future MCM needs:
-> 
->[Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns)
->
->Preferred ISV Partners:
->
->[Airship Blog](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"} <br>
->[Bloomreach Blog](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"} <br>
->[Braze Blog](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"} <br>
->[Insider Blog](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"} <br>
->[Klaviyo Blog](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"} <br>
->[Twilio Engage Foundations Documentation](/docs/engage/quickstart/) <br>
+> info "Engage Premier End of Sale"
+> Engage Premier entered an End of Sale (EOS) period effective June 10, 2024 and is no longer available for new customers. Existing Segment customers have access to and support for Engage Premier until Segment announces an end-of-life (EOL) date. Segment recommends exploring [Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns){:target="_blank"}, as well as Segment's preferred ISV partners, including [Airship](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"}, [Braze](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"}, [Klaviyo](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"}, [Bloomreach](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"}, and [Insider](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"}.
 
 Use the CSV Uploader to add or update user subscription states.
 
diff --git a/src/engage/user-subscriptions/index.md b/src/engage/user-subscriptions/index.md
index a64c05d47a..b0fbdde585 100644
--- a/src/engage/user-subscriptions/index.md
+++ b/src/engage/user-subscriptions/index.md
@@ -2,19 +2,8 @@
 title: User Subscriptions Overview
 plan: engage-premier
 ---
-> info ""
-> Engage Premier entered an End of Sale (EOS) period effective  June 10, 2024. Existing Segment customers will continue to have access and support to Engage Premier until an end-of-life (EOL) date is announced. We recommend exploring the following pages in preparation of a migration or future MCM needs:
-> 
->[Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns)
->
->Preferred ISV Partners:
->
->[Airship Blog](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"} <br>
->[Bloomreach Blog](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"} <br>
->[Braze Blog](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"} <br>
->[Insider Blog](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"} <br>
->[Klaviyo Blog](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"} <br>
->[Twilio Engage Foundations Documentation](/docs/engage/quickstart/) <br>
+> info "Engage Premier End of Sale"
+> Engage Premier entered an End of Sale (EOS) period effective June 10, 2024 and is no longer available for new customers. Existing Segment customers have access to and support for Engage Premier until Segment announces an end-of-life (EOL) date. Segment recommends exploring [Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns){:target="_blank"}, as well as Segment's preferred ISV partners, including [Airship](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"}, [Braze](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"}, [Klaviyo](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"}, [Bloomreach](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"}, and [Insider](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"}.
 
 Segment associates [subscription states](/docs/engage/user-subscriptions/set-user-subscriptions/) with each email address and phone number **external id** in your audiences. Subscription states indicate the level of consent end users have given to receive your marketing campaigns.
 
diff --git a/src/engage/user-subscriptions/set-user-subscriptions.md b/src/engage/user-subscriptions/set-user-subscriptions.md
index b2b879bc81..80c94ce1ec 100644
--- a/src/engage/user-subscriptions/set-user-subscriptions.md
+++ b/src/engage/user-subscriptions/set-user-subscriptions.md
@@ -2,19 +2,8 @@
 title: Set User Subscriptions
 plan: engage-premier
 ---
-> info ""
-> Engage Premier entered an End of Sale (EOS) period effective  June 10, 2024. Existing Segment customers will continue to have access and support to Engage Premier until an end-of-life (EOL) date is announced. We recommend exploring the following pages in preparation of a migration or future MCM needs:
-> 
->[Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns)
->
->Preferred ISV Partners:
->
->[Airship Blog](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"} <br>
->[Bloomreach Blog](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"} <br>
->[Braze Blog](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"} <br>
->[Insider Blog](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"} <br>
->[Klaviyo Blog](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"} <br>
->[Twilio Engage Foundations Documentation](/docs/engage/quickstart/) <br>
+> info "Engage Premier End of Sale"
+> Engage Premier entered an End of Sale (EOS) period effective June 10, 2024 and is no longer available for new customers. Existing Segment customers have access to and support for Engage Premier until Segment announces an end-of-life (EOL) date. Segment recommends exploring [Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns){:target="_blank"}, as well as Segment's preferred ISV partners, including [Airship](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"}, [Braze](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"}, [Klaviyo](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"}, [Bloomreach](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"}, and [Insider](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"}.
 
 Segment associates a [user subscription state](/docs/engage/user-subscriptions/subscription-states/) with each email address and phone number in your Engage audiences. Subscription states give you insight into the level of consent a user has given you to receive your Engage campaigns.
 
diff --git a/src/engage/user-subscriptions/subscription-groups.md b/src/engage/user-subscriptions/subscription-groups.md
index e581fca676..7342a7419a 100644
--- a/src/engage/user-subscriptions/subscription-groups.md
+++ b/src/engage/user-subscriptions/subscription-groups.md
@@ -2,19 +2,8 @@
 title: Subscription Groups  
 plan: engage-premier
 ---
-> info ""
-> Engage Premier entered an End of Sale (EOS) period effective  June 10, 2024. Existing Segment customers will continue to have access and support to Engage Premier until an end-of-life (EOL) date is announced. We recommend exploring the following pages in preparation of a migration or future MCM needs:
-> 
->[Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns)
->
->Preferred ISV Partners:
->
->[Airship Blog](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"} <br>
->[Bloomreach Blog](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"} <br>
->[Braze Blog](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"} <br>
->[Insider Blog](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"} <br>
->[Klaviyo Blog](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"} <br>
->[Twilio Engage Foundations Documentation](/docs/engage/quickstart/) <br>
+> info "Engage Premier End of Sale"
+> Engage Premier entered an End of Sale (EOS) period effective June 10, 2024 and is no longer available for new customers. Existing Segment customers have access to and support for Engage Premier until Segment announces an end-of-life (EOL) date. Segment recommends exploring [Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns){:target="_blank"}, as well as Segment's preferred ISV partners, including [Airship](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"}, [Braze](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"}, [Klaviyo](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"}, [Bloomreach](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"}, and [Insider](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"}.
 
 Subscription groups let your users choose the emails they want to receive from you. This page introduces subscription groups and explains how you can use them with [Engage email campaigns](/docs/engage/campaigns/email-campaigns/).
 
diff --git a/src/engage/user-subscriptions/subscription-sql.md b/src/engage/user-subscriptions/subscription-sql.md
index 5e8941970f..734a0c5488 100644
--- a/src/engage/user-subscriptions/subscription-sql.md
+++ b/src/engage/user-subscriptions/subscription-sql.md
@@ -3,19 +3,8 @@ title: Subscriptions with SQL Traits
 plan: engage-premier
 beta: true
 ---
-> info ""
-> Engage Premier entered an End of Sale (EOS) period effective  June 10, 2024. Existing Segment customers will continue to have access and support to Engage Premier until an end-of-life (EOL) date is announced. We recommend exploring the following pages in preparation of a migration or future MCM needs:
-> 
->[Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns)
->
->Preferred ISV Partners:
->
->[Airship Blog](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"} <br>
->[Bloomreach Blog](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"} <br>
->[Braze Blog](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"} <br>
->[Insider Blog](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"} <br>
->[Klaviyo Blog](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"} <br>
->[Twilio Engage Foundations Documentation](/docs/engage/quickstart/) <br>
+> info "Engage Premier End of Sale"
+> Engage Premier entered an End of Sale (EOS) period effective June 10, 2024 and is no longer available for new customers. Existing Segment customers have access to and support for Engage Premier until Segment announces an end-of-life (EOL) date. Segment recommends exploring [Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns){:target="_blank"}, as well as Segment's preferred ISV partners, including [Airship](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"}, [Braze](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"}, [Klaviyo](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"}, [Bloomreach](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"}, and [Insider](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"}.
 
 Use Subscriptions with SQL Traits to connect to your data warehouse and query user subscription data to Engage on a scheduled basis. Use your data warehouse as a single source of truth for subscription statuses and query from warehouses such as BigQuery, Redshift, or Snowflake.
 
diff --git a/src/engage/user-subscriptions/subscription-states.md b/src/engage/user-subscriptions/subscription-states.md
index 4e7778abe3..956bd8e11e 100644
--- a/src/engage/user-subscriptions/subscription-states.md
+++ b/src/engage/user-subscriptions/subscription-states.md
@@ -2,19 +2,8 @@
 title: User Subscription States
 plan: engage-premier
 ---
-> info ""
-> Engage Premier entered an End of Sale (EOS) period effective  June 10, 2024. Existing Segment customers will continue to have access and support to Engage Premier until an end-of-life (EOL) date is announced. We recommend exploring the following pages in preparation of a migration or future MCM needs:
-> 
->[Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns)
->
->Preferred ISV Partners:
->
->[Airship Blog](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"} <br>
->[Bloomreach Blog](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"} <br>
->[Braze Blog](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"} <br>
->[Insider Blog](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"} <br>
->[Klaviyo Blog](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"} <br>
->[Twilio Engage Foundations Documentation](/docs/engage/quickstart/) <br>
+> info "Engage Premier End of Sale"
+> Engage Premier entered an End of Sale (EOS) period effective June 10, 2024 and is no longer available for new customers. Existing Segment customers have access to and support for Engage Premier until Segment announces an end-of-life (EOL) date. Segment recommends exploring [Twilio Marketing Campaigns](https://www.twilio.com/en-us/sendgrid/marketing-campaigns){:target="_blank"}, as well as Segment's preferred ISV partners, including [Airship](https://www.twilio.com/en-us/blog/airship-integrated-customer-experience){:target="_blank"}, [Braze](https://www.twilio.com/en-us/blog/braze-conversational-marketing-campaigns){:target="_blank"}, [Klaviyo](https://www.twilio.com/en-us/blog/klaviyo-powering-smarter-digital-relationships){:target="_blank"}, [Bloomreach](https://www.twilio.com/en-us/blog/bloomreach-ecommerce-personalization){:target="_blank"}, and [Insider](https://www.twilio.com/en-us/blog/insider-cross-channel-customer-experience){:target="_blank"}.
 
 Customer profiles in your Segment audiences contain **contact vectors**. A contact vector is a piece of unique, specific contact information associated with a customer, like the customer's email address or phone number.
 
diff --git a/src/guides/regional-segment.md b/src/guides/regional-segment.md
index 8c2e1b05a3..c58c76479b 100644
--- a/src/guides/regional-segment.md
+++ b/src/guides/regional-segment.md
@@ -9,65 +9,157 @@ redirect_from:
 
 On July 10, 2023, the European Commission adopted the Adequacy Decision for the EU-US Data Privacy Framework ([DPF](https://commission.europa.eu/document/fa09cbad-dd7d-4684-ae60-be03fcb0fddf_en){:target="_blank"}). This concludes that EU personal data transferred to the United States under the DPF is adequately protected when compared to the protection in the EU. With this adequacy decision in place, personal data can safely flow from the EU to US companies participating in the DPF without additional safeguards in place.
 
-Twilio is certified under the DPF and relies on the DPF as its primary personal data transfer mechanism for EU-US personal data transfer. Twilio will rely on the DPF for any Swiss-US personal data transfers as soon as a corresponding Swiss adequacy decision is made. Twilio understands that interpretations of data residency are multi-faceted and some customers might still want their data to reside in the EU. Twilio Segment therefore offers a data residency solution outside of the DPF.
+Twilio is certified under the DPF and relies on it as the primary mechanism for EU–US personal data transfers. Twilio will also rely on the DPF for Swiss–US transfers once a corresponding Swiss adequacy decision is in place. Twilio understands that interpretations of data residency are multi-faceted and some customers might still want their data to reside in the EU.
 
-Segment offers customers the option to lead on data residency by providing regional infrastructure in both Europe and the United States. The default region for all users is in Oregon, United States. You can configure workspaces to use the EU West Data Processing Region to ingest (for supported sources), process, filter, deduplicate, and archive data through Segment-managed archives hosted in AWS S3 buckets located in Dublin, Ireland. The regional infrastructure has the same [rate limits and SLA](/docs/connections/rate-limits/) as the default region.
+While the DPF enables compliant transfers, some customers may still require that their data remain within the EU. For those cases, Twilio Segment offers a data residency solution outside of the DPF.
 
-## Regional Data Ingestion
+Segment provides regional infrastructure in both the United States and Europe. By default, new workspaces use U.S. infrastructure (based in Oregon). 
+
+If you need EU data residency, you must either create a workspace in the EU or request a migration for an existing workspace. Only EU workspaces store data exclusively in the EU.
+
+## Ingestion behavior and failover
 
 Regional Data Ingestion enables you to send data to Segment from both Device-mode and Cloud-mode sources through regionally hosted API ingest points. The regional infrastructure can fail-over across locations within a region, but never across regions.
 
-### Cloud-event sources
+## Set up your sources for EU or US workspaces
 
-{% include content/eu-cloud-event-sources.html %}
+Some Segment SDKs require specific endpoint configuration to send data to the correct regional infrastructure. This section provides setup details for mobile SDKs, server-side SDKs, custom integrations, and supported cloud sources.
 
-### Client-side sources
-You can configure Segment's client-side SDKs for JavaScript, iOS, Android, and React Native sources to send data to a regional host after you've updated the Data Ingestion Region in that source's settings. Segment's EU instance only supports data ingestion from Dublin, Ireland with the `events.eu1.segmentapis.com/` endpoint. If you are using the Segment EU endpoint with an Analytics-C# source, you must manually append `v1` to the URL. For instance, `events.eu1.segmentapis.com/v1`.
+> info "Using Analytics.js?"
+> Segment's Analytics.js SDK automatically uses the latest source settings, including the correct ingestion endpoint. You don't need to configure a regional endpoint manually for this SDK.
 
-> info ""
-> For workspaces that use the EU West Data Processing region, the Dublin Ingestion region is preselected for all sources.
+### SDK configuration summary
 
-To set your Data Ingestion Region:
+Use this table as a reference to determine how to configure your source or SDK to send data to the correct endpoint:
 
-1. Go to your source.
-2. Select the **Settings** tab.
-3. Click **Regional Settings**.
-4. Choose your **Data Ingestion Region**.
-    - If you're in the *US West* data processing region, you can select from: Dublin, Singapore, Oregon, and Sydney.
-    - If you're in the *EU West* data processing region, Segment's EU instance only supports data ingestion from Dublin with the `events.eu1.segmentapis.com/` endpoint.
+| Integration                       | Endpoint configuration                                                          | Notes                                                                                                                                                        |
+| --------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| iOS / Android / Flutter / Xamarin | `apiHost: "events.eu1.segmentapis.com/v1"`                                      | Set directly in SDK config                                                                                                                                   |
+| React Native                      | `proxy: "https://events.eu1.segmentapis.com/v1"`<br>`useSegmentEndpoints: true` | Both values are required for proper routing                                                                                                                  |
+| Node.js / Python / Java           | `host: "https://events.eu1.segmentapis.com"`                                    | Do **not** include `/v1` in host for these SDKs                                                                                                              |
+| C# SDK                            | `host: "https://events.eu1.segmentapis.com/v1"`                                 | Manually append `/v1` to the host URL                                                                                                                        |
+| Custom HTTP requests              | `https://events.eu1.segmentapis.com/v1`                                         | Write key must belong to an EU workspace                                                                                                                     |
+| Cloud sources                     | No configuration required                                                       | Only [Amazon S3](/docs/connections/sources/catalog/cloud-apps/amazon-s3) and [Iterable](/docs/connections/sources/catalog/cloud-apps/iterable) are supported |
 
-All regions are configured on a **per-source** basis. You'll need to configure the region for each source separately if you don't want to use the default region.
+### Configuring Segment sources for mobile SDKs
+
+To send data from mobile apps to the correct region, you have to update your SDK configuration to use the right endpoint. You must do this even if your source settings are already configured in Segment itself.
+
+> warning "Use the correct endpoint"
+> Beginning April 3, 2025, Segment will reject data sent to the wrong region. Make sure your mobile SDK is configured to send data to the correct endpoint for your workspace region.
+
+Segment's EU instance only accepts data through its Dublin-based endpoint:
+
+```
+https://events.eu1.segmentapis.com/v1
+```
+
+#### Mobile SDK configuration examples
+
+Use the examples in this section to configure mobile SDKs to point to the EU endpoint. These examples use JavaScript-style syntax for clarity. Refer to your platform's documentation for exact implementation.
+
+{% codeexample %}
+{% codeexampletab iOS/Android/Xamarin/Flutter %}
+```js
+const analytics = new Analytics({
+  writeKey: '<YOUR_WRITE_KEY>', // Required: your source's write key from Segment
+  apiHost: "events.eu1.segmentapis.com/v1", // Routes data through EU endpoint
+  // You can also configure options like flushInterval, debug, or storage providers
+})
+```
+{% endcodeexampletab %}
+
+{% codeexampletab React Native %}
+```js
+const analytics = new Analytics({
+  writeKey: '<YOUR_WRITE_KEY>', // Required: must belong to an EU workspace
+  proxy: "https://events.eu1.segmentapis.com/v1", // Required for EU data routing
+  useSegmentEndpoints: true, // Ensures proxy is used instead of default US host
+  // You can also set options like flushInterval or trackAppLifecycleEvents
+})
+```
+{% endcodeexampletab %}
+{% endcodeexample %}
+
+If you're using the Segment EU endpoint with the [Analytics-C# source](/docs/connections/sources/catalog/libraries/server/csharp/), you must manually append `/v1` to the URL (like `events.eu1.segmentapis.com/v1`).
+
+For workspaces using the `EU WEST` data processing region, the Dublin ingestion region is preselected for all sources.
+
+Once you finish updating your SDK(s), make sure your [source settings in Segment](#updating-source-settings-in-segment) also reflect the correct region. 
 
-All Segment client-side SDKs read this setting and update themselves automatically to send data to new endpoints when the app reloads. You don't need to change code when you switch regions.
+### Configure server-side and custom Segment sources 
 
-### Server-side and project sources
-When you send data from a server-side or project source, you can use the `host` configuration parameter to send data to the desired region:
-1. Oregon (Default) — `https://events.segmentapis.com/v1`
-2. Dublin — `https://events.eu1.segmentapis.com/`
+If you're using Segment’s server-side SDKs (like Node.js, Python, and Java) or making direct HTTP API requests, you’ll need to update the endpoint your data is sent to. This is required to match your workspace’s region and avoid rejected traffic.
 
-> success ""
-> If you are using the Segment EU endpoint with an Analytics-C# source, you must manually append `v1` to the URL. For instance, `events.eu1.segmentapis.com/v1`.
+> warning "Use the correct endpoint"
+> Beginning April 3, 2025, Segment will reject data sent to the wrong region. Make sure your server-side SDKs and custom integrations are configured to send data to the correct endpoint for your workspace region.
 
-Here is an example of how to set the host:
+#### Server-side SDK configuration examples
 
-```json
-Analytics.Initialize("<YOUR WRITEKEY HERE>", new Config().SetHost("https://events.eu1.segmentapis.com (https://events.eu1.segmentapis.com/)"));
+Use this example to configure server-side SDKs like Node.js, Python, and Java:
+
+```js
+// Example configuration — adjust for your SDK's syntax
+const analytics = new Analytics({
+  writeKey: '<YOUR_WRITE_KEY>', // Required: must belong to an EU workspace
+  host: "https://events.eu1.segmentapis.com", // EU endpoint — do not include /v1 for these SDKs
+  // You can configure other options like flushInterval or request retries
+})
 ```
 
+> info "Endpoint format for server-side SDKs"
+> Most SDKs handle the `/v1` path internally. However, only the C# SDK and custom HTTP requests require you to add `/v1` manually, like `https://events.eu1.segmentapis.com/v1`.
+
+#### Custom HTTP requests
+
+If you're sending data using custom HTTP requests or through a proxy and you’ve reused a write key originally issued for a US-based workspace, you’ll need to do the following:
+
+- Update your request target to: `https://events.eu1.segmentapis.com/v1`.
+- Make sure the write key belongs to an EU workspace.
+
+**Data sent to the EU endpoint using a US-region write key will get rejected**.
+
+### Cloud-event sources
+
+{% include content/eu-cloud-event-sources.html %}
+
+Segment maintains and hosts these sources, and they don't require SDK-level configuration. 
+
+If you're using other cloud sources not listed here, they may only be available in US-based workspaces. Reach out to Segment Support if you're unsure whether a cloud source is supported in the EU.
+
+## Updating source settings in Segment
+
+After you’ve configured your SDKs or custom integrations, double-check that your source settings in Segment are using the correct regional endpoint.
+
+To set your data ingestion region:
+
+1. Go to your source's **Settings** tab.
+2. Click **Regional Settings**.
+3. Choose your **Data Ingestion Region**.
+    - If your workspace is in the *US West* data processing region, you can select from: Dublin, Singapore, Oregon, or Sydney.
+    - If your workspace is in the *EU West* data processing region, Segment only supports ingestion from Dublin, using the `events.eu1.segmentapis.com/` endpoint.
+4. Save your changes.
+
+All regions are configured on a **per-source** basis. You'll need to configure the region for each source separately if you don't want to use the default region.
+
+Segment’s client-side SDKs automatically fetch this setting and update themselves the next time the app reloads. However, for mobile apps and critical regional routing, Segment recommends also [setting the endpoint manually in your SDK configuration](#set-up-your-sources-for-eu-or-us-workspaces.
+
 ## Create a new workspace with a different region
 
 > info ""
 > Use [this form](https://segment.typeform.com/to/k5ADnN5e#user_id=xxxxx){:target="_blank"} if you need to transition from your existing US-based workspace to an EU workspace.
 
-To create a workspace with a different data processing region, reach out your Segment account executive, and they will assist you with enabling the feature. Once the feature has been enabled, you'll be able to self-serve and create a new workspace in a different data processing region by following these steps:
+Segment workspaces use US data residency by default. If you need EU data residency, reach out to your Segment account executive to enable EU workspace creation. Once the feature is enabled, you can create a new EU workspace by following these steps:
 
 1. Log in to your Segment account.
 2. Click **New Workspace**.
-3. Select your **Data processing region**. This determines the location in which Segment collects, processes, and stores data that's sent to and from your workspace. You can choose from *US West* or *EU West*.
+3. Select your **Data processing region**. This determines where Segment collects, processes, and stores the data sent to and from your workspace. You can choose between US West and EU West.
 4. Click **Create workspace**.
 
 > info ""
-> Once you create a workspace with a specified data processing region, you can't change the region. You must create a new workspace to change the region.
+> Once you create a workspace, you can't change its data processing region. You’ll need to create a new workspace if you want to switch regions.
+
+Sources within EU workspaces deliver Segment data to EU-based AWS storage. 
 
 ## EU Storage Updates
 ### Segment Data Lakes (AWS)
diff --git a/src/monitor/alerts/default-alerts.md b/src/monitor/alerts/default-alerts.md
new file mode 100644
index 0000000000..bd20b502e8
--- /dev/null
+++ b/src/monitor/alerts/default-alerts.md
@@ -0,0 +1,134 @@
+---
+title: Default Alerts
+---
+
+Segment's default alerts have a preset trigger and are often used to detect changes users make to the integrations in your workspace.
+
+On the **Monitor** tab, you can see all of your alerts, separated by product area, in a tabular format.
+
+> info "Only Workspace Owners can view and edit all alerts"
+> Users with other roles can see all alerts in a workspace, but can only edit or see the configured details for alerts that they created.
+
+You can create alerts for the following product areas: 
+- [Sources](#source-alerts)
+- [Destinations](#destination-alerts)
+- [Storage Destinations](#storage-destination-alerts)
+- [Protocols](#protocols-alerts)
+- [Unify](#unify-alerts) 
+- [Engage](#engage-alerts)
+- [Functions](#functions-alerts)
+- [Reverse ETL](#reverse-etl-alerts)
+- [Data Graph](#data-graph-alerts)
+
+The Alerting table includes the following information about each event: 
+- **Alert name**: The type of alert, for example, "Audience created" or "Audience deleted".
+- **Last triggered**: The most recent date and time, in your local time zone, that the alert was triggered. 
+- **Status**: Either **enabled**, if the alert is currently configured in your workspace, or **disabled**, if you're not configured to receive alerts for an event.
+- **Notification channels**: Icons describing what notification channels you'll receive the alerts on - through a Slack webhook, email, or in-app notification.
+- **Actions**: By selecting the menu icon for an individual alert, you can edit or delete it from the Alerting page.
+
+## Create a new alert
+
+To create a new alert: 
+1. From the Segment app, navigate to the **Monitor** tab and select **Alerts**. 
+2. On the **Default** tab, identify the event you'd like to be alerted for and select the menu icon under the **Actions** tab. 
+3. Click **Enable alert**. 
+
+## Alert descriptions
+
+View a brief description of each alert type. 
+
+### Source alerts
+- **New Event Blocked**: Segment blocked an event not previously specified in your [Source Schema](/docs/connections/sources/schema/) from entering a downstream destination. 
+- **New Forbidden Event Property**: Segment blocked an event property that was not specified in your [Source Schema](/docs/connections/sources/schema/) from entering a downstream destination.
+- **Source Created**: A user in your workspace created a new source.
+- **Source Deleted**: A user in your workspace deleted a source. 
+- **Source Disabled**: A source was disabled, either by a user in your workspace or by Segment. Segment automatically disables a source after 14 days if the source isn't connected to an enabled destination. 
+- **Source Run Failed**: After Segment fails to extract data from your source 3 consecutive times, you'll be notified. 
+- **Source Settings Modified**: A user in your workspace modified the settings for one of your sources.
+
+> info "Custom Source alerts"
+> During the Monitor public beta, you can configure custom [source volume alerts](/docs/connections/alerting/#source-volume-alerts), but these alerts won't appear in the Monitor tab. 
+
+## Destination alerts
+- **Destination Disabled**: A user in your workspace disabled a destination. 
+- **Destination Enabled**: A user in your workspace enabled a destination. 
+- **Destination Filter Created**: A user in your workspace created a [destination filter](/docs/connections/destinations/destination-filters/). 
+- **Destination Filter Deleted**: A user in your workspace deleted a [destination filter](/docs/connections/destinations/destination-filters/). 
+- **Destination Filter Disabled**: A user in your workspace disabled a [destination filter](/docs/connections/destinations/destination-filters/). 
+- **Destination Filter Enabled**: A user in your workspace enabled a [destination filter](/docs/connections/destinations/destination-filters/). 
+- **Destination Filter Modified**: A user in your workspace modified a [destination filter](/docs/connections/destinations/destination-filters/). 
+- **Destination Modified**: A user in your workspace made changes to a destination. 
+
+> info "Custom Destination alerts"
+> During the Monitor public beta, you can configure custom [Successful delivery rate alerts](/docs/connections/alerting/#successful-delivery-rate-alerts), but these alerts won't appear in the Monitor tab. 
+
+## Storage Destination alerts
+- **Storage Destination Created**: A user in your workspace created a new instance of a storage destination. 
+- **Storage Destination Deleted**: A user in your workspace deleted a storage destination. 
+- **Storage Destination Disabled**: A user in your workspace disabled a storage destination. 
+- **Storage Destination Modified**: A user in your workspace modified an existing storage destination. 
+- **Storage Destination Sync Failed**: Segment failed to sync any rows of data from your source to your storage destination. 
+- **Storage Destination Sync Partially Succeeded**: Segment encountered some notices and was only able to sync some of your data from your source to your storage destination. 
+- **Storage Destination Sync Skipped**: Segment skipped a scheduled sync to your storage destination. This might happen if the previous sync wasn't complete by the time the next sync was scheduled to begin. 
+
+
+## Protocols alerts
+- **Source Connected To Tracking Plan**: A user in your workspace connected a source to one of your Tracking Plans. 
+- **Source Disconnected From Tracking Plan**: A user in your workspace disconnected a source from one of your Tracking Plans. 
+- **Tracking Plan Created**: A user in your workspace created a new Tracking Plan. 
+- **Tracking Plan Deleted**: A user in your workspace deleted a Tracking Plan. 
+- **Tracking Plan Inferred**: Segment inferred the data type for an event. 
+- **Tracking Plan Modified**: A user in your workspace modified a Tracking Plan. 
+- **Tracking Plan New Event Allowed**: An unplanned event was allowed by your [Schema Controls](/docs/protocols/enforce/schema-configuration/). 
+- **Tracking Plan New Event Blocked**: An unplanned event was allowed by your [Schema Controls](/docs/protocols/enforce/schema-configuration/). 
+- **Tracking Plan New Group Trait Omitted**: A new trait attached to a Group call was was omitted from an event. 
+- **Tracking Plan New Identify Trait Omitted**: A new trait attached to a [Identify call was was omitted from an event](/docs/protocols/enforce/schema-configuration/#identify-calls---unplanned-traits). 
+- **Tracking Plan New Track Property Omitted**: A new trait attached to a [Track call was was omitted from an event](/docs/protocols/enforce/schema-configuration/#track-calls---unplanned-properties). 
+- **Violations Detected**: Segment detected [data that does not confirm to your Tracking Plan](/docs/protocols/validate/forward-violations/). 
+
+## Unify alerts
+- **Computed Trait CSV Downloaded**: A user in your workspace [downloaded a CSV file of all users that have a Computed Trait](/docs/unify/Traits/computed-traits/#downloading-your-computed-trait-as-a-csv-file). 
+- **Computed Trait Created**: A user in your workspace created a new [Computed Trait](/docs/unify/Traits/computed-traits/#types-of-computed-traits). 
+- **Computed Trait Deleted**: A user in your workspace deleted an existing [Computed Trait](/docs/unify/Traits/computed-traits/#types-of-computed-traits).
+- **Computed Trait Destination Sync Failed**: Segment failed to sync [Computed Trait generated events](/docs/engage/using-engage-data/#computed-trait-generated-events) with your downstream destination. 
+- **Computed Trait Modified**: A user in your workspace made changes to an existing Computed Trait. 
+- **Computed Trait Run Failed**: Segment was unable to compute your trait. To resolve this error, please [contact Segment support](https://segment.com/help/contact/){:target="_blank”}. 
+- **Profiles Sync Historical Backfill Completed**: Segment completed [backfilling profile data from your data warehouse](/docs/unify/profiles-sync/profiles-sync-setup/#using-historical-backfill).
+- **Profiles Sync Warehouse Created**: A user in your workspace [connected a data warehouse to Profiles Sync](/docs/unify/profiles-sync/profiles-sync-setup/#step-2-connect-the-warehouse-and-enable-profiles-sync). 
+- **Profiles Sync Warehouse Deleted**: A user in your workspace [deleted the data warehouse connected to Profiles Sync](/docs/unify/profiles-sync/profiles-sync-setup/#disable-or-delete-a-warehouse). 
+- **Profiles Sync Warehouse Disabled**: A user in your workspace [disabled the data warehouse connected to Profiles Sync](/docs/unify/profiles-sync/profiles-sync-setup/#disable-or-delete-a-warehouse). 
+- **Profiles Sync Warehouse Modified**: A user in your workspace [modified the data warehouse connected to Profiles Sync](/docs/unify/profiles-sync/profiles-sync-setup/#settings-and-maintenance). 
+- **Profiles Sync Warehouse Sync Failed**: Segment failed to sync any of 
+your identity-resolved profiles to your data warehouse. 
+- **Source Connected To Space**: A user in your workspace connected a source to your Unify space. 
+- **Source Disconnected From Space**: A user in your workspace disconnected a source from your Unify space. 
+
+## Engage alerts
+- **Audience CSV Downloaded**: A user in your workspace [downloaded an Audience as a CSV file](/docs/engage/audiences/#download-your-audience-as-a-csv-file). 
+- **Audience Created**: A user in your workspace [created a new Audience](/docs/engage/audiences/#building-an-audience).
+- **Audience Deleted**: A user in your workspace deleted an Audience.
+- **Audience Destination Sync Failed**: Segment was unable to sync your Audience with a connected destination. 
+- **Audience Modified**: A user in your workspace modified an Audience.
+- **Audience Run Failed**: Segment was unable to compute your Audience. To resolve this error, please [contact Segment support](https://segment.com/help/contact/){:target="_blank”}.
+
+> info "Custom Engage alerts"
+> During the Monitor public beta, you can configure custom [Activation event health spikes or drops](/docs/engage/audiences/#activation-event-health-spikes-or-drops) alerts, but these alerts won't appear in the Monitor tab. 
+
+## Functions alerts
+- **Destination Filter Created**: A user in your workspace created a [destination filter](/docs/connections/destinations/destination-filters/). 
+- **Destination Filter Deleted**: A user in your workspace deleted a [destination filter](/docs/connections/destinations/destination-filters/). 
+- **Destination Filter Modified**: A user in your workspace modified a [destination filter](/docs/connections/destinations/destination-filters/). 
+- **Source Function Created**: A user in your workspace created a [source function](/docs/connections/functions/source-functions/).
+- **Source Function Deleted**: A user in your workspace deleted a [source function](/docs/connections/functions/source-functions/).
+- **Source Function Modified**: A user in your workspace modified a [source function](/docs/connections/functions/source-functions/).
+
+## Reverse ETL alerts
+- **Reverse ETL Sync Failed**: Segment failed to sync any of your records from your warehouse to your downstream destination. 
+- **Reverse ETL Sync Partial Success**: Segment was able to sync some, but not all, of your records from your data warehouse with your downstream destination. 
+
+> info "Custom Reverse ETL alerts"
+> During the Monitor public beta, you can configure custom Reverse ETL alerts for [failed or partially successful syncs](/docs/connections/reverse-etl/manage-retl/#failed-or-partially-successful-syncs) and [mapping-level successful delivery rate fluctuations](/docs/connections/reverse-etl/manage-retl/#mapping-level-successful-delivery-rate-fluctuations), but these alerts won't appear in the Monitor tab. 
+
+## Data Graph alerts
+- **Data Graph Breaking Change**: A change in your warehouse broke components of your Data Graph. For more information about breaking changes, see the [Data Graph docs](/docs/unify/data-graph/#detect-warehouse-breaking-changes). 
\ No newline at end of file
diff --git a/src/monitor/alerts/index.md b/src/monitor/alerts/index.md
new file mode 100644
index 0000000000..b4f91288b8
--- /dev/null
+++ b/src/monitor/alerts/index.md
@@ -0,0 +1,19 @@
+---
+title: Alerts
+---
+Segment's alerting features allow you to receive in-app, email, and Slack notifications related to the status, performance, and throughput of your Segment integrations. 
+
+> info "Public beta"
+> The Monitor hub is in Public Beta. Some functionality may change before it becomes generally available. During the public beta, only default alerts are located in the Monitor tab. 
+
+Segment has two kinds of alerts: 
+- **Default alerts**: Alerts that have a preset threshold and are often used to detect changes users make to the integrations in your workspace. For example, a _Source created_ alert is a default alert. 
+- **Custom alerts**: Alerts that allow you to customize the sensitivity of the trigger that activates an alert so you can more accurately detect event volume fluctuations in your sources and destinations. For example, a _Source volume fluctuation_ alert would be a custom alert, as you could select a percentage of fluctuation that would work for your business needs.  
+
+{% include components/reference-button.html
+  href="/monitor/alerts/default-alerts"
+  variant="related"
+  icon="monitor.svg"
+  title="Default alerts"
+  description="Learn more about Segment's default alerts."
+%}
\ No newline at end of file
diff --git a/src/monitor/index.md b/src/monitor/index.md
new file mode 100644
index 0000000000..27b01e676d
--- /dev/null
+++ b/src/monitor/index.md
@@ -0,0 +1,18 @@
+---
+title: Monitor Overview
+---
+With Segment’s alerting capabilities, you can monitor the health of your integrations and diagnose issues that might be present in your data pipeline. <!---, and view a record of all user and system activity that happened in Segment over the past 90 days. --->
+
+Receive alerts for the performance and throughput of your Sources and Destinations, fluctuations in events delivered to your Reverse ETL mappings, and the performance and throughput of Audience syncs with Alerting. 
+
+<!---Segment’s Audit Trail provides a high-level view of all changes made in your workspace over the last 90 days. Use the Audit Trail and Audit Forwarding to quickly revert unintentional actions made in Segment to prevent downstream data loss.
+
+Select a product below to learn about its capabilities, supported destinations, and more.  --->
+
+  {% include components/reference-button.html
+    href="/docs/monitor/alerts"
+    icon="megaphone.svg"
+    title="Alerts"
+    description="Receive notifications related to the performance and throughput of a Segment connection."
+  %}
+
diff --git a/src/privacy/data-retention-policy.md b/src/privacy/data-retention-policy.md
index 4c4d0b4c9d..f4cf16e58e 100644
--- a/src/privacy/data-retention-policy.md
+++ b/src/privacy/data-retention-policy.md
@@ -29,70 +29,55 @@ Segment enforces a data retention period of up to 3 years for Business Tier cust
 
 The default data retention period for each of the data types is as follows:
 
-| Tier         | Archive Event Data Retention | Profile Event Data Retention  | Object Data Retention | Audit    | HIPAA Audit    |
-| ------------ | ---------------------------- | ---------------------------- | --------------------- | -------  | -------------- |
+| Tier         | Archive Event Data Retention | Profile Event Data Retention | Object Data Retention             | Audit    | HIPAA Audit    |
+| ------------ | ---------------------------- | ---------------------------- | --------------------------------- | -------  | -------------- |
 | **Business** | 3 years                      | 3 years                      | 180 days                          | 3 years  | 3 years        |
 | **Team**     | 365 days                     | Not applicable               | 90 days                           | 365 days | Not applicable |
 | **Free**     | 180 days                     | Not applicable               | 60 days                           | 180 days | Not applicable |
 
-Through the self-serve Data Retention configuration in your workspace, you can configure a custom data retention period through the [Workspace Default Archive Retention Period](#workspace-default-archive-retention-period) setting.
+> info ""
+> Segment calculates your data retention period for archive event and profile event data starting from the date Segment ingests an event, not from the date an event originally occurred. Object data retention periods are calculated from the date an object was last updated.
+
+Segment will unrecoverably delete a disabled [Unify Space](/docs/unify/identity-resolution/space-setup/#step-one-create-a-new-dev-space) 90 days after it was disabled.
 
 Segment recommends keeping your data for at least 30 days to enable [replays](/docs/guides/what-is-replay/) of your data.
 
 To change your data retention settings, open Segment and navigate to **Privacy > Settings > Data Retention**.
 
-### Workspace Default Archive Retention Period
-
-Select the default retention period for the workspace in this setting. This value applies to all sources in the workspace, unless overridden in the [Source-Level Archive Retention Periods](#source-level-archive-retention-periods) setting.
+### Workspace default archive retention period
 
-> warning "7 day Retention Periods will be deprecated on March 6, 2025"
-> After March 6, you will no longer be able to set your workspace's retention period to 7 days. All workspaces with 7 day retention periods will be updated to have 14 day retention periods. 
-
-You can select from the following Archive Retention time periods:
+Select the default retention period for the workspace in this setting. This value applies to all sources in the workspace.
 
 - 14 days
 - 30 days
 - 90 days
 - 180 days
 - 365 days
-- Unlimited (**default**)
-
-### Source-Level Archive Retention Periods
-
-> warning "Source-Level Archive Retention Periods will be deprecated on April 15, 2025"
-> After April 15, you will no longer be able to override your workspace's default retention period on a source-by-source basis. 
-
-Override the workspace default retention period on a per-source level.
-
-You can select from the following Archive Retention time periods:
-
-- Default (This is the default value you set in the [Workspace Default Archive Retention Period](#workspace-default-archive-retention-period))  
-- 14 days
-- 30 days
-- 90 days
-- 180 days
-- 365 days
-- Unlimited
-
+- 3 years (the default setting starting July 15, 2025)
+- Unlimited (deprecated July 15, 2025)
  
 ### What data is impacted?
 
 With this data retention policy, all data beyond the retention period is unrecoverably deleted from all of Segment and impacts the following:
 
 * [Data Replays](/docs/guides/what-is-replay/) will only be available for data within the retention period. Unify, Engage and Linked customers that replay data to recreate Unify Spaces or Profiles may encounter variations in the number of profiles, as well as in the identifiers, traits and properties associated with the profiles, depending on the data available.
-* Backfill Data is only available for data within the retention period.  
+* Backfill Data is only available for data within the retention period, when sources are connected to your warehouse.   
 * [Data residency](/docs/guides/regional-segment/) migrations across regions (US and EU) is only available for data within the retention period.  
-* Additional impacts  to Object data:  
-  * Cloud Object Data (using push) updated using the [Object API](/docs/connections/sources/catalog/libraries/server/object-api/#set), [Bulk API](/docs/connections/sources/catalog/libraries/server/object-bulk-api/), or webhook cloud sources (for example, [SendGrid](/docs/connections/sources/catalog/cloud-apps/sendgrid/#streaming) or [Mandrill](/docs/connections/sources/catalog/cloud-apps/mandrill/#streaming)): Any data older than 180 days is treated as a new record and may not contain any historic properties. To prevent loss of data properties, Segment recommends that you always send full objects with all properties.  
-  * Users and Accounts: Segment aggregates data from Identify and Group events for entities active within the last 180 days. Any data older than 180 days is treated as a new record and won't have historic properties. To prevent loss of data properties, Segment advises customers to migrate to using Profile Sync.  
+* Additional impacts to Object data:  
+  * [Object API](/docs/connections/sources/catalog/libraries/server/object-api/#set) or [Bulk API](/docs/connections/sources/catalog/libraries/server/object-bulk-api/): Object data not updated within the retention period will be deleted. Any new data will treated as a new record and may not contain any historic properties. To prevent loss of data properties, Segment recommends that you always send full objects with all properties.  
+  * Users and Accounts: Segment aggregates data from Identify and Group events into [Users and Account objects and tables for warehouse destinations](/docs/connections/storage/warehouses/schema/#warehouse-tables) object store records. Any object store records not updated in the last 180 days will be deleted from Segment's object stores. Any new data after object store records are deleted for inactivity is treated as a new object store record. If the source is connected to a Warehouse destination, object store entities are synced into [`<source>.users` and `<source>.accounts` tables](/docs/connections/storage/warehouses/schema/#warehouse-tables), and the existing record in the warehouse will be replaced with the new object store record, resulting in possible loss of attribute data. To prevent loss of attributes, Segment advises customers to migrate to using [Profiles Sync](/docs/unify/profiles-sync/overview/), always send complete Identify and Group calls, or back up your `<source>.users` and `<source>.accounts` tables. 
 * [Computed traits](/docs/unify/Traits/computed-traits/) is built using the available data within the retention period. Recreating these traits may result in different values based on the available data.  
-* [Profiles](/docs/unify/), [Engage](/docs/engage/) [Audiences](/docs/engage/audiences/) and [Journeys](/docs/engage/journeys/) that are built using Events will use available data within the retention period. Recreating these may result in different Profiles based on the available data. Depending on how the conditions are defined, Profiles may or may not exit Computed traits, Engage Audiences, and Journeys due to the data retention policy, and this may result in mismatches in counts when comparing against a preview.
+* [Profiles](/docs/unify/), [Engage](/docs/engage/) [Audiences](/docs/engage/audiences/) and [Journeys](/docs/engage/journeys/) that are built using Events will use available data within the retention period. Recreating these may result in different Profiles based on the available data. 
+  * [Real Time Computation](/docs/engage/audiences/#refresh-real-time-audiences-and-traits) (Audiences, Computed Traits, Journeys): When backfilling with historical data, backfill will use available data within the retention period. Once a computation is live, events that are removed due to data retention will not cause Profiles to enter/exit audiences and will not cause computed trait value changes. However, if you edit the definition or disable then re-enable them, this will cause the computation to re-backfill, which will cause Profiles to enter/exit audiences and computed trait value to change.
+  * [Batch Computation](/docs/engage/audiences/#real-time-compute-compared-to-batch) (Audiences, Computed Traits): Batch computation always computes based on available data, events removed due to data retention will cause Profile to enter/exit an Audience or computed trait values to change.
+
 
 ### What data is not impacted?
 
 With this policy the following data is not impacted, but may be subject to other policies:
 
-* **Cloud Object Data (using pull)**: This involves Segment fetching object data from third party Cloud Sources. Since Segment always fetches the full objects, the retention policy will have no impact.  
+* **[Object Cloud Sources](/docs/connections/sources/#object-cloud-sources)**: Segment fetches complete object data from third party Object Cloud Sources. Objects older than the retention period will be deleted. However, since Segment always fetches the complete object, Objects deleted will be fetched and made available again. 
+  * [SendGrid](/docs/connections/sources/catalog/cloud-apps/sendgrid/) is both an Event Source and Object Source, therefore Events from SendGrid have retention period applicable to Archive and Profile stores while Objects from SendGrid have retention period applicable to the Object store retention period.
 * **Profiles**: Unify Profiles, Identifiers, and Traits created are not subject to this data retention policy.   
 * **Third Party Destinations**: Data in your third party destinations shared by Segment in the course of your implementation remains unaffected. Data stored in a third party system may be subject to the data retention policy of that system.    
 * Anything a user creates in the Segment App, like Audiences, Journeys, Data Graphs, Connections, and more, **are not subject to this data retention policy**.
@@ -149,4 +134,4 @@ Segment unrecoverably deletes the workspace after 30 days of inactivity, unless
 
 ### Data deletion delays
 
-When data reaches the end of its retention period, deletion is scheduled in accordance with Segment’s data retention policy. While Segment aims to complete the deletion process promptly, there may be occasional delays due to processing times or technical constraints. Segment is committed to initiating data deletions as soon as possible and strives to complete deletions within 7 days of the scheduled date.
+When data reaches the end of its retention period, deletion is scheduled in accordance with Segment’s data retention policy. While Segment aims to complete the deletion process promptly, there may be occasional delays due to processing times or technical constraints. Segment is committed to initiating data deletions as soon as possible and strives to complete deletions within 7 days of the scheduled date.
\ No newline at end of file
diff --git a/src/segment-app/extensions/dbt.md b/src/segment-app/extensions/dbt.md
index c22a932f68..4d338ebd97 100644
--- a/src/segment-app/extensions/dbt.md
+++ b/src/segment-app/extensions/dbt.md
@@ -28,6 +28,7 @@ To set up the dbt extension, you'll need:
 
 - an existing dbt account with a Git repository
 - for job syncs, dbt cloud with jobs already created
+- a user with Workspace Owner permissions in Segment
 
 ### Git repository and dbt Models setup
 
diff --git a/src/segment-app/extensions/git.md b/src/segment-app/extensions/git.md
index 04b87ed6c9..5dae126d31 100644
--- a/src/segment-app/extensions/git.md
+++ b/src/segment-app/extensions/git.md
@@ -4,9 +4,12 @@ title: Git Sync Extension
 
 Segment's Git extension lets you manage versioning by syncing changes you make in your Segment workspace to a Git repository.
 
-Git Sync supports one-way synchronization from Segment to Git. This sync captures the current state of your workspace through a full sync and includes all new records and changes for supported resources.
+Git Sync supports synchronization from Segment to Git. When you sync data from Segment to Git, you capture the current state of your workspace through a full sync and includes all new records and changes for supported resources. 
 
-Segment doesn't support syncing changes from Git back to Segment.
+You can use [bidirectional sync](#bidirectional-sync) to sync data from Git to Segment. After you enable bidirectional sync, Segment automatically listens for pull requests in your repository and manages all related workspace changes.
+
+> info "Bidirectional sync is in Private Beta"
+> Bidirectional sync is in private beta, and Segment is actively working on this feature. Some functionality may change before it becomes generally available.
 
 ## Set up Git Sync
 
@@ -84,6 +87,48 @@ To manage Segment resources using Git and Terraform, follow these steps:
 
 For more information on using Terraform, visit [Terraform's documentation](https://developer.hashicorp.com/terraform/docs){:target="_blank"}.
 
+## Bidirectional Sync
+
+Bidirectional sync builds on top of the Git Sync extension and lets you manage your Segment workspace directly in GitHub. After you configure and enable bidirectional sync, Segment automatically listens for pull requests in your repository and manages all related workspace changes. Segment only applies changes when you comment `segment apply` on pull requests that can be successfully merged.
+
+> info "Bidirectional sync is in Private Beta"
+> Bidirectional sync is in private beta, and Segment is actively working on this feature. Some functionality may change before it becomes generally available.
+
+Bidirectional sync only supports: 
+- Explicit values ([secrets](#use-secrets-with-bidirectional-sync) require additional configuration)
+- [Segment resources compatible with Git sync](#working-with-git-sync)
+
+Bidirectional sync does not support variables, references to other resources, or resources from other providers.
+
+> warning "Bidirectional sync can lead to broad workspace changes, including data loss"
+> When using bidirectional sync to manage your Segment resources, verify that your specified plan matches the changes you expected. Unexpected changes can include data loss.
+
+### Set up bidirectional sync
+
+To set up bidirectional sync in your workspace: 
+
+1. **Navigate to the Git Sync settings page to verify that your Git Sync integration is set up with Segment's GitHub App integration.** If it isn't, you can change the connection type under **Settings > Extensions > Git Sync > Manage Configuration**. If you were previously using the GitHub App integration, you might need to accept additional GitHub permissions that allow Segment to listen for the relevant events. 
+2. **Add branch protection to your GitHub repository**. You can update your branch protections by opening GitHub and navigating to **Settings > Rules > Rulesets** and adding the Segment Extensions app to the **Bypass list**. 
+3. **Navigate to the Segment app and enable Git sync bidirectional sync.** From the Segment app, navigate to **Settings > Extentions > Git Sync** page and enable the **Git sync bidirectional sync** setting. 
+
+### Use bidirectional sync
+
+To apply changes to your workspace using bidirectional sync: 
+
+1. Create a branch off of the branch specified in your Git Sync configuration, make the changes you'd like to see in your workspace, then submit a pull request with your changes.
+    - To add a new resource, add a *new* configuration file to the corresponding resource directory. Segment does not support multiple resources within the same file. The name does not matter, as it will be overwritten with a new ID after Segment creates the resource. 
+2. Segment calculates the changes required to reflect those changes and outputs the planned changes to a comment directly on the pull request.
+3. Carefully double check that the planned changes match your desired changes and request approval from any stakeholders required before merging the pull request. 
+4. Run `segment apply` to apply the planned changes. 
+
+#### Use secrets with bidirectional sync
+
+To use secrets in your bidirectional sync workflow: 
+
+1. Navigate to **Settings > Extensions > Git Sync > Manage Configuration** and upload your secret to the **Secrets** table.
+2. When referencing your secret, use `@@<secret_name>@@` in place of your secret, wherever applicable. Secrets are automatically hidden in a bidirectional sync output, but if you are not using them in a designated secret field, like Source/Destination key settings, for example, they might be written in plaintext to the repository as part of the regular syncing process. 
+3. Plan and apply the changes as usual. 
+
 ## Git Connections
 
 Git Connections enable Segment to sync data with your preferred Git repository through supported like SSH and token-based authentication.
@@ -114,3 +159,4 @@ This error can occur if there are issues with your Git connection settings or pe
 - Your credentials have write access to the Git repository, as Segment requires this to sync changes.
 - Your repository is hosted by GitHub, GitLab, or Bitbucket (Segment doesn't support self-hosted repositories).
 - Branch protections are disabled on the repository.
+
diff --git a/src/unify/Traits/predictions/index.md b/src/unify/Traits/predictions/index.md
index 69e61c00ea..8a97918676 100644
--- a/src/unify/Traits/predictions/index.md
+++ b/src/unify/Traits/predictions/index.md
@@ -88,7 +88,7 @@ This table lists the requirements for a trait to compute successfully:
 | Event Types                  | Track at least 5 different event types in the Feature Window.                               |
 | Historical Data              | Ensure these 5 events have data spanning 1.5 times the length of the Target Window. For example, to predict a purchase propensity over the next 60 days, at least 90 days of historical data is required. |
 | Subset Audience (if applicable) | Ensure the audience contains more than 1 non-anonymous user.                                 |
-| User Limit                   | Ensure that you are making a prediction for fewer than 20 million users. If you track more than 20 million users in your space, define a smaller audience in the **Make a Prediction For** section of the custom predictions builder. |
+| User Limit                   | Ensure that you are making a prediction for fewer than 10 million users. If you track more than 10 million users in your space, define a smaller audience in the **Make a Prediction For** section of the custom predictions builder. |
 | User Activity                | At least 100 users performing the Target Event and at least 100 users not performing the Target Event. |
 
 #### Selecting events (optional)
diff --git a/src/unify/data-graph/index.md b/src/unify/data-graph/index.md
index 242e9e5f10..4860be27e1 100644
--- a/src/unify/data-graph/index.md
+++ b/src/unify/data-graph/index.md
@@ -19,6 +19,7 @@ To use the Data Graph, you'll need the following:
 - Workspace Owner or Unify Read-only/Admin and Entities Admin permissions
 - For Linked Audiences, set up [Profiles Sync](/docs/unify/profiles-sync/) in a Unify space with ready-to-use [data models and tables](/docs/unify/profiles-sync/tables/) in your warehouse. When setting up selective sync, Segment recommends the following settings: 
   - Under **Profile materialized tables**, select all the tables (`user_identifier`, `user_traits`, `profile_merges`) for faster and more cost-efficient Linked Audiences computations in your data warehouse.
+  - **Make sure to include the unmaterialized tables as well**. Segment needs them during setup to understand your schema.
   - Under **Track event tables**, select **Sync all Track Call Tables** to enable filtering on event history for Linked Audiences conditions.
 
 > info ""
@@ -29,7 +30,7 @@ To use the Data Graph, you'll need the following:
 > Data Graph, Reverse ETL, and Profiles Sync require different warehouse permissions.
 
 To get started with the Data Graph, set up the required permissions in your warehouse. Segment supports the following: 
-- Linked Audiences: [BigQuery](/docs/unify/data-graph/setup-guides/BigQuery-setup/), [Databricks](/docs/unify/data-graph/setup-guides/databricks-setup/), and [Snowflake](/docs/unify/data-graph/setup-guides/snowflake-setup/) 
+- Linked Audiences: [BigQuery](/docs/unify/data-graph/setup-guides/BigQuery-setup/), [Databricks](/docs/unify/data-graph/setup-guides/databricks-setup/), [Redshift](/docs/unify/data-graph/setup-guides/redshift-setup/), and [Snowflake](/docs/unify/data-graph/setup-guides/snowflake-setup/)
 - Linked Events: [BigQuery](/docs/unify/data-graph/setup-guides/BigQuery-setup/), [Databricks](/docs/unify/data-graph/setup-guides/databricks-setup/), [Redshift](/docs/unify/data-graph/setup-guides/redshift-setup/), and [Snowflake](/docs/unify/data-graph/setup-guides/snowflake-setup/) 
 
 To track the data sent to Segment on previous syncs, Segment uses [Reverse ETL](/docs/connections/reverse-etl/) infrastructure to store diffs in tables within a dedicated schema called `_segment_reverse_etl` in your data warehouse. You can choose which database or project in your warehouse this data lives in. 
@@ -107,8 +108,8 @@ data_graph {
       primary_key = "SUB_ID"
     }
   
-    # Define the profile entity, which corresponds to Segment Profiles tables synced via Profiles Sync
-    # Recommend setting up Profiles Sync materialized views to optimize warehouse compute costs
+    # Define the profile entity, which corresponds to Segment Profiles tables synced with Profiles Sync
+    # Use materialized views in Profiles Sync to reduce query costs and speed things up
     profile {
       profile_folder = "PRODUCTION.SEGMENT"
       type = "segment:materialized"
@@ -118,7 +119,7 @@ data_graph {
       relationship "user-accounts" {
         name = "Premium Accounts"
         related_entity = "account-entity"
-        # Join the profile entity with an identifier (e.g. email) on the related entity table
+        # Join the profile entity with an identifier (like email) on the related entity table
         # Option to replace with the trait block below to join with a profile trait on the entity table instead
         external_id {
           type = "email"
@@ -126,14 +127,14 @@ data_graph {
         }
   
         # Define 1:many relationship between accounts and carts
-        # e.g. an account can be associated with many carts
+        # for example, an account can be associated with many carts
         relationship "user-carts" {
           name = "Shopping Carts"
           related_entity = "cart-entity"
           join_on = "account-entity.ID = cart-entity.ACCOUNT_ID"
     
           # Define many:many relationship between carts and products
-          # e.g. there can be multiple carts, and each cart can be associated with multiple products
+          # for example, there can be multiple carts, and each cart can be associated with multiple products
           relationship "products" { 
             name = "Purchased Products"
             related_entity = "product-entity"
@@ -157,7 +158,7 @@ data_graph {
         }
   
         # Define 1:many relationship between households and subscriptions
-        # e.g. a household can be associated with multiple subscriptions
+        # for example, a household can be associated with multiple subscriptions
         relationship "user-subscriptions" {
           name = "Subscriptions"
           related_entity = "subscription-entity"
@@ -203,10 +204,10 @@ data_graph {
 
 Next, define the profile. This is a special class of entity that represents Segment Profiles, which corresponds to the Profiles Sync tables and models. For Linked Audiences, this allows marketers to filter on profile traits, event history, etc. There can only be one profile for a Data Graph. 
 
-| Parameters     | Definition                                                           |
-| ----------- | --------------------------------------------------------------------- |
-| `profile_folder`      | Define the fully qualified path of the folder or schema location for the profile tables.     |
-| `type`     | Identify the materialization method of the profile tables defined in your Profiles Sync configuration under [Selective Sync settings](/docs/unify/profiles-sync/profiles-sync-setup/#step-3-set-up-selective-sync): `segment:unmaterialized` or `segment:materialized`.|
+| Parameters       | Definition                                                                                                                                                                                                                                                                                          |
+| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `profile_folder` | Define the fully qualified path of the folder or schema location for the profile tables.                                                                                                                                                                                                            |
+| `type`           | Use `segment:materialized` to sync materialized views with Profiles Sync. Segment recommends this configuration for all Linked Audiences and Data Graph setups. If you can't sync materialized views, [reach out to Segment support](https://segment.com/help/contact/){:target="_blank"} for help. |
 
 **Example:**
 
@@ -238,23 +239,24 @@ This is the first level of relationships and a unique type of relationship betwe
 
 | Parameters       | Definition                                                                                                                                                                                                 |
 | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `relationship`   | An immutable slug for the relationship, and will be treated as a delete if you make changes. The slug must be in all lowercase, and supports dashes or underscores (e.g. `user-account` or `user_account`) |
+| `relationship`   | An immutable slug for the relationship, and will be treated as a delete if you make changes. The slug must be in all lowercase, and supports dashes or underscores (like `user-account` or `user_account`) |
 | `name`           | A label displayed throughout your Segment space for Linked Events, Linked Audiences, etc. This name can be modified at any time                                                                            |
 | `related_entity` | References your already defined entity                                                                                                                                                                     |
 
 To define a profile-to-entity relationship, reference your entity table and depending on your table columns, choose to join on one of the following: 
 
-**Option 1 (Most common) - Join on an external ID:** Use the `external_id` block to join the profile entity with an entity table using external IDs from your [Unify ID resolution](/docs/unify/identity-resolution/externalids/) settings. Typically these identifiers are  `user_id`, `email`, or `phone` depending on the column in the entity table that you want to join with.
-- `type`: Represents the [external ID type](/docs/unify/identity-resolution/externalids/#default-externalids) (`email`, `phone`, `user_id`) in your id-res settings. Depending on if you are using materialized or unmaterialized profiles, these correspond to different columns in your Profiles Sync warehouse tables:
-  - [Materialized](/docs/unify/profiles-sync/tables/#the-user_identifiers-table) (Recommended): This corresponds to the `type` column in your Profiles Sync `user_identifiers` table.
-  - [Unmaterialized](/docs/unify/profiles-sync/tables/#the-external_id_mapping_updates-table): This corresponds to the `external_id_type` column in your Profiles Sync `external_id_mapping_updates` table. 
-- `join_key`: This is the column on the entity table that you are matching to the external identifier.
+**Option 1 (Most common) - Join on an external ID:** Use the `external_id` block to join the profile entity with an entity table using external IDs from your [Unify ID resolution](/docs/unify/identity-resolution/externalids/) settings. Typically these identifiers are  `user_id`, `email`, or `phone` depending on the structure of your entity table.
+- `type`: Represents the [external ID type](/docs/unify/identity-resolution/externalids/#default-externalids) (`email`, `phone`, `user_id`) in your ID resolution settings.
+  - This maps to the `type` column in the `user_identifiers` table when using materialized views.
+- `join_key`: The column on the entity table that matches the external ID.
+
+> note ""
+> Segment recommends using materialized views with Profiles Sync. However, Segment may still reference unmaterialized tables during setup for schema detection.
 
 **Option 2 - Join on a profile trait:** Use the `trait` block to join the profile entity with an entity table using [Profile Traits](/docs/unify/#enrich-profiles-with-traits). 
-- `name`: Represents a trait name in your Unify profiles. Depending on if you are using materialized or unmaterialized profiles, these correspond to different columns in your Profiles Sync warehouse tables:
-  - [Materialized](/docs/unify/profiles-sync/tables/#the-profile_traits-table) (Recommended): The trait name corresponds to a unique value of the `name` column in your Profiles Sync `user_traits` table. 
-  - [Unmaterialized](/docs/unify/profiles-sync/tables/#the-profile_traits_updates-table): This corresponds to a column in the Profile Sync `profile_trait_updates` table.
-- `join_key`: This is the column on the entity table that you are matching to the trait.
+- `name`: Represents a trait name in your Unify profiles. 
+   - This maps to the `name` column in the `user_traits` table when using materialized views.
+- `join_key`: The column on the entity table that you're matching to the trait.
 
 **Example:**
 ```python
@@ -277,7 +279,7 @@ data_graph {
         name = "Premium Accounts"
         related_entity = "account-entity"
   
-        # Option 1: Join the profile entity with an identifier (e.g. email) on the related entity table
+        # Option 1: Join the profile entity with an identifier (like email) on the related entity table
         external_id {
           type = "email"
           join_key = "EMAIL_ID"
@@ -298,7 +300,7 @@ For 1:many relationships, define the join on between the two entity tables using
 
 | Parameters       | Definition                                                                                                                                                                                                                                         |
 | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `relationship`   | An immutable slug for the relationship, and will be treated as a delete if you make changes. The slug must be in all lowercase, and supports dashes or underscores (e.g. `user-account` or `user_account`)                                         |
+| `relationship`   | An immutable slug for the relationship, and will be treated as a delete if you make changes. The slug must be in all lowercase, and supports dashes or underscores (like `user-account` or `user_account`)                                         |
 | `name`           | A label displayed throughout your Segment space for Linked Events, Linked Audiences, and so on. This name can be modified at any time                                                                                                              |
 | `related_entity` | References your already defined entity                                                                                                                                                                                                             |
 | `join_on`        | Defines relationship between the two entity tables `[lefty entity slug].[column name] = [right entity slug].[column name]`. Note that since you’re referencing the entity slug for the join on, you do not need to define the full table reference |
@@ -343,19 +345,31 @@ For many:many relationships, define the join on between the two entity tables wi
 
 | Parameters       | Definition                                                                                                                                                                                                 |
 | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `relationship`   | An immutable slug for the relationship, and will be treated as a delete if you make changes. The slug must be in all lowercase, and supports dashes or underscores (e.g. `user-account` or `user_account`) |
+| `relationship`   | An immutable slug for the relationship, and will be treated as a delete if you make changes. The slug must be in all lowercase, and supports dashes or underscores (like `user-account` or `user_account`) |
 | `name`           | A label displayed throughout your Segment space for Linked Events, Linked Audiences, and so on. This name can be modified at any time                                                                      |
 | `related_entity` | References your already defined entity                                                                                                                                                                     |
 
 **Junction table spec**
 
-| Parameters      | Definition                                                                                                                                                                                                                                                             |
-| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Parameters      |Definition  |
+| --------------- | --------------------------------- |
 | `table_ref`     | Defines the fully qualified table reference to the join table: `[database name].[schema name].[table name]`. Segment flexibly supports tables, views and materialized views                                                                                             |
 | `primary_key`   | The unique identifier for the given table. Must be a column with unique values per row                                                                                                                                                                                 |
 | `left_join_on`  | Define the relationship between the left entity table and the junction table: `[left entity slug].[column name] = [junction table column name]`. Note that schema and table are implied within the junction table column name, so you do not need to define it again   |
 | `right_join_on` | Define the relationship between the junction table and the right entity table: `[junction table column name] = [right entity slug].[column name]`. Note that schema and table are implied within the junction table column name, so you do not need to define it again |
 
+
+When you define a many-to-many relationship using a junction table, `left_join_on` and `right_join_on` tell Data Graph how to connect each entity to the junction table:
+
+* Use `left_join_on` to specify which column in the junction table links to the parent (left) entity.
+
+* Use `right_join_on` to specify which column links to the child (right) entity.
+
+These fields define the join conditions, but they don’t control how the join is executed. Data Graph always performs inner joins, even if you specify a `left_join_on`.
+
+If you need behavior similar to a left join (like including unmatched rows), create a view in your warehouse with the logic you’re targeting and reference that view as an entity in your graph.
+
+
 **Example:**
 
 ```python
diff --git a/src/unify/data-graph/linked-events.md b/src/unify/data-graph/linked-events.md
index 193f538a40..ea32cb189e 100644
--- a/src/unify/data-graph/linked-events.md
+++ b/src/unify/data-graph/linked-events.md
@@ -30,9 +30,6 @@ To use Linked Events, you'll need the following:
 2. Access to Unify in your workspace. 
 3. Access to the actions-based destination you'll be using with Linked Events so that you can validate your data. 
 
-> info ""
-> Segment stores and processes all data in the United States.
-
 > info ""
 > Profiles Sync isn't required for Linked Events.
 
@@ -162,7 +159,7 @@ To configure your sync schedule:
 3. Click **Edit** next to **Sync schedule**. 
 4. Select the **Schedule type**. You can choose from: 
    * **Manual**: Trigger the sync manually or with Segment's API.
-   * **Interval**: Sync based on a by-the minute, hourly, or daily cycle. For example, once every 2 hours. 
+   * **Interval**: Sync at predefined intervals: 15 min, 30 min, 1 hour, 2 hours, 4 hours, 6 hours, 8 hours, 12 hours, or 1 day
    * **Day and time**: Sync at specific times on selected days of the week. For example, Mondays at 2:00PM. 
 
 ### Add entities
@@ -216,7 +213,7 @@ To use Linked Events, be sure that you have proper permissions for the Data Ware
 
 #### How often do syncs occur? 
 
-Segment currently syncs once every hour.
+You can configure your syncs to occur at predefined intervals: 15 min, 30 min, 1 hour, 2 hours, 4 hours, 6 hours, 8 hours, 12 hours, or 1 day. See the section on [configuring the sync schedule](#configure-the-sync-schedule) to learn more. 
 
 #### Which Destinations does Linked Events support? 
 
diff --git a/src/unify/data-graph/setup-guides/BigQuery-setup.md b/src/unify/data-graph/setup-guides/BigQuery-setup.md
index 53a07c61a3..3fc986648e 100644
--- a/src/unify/data-graph/setup-guides/BigQuery-setup.md
+++ b/src/unify/data-graph/setup-guides/BigQuery-setup.md
@@ -6,12 +6,11 @@ redirect_from:
   - '/unify/linked-profiles/setup-guides/BigQuery-setup'
 ---
 
-> info ""
-> BigQuery for Data Graph is in beta and Segment is actively working on this feature. Some functionality may change before it becomes generally available. This feature is governed by Segment’s [First Access and Beta Preview Terms](https://www.twilio.com/en-us/legal/tos){:target="_blank"}.
+> warning ""
+> Data Graph, Reverse ETL, and Profiles Sync require different warehouse permissions.
 
 Set up your BigQuery data warehouse to Segment for the [Data Graph](/docs/unify/data-graph/data-graph/).  
 
-
 ## Step 1: Roles and permissions
 > warning ""
 > You need to be an account admin to set up the Segment BigQuery connector as well as write permissions for the `__segment_reverse_etl` dataset.
diff --git a/src/unify/data-graph/setup-guides/databricks-setup.md b/src/unify/data-graph/setup-guides/databricks-setup.md
index 202c0a6956..4d106bb684 100644
--- a/src/unify/data-graph/setup-guides/databricks-setup.md
+++ b/src/unify/data-graph/setup-guides/databricks-setup.md
@@ -5,6 +5,9 @@ redirect_from:
   - '/unify/linked-profiles/setup-guides/databricks-setup'
 ---
 
+> warning ""
+> Data Graph, Reverse ETL, and Profiles Sync require different warehouse permissions.
+
 On this page, you'll learn how to connect your Databricks data warehouse to Segment for the [Data Graph](/docs/unify/data-graph/data-graph/). 
 
 ## Databricks credentials
diff --git a/src/unify/data-graph/setup-guides/redshift-setup.md b/src/unify/data-graph/setup-guides/redshift-setup.md
index 167376e28a..8c0327241d 100644
--- a/src/unify/data-graph/setup-guides/redshift-setup.md
+++ b/src/unify/data-graph/setup-guides/redshift-setup.md
@@ -6,15 +6,13 @@ redirect_from:
   - '/unify/linked-profiles/setup-guides/redshift-setup'
 ---
 
-> info ""
-> Redshift for Data Graph is in beta and Segment is actively working on this feature. Some functionality may change before it becomes generally available. This feature is governed by Twilio Segment’s [First Access and Beta Preview Terms](https://www.twilio.com/en-us/legal/tos){:target="_blank"}.
+> warning ""
+> Data Graph, Reverse ETL, and Profiles Sync require different warehouse permissions.
 
 Set up your Redshift data warehouse to Segment for the [Data Graph](/docs/unify/data-graph/).
 
 ## Prerequisite
 
-To use Linked Audiences with Redshift, the Data Graph only supports [materialized views](/docs/unify/profiles-sync/tables/#tables-segment-materializes). 
-
 If you're setting up Profiles Sync for the first time in the Unify space, go through the setup flow for Selective sync. If Profiles Sync is already set up for your Unify space, follow these steps to configure Profiles Sync for your Unify space:
 
 1. Navigate to **Unify > Profile Sync**.
diff --git a/src/unify/data-graph/setup-guides/snowflake-setup.md b/src/unify/data-graph/setup-guides/snowflake-setup.md
index f732e4adc5..aea89baece 100644
--- a/src/unify/data-graph/setup-guides/snowflake-setup.md
+++ b/src/unify/data-graph/setup-guides/snowflake-setup.md
@@ -5,7 +5,7 @@ redirect_from:
   - '/unify/linked-profiles/setup-guides/snowflake-setup'
 ---
 > warning ""
-> Data Graph, Reverse ETL, Profiles Sync require different warehouse permissions.
+> Data Graph, Reverse ETL, and Profiles Sync require different warehouse permissions.
 
 On this page, you'll learn how to connect your Snowflake data warehouse to Segment for the [Data Graph](/docs/unify/data-graph/data-graph/). 
 
diff --git a/src/unify/product-limits.md b/src/unify/product-limits.md
index 9f7c9c1df5..44979fe2ac 100644
--- a/src/unify/product-limits.md
+++ b/src/unify/product-limits.md
@@ -42,7 +42,7 @@ Visit Segment's [pricing page](https://segment.com/pricing/){:target="_blank"} t
 | name                                          | limit                                         | Details                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
 | --------------------------------------------- | --------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
 | Compute Concurrency                           | 5 new concurrent audiences or computed traits | Segment computes five new audiences or computed traits at a time. Once the limit is reached, Segment queues additional computations until one of the five finishes computing.                                                                                                                                                                                                                                                                                                                                                      |
-| Edit Concurrency                              | 2 concurrent audiences or computed traits     | You can edit two concurrent audiences or computed traits at a time. Once the limit is reached, Segment queues and locks additional computations until one of the two finishes computing.                                                                                                                                                                                                                                                                                                                                           |
+| Edit Concurrency                              | 5 concurrent audiences or computed traits     | You can edit five concurrent audiences or computed traits at a time. Once the limit is reached, Segment queues and locks additional computations until one of the five finishes computing.                                                                                                                                                                                                                                                                                                                                           |
 | Batch Compute Concurrency Limit               | 10 (default) per space                        | The number of batch computations that can run concurrently per space. When this limit is reached, Segment delays subsequent computations until current computations finish.                                                                                                                                                                                                                                                                                                                                                        |
 | Compute Throughput                            | 10000 computations per second                 | Computations include any Track or Identify call that triggers an audience or computed trait re-computation. Once the limit is reached, Segment may slow audience processing.                                                                                                                                                                                                                                                                                                                                                       |
 | Real-time to batch destination sync frequency | 2-3 hours                                     | The frequency with which Segment syncs real-time audiences to batch destinations.                                                                                                                                                                                                                                                                                                                                                                                                                                                  |