`;
+ }
+ },
+
+ },
+ ];
+ },
+ navigator: {
+ navigate({ itemUrl }) {
+ window.location.assign(itemUrl);
+ },
+ navigateNewTab({ itemUrl }) {
+ const windowReference = window.open(itemUrl, '_blank', 'noopener');
+
+ if (windowReference) {
+ windowReference.focus();
+ }
+ },
+ navigateNewWindow({ itemUrl }) {
+ window.open(itemUrl, '_blank', 'noopener');
+ },
+ },
+ });
+
+}
+if (loc.startsWith("/docs/engage")) {
+ engage_locations.forEach(initEngageAutocomplete)
+} else {
+locations.forEach(initAutocomplete);
+}
\ No newline at end of file
diff --git a/netlify.toml b/netlify.toml
index 6f2e7886ba..0d0aca85aa 100644
--- a/netlify.toml
+++ b/netlify.toml
@@ -12,8 +12,8 @@
ignore = "./scripts/ignore.sh"
[context.branch-deploy]
- command = "yarn develop"
- ignore = "./scripts/ignore.sh"
+ command = "jekyll algolia && yarn build"
+# ignore = "./scripts/ignore.sh"
[context.develop]
command = "yarn develop"
diff --git a/package.json b/package.json
index 4af95e0fa5..de42c06030 100644
--- a/package.json
+++ b/package.json
@@ -49,6 +49,7 @@
"browser-sync": "^2.27.7",
"check-links": "^1.1.8",
"clipboard": "^2.0.8",
+ "diff": "^5.0.0",
"dotenv": "^10.0.0",
"enquirer": "^2.3.6",
"fast-csv": "^4.3.6",
diff --git a/scripts/engage-compare.js b/scripts/engage-compare.js
new file mode 100644
index 0000000000..9e00ba32b9
--- /dev/null
+++ b/scripts/engage-compare.js
@@ -0,0 +1,48 @@
+const path = require('path');
+const fs = require('fs');
+const fm = require('front-matter');
+const yaml = require('js-yaml');
+const Diff = require('diff')
+const ora = require('ora')
+const {
+ type
+} = require('os');
+const pages = yaml.load(fs.readFileSync(path.resolve(__dirname, `../src/_data/engage-compare.yml`)))
+
+
+const compare = async () => {
+ let title = ""
+ let engage_path = ""
+ let personas_path = ""
+
+
+ for (const key in pages) {
+ title = pages[key].title
+ engage_path = pages[key].engage
+ personas_path = pages[key].personas
+ const throbber = ora(`${title}`).start()
+
+ const engage_article = path.resolve(engage_path)
+ const personas_article = path.resolve(personas_path)
+
+ try {
+ const e = fm(fs.readFileSync(engage_article, 'utf8')).body;
+ const p = fm(fs.readFileSync(personas_article, 'utf8')).body;
+ const diff = Diff.diffChars(p, e)
+
+ if (diff.length > 1) {
+ throbber.fail(`${title} has diffs!`)
+ } else {
+ throbber.succeed()
+ }
+
+
+ } catch (e) {
+ console.log(e)
+ return false
+ }
+
+ }
+}
+
+compare()
diff --git a/src/_data/catalog/destinations_capi.yml b/src/_data/catalog/destinations_capi.yml
index 9f64c0649f..1b1960e776 100644
--- a/src/_data/catalog/destinations_capi.yml
+++ b/src/_data/catalog/destinations_capi.yml
@@ -347,7 +347,7 @@ items:
name: catalog/destinations/adobe-analytics
url: connections/destinations/catalog/adobe-analytics
description: >-
- It’s the industry-leading solution for applying real-time analytics and
+ It's the industry-leading solution for applying real-time analytics and
detailed segmentation across all of your marketing channels. Use it to
discover high-value audiences and power customer intelligence for your
business.
@@ -464,7 +464,7 @@ items:
map_prefix: eVar
select_options: []
description: >-
- Map your Adobe Analytics eVar names to the property names you’re using in
+ Map your Adobe Analytics eVar names to the property names you're using in
your Segment events. Enter a Segment property name on the left and an
Adobe Analytics eVar number on the right. You can view your Segment events
and properties in your Schema.
@@ -512,7 +512,7 @@ items:
map_prefix: hier
select_options: []
description: >-
- Map your Adobe Analytics hVars to the property names you’re using in your
+ Map your Adobe Analytics hVars to the property names you're using in your
Segment page calls. Enter a Segment property name on the left and an Adobe
Analytics hVar number on the right. You can view your Segment page calls
and properties in your Schema.
@@ -553,7 +553,7 @@ items:
map_prefix: list
select_options: []
description: >-
- Map your Adobe Analytics list variables names to the property names you’re
+ Map your Adobe Analytics list variables names to the property names you're
using in your Segment events. Enter a Segment property name on the left
and an Adobe Analytics list variable number on the right. You can view
your Segment events and properties in your Schema.
@@ -600,7 +600,7 @@ items:
- Segment’s default behavior is to set the Adobe Analytics visitorID based
+ Segment's default behavior is to set the Adobe Analytics visitorID based
on the destination specific setting for visitorId, falling back to
userId then anonymousId. This setting removes the fallbacks.
settings: []
@@ -653,7 +653,7 @@ items:
map_prefix: prop
select_options: []
description: >-
- Map your Adobe Analytics property names to the property names you’re using
+ Map your Adobe Analytics property names to the property names you're using
in your Segment events. Enter a Segment property name on the left and an
Adobe Analytics property number on the right. You can view your Segment
events and properties in your Schema.
@@ -1029,7 +1029,7 @@ items:
deprecated: false
required: false
description: >-
- Toggle this switch ON if you are implemented in Airship’s European Data
+ Toggle this switch ON if you are implemented in Airship's European Data
Center. If you are unsure which data center you are on please reach out to
support@airship.com.
settings: []
@@ -1375,7 +1375,7 @@ items:
It can capture, transform, and load streaming data into Amazon Kinesis
Analytics, Amazon S3, Amazon Redshift, and Amazon Elasticsearch Service,
enabling near real-time analytics with existing business intelligence tools
- and dashboards you’re already using today. It is a fully managed service
+ and dashboards you're already using today. It is a fully managed service
that automatically scales to match the throughput of your data and requires
no ongoing administration. It can also batch, compress, and encrypt the data
before loading it, minimizing the amount of storage used at the destination
@@ -2762,7 +2762,7 @@ items:
deprecated: false
required: false
description: >-
- Toggle this switch ON if you are implemented in Apptimize’s European Data
+ Toggle this switch ON if you are implemented in Apptimize's European Data
Center. If you are unsure which data center you are on please reach out to
support@apptimize.com.
settings: []
@@ -4155,7 +4155,7 @@ items:
description: >-
Button is the mobile commerce technology company that is powering a
commerce-driven internet. Our platform powers mobile business growth for the
- world’s largest brands and publishers, while offering consumers more
+ world's largest brands and publishers, while offering consumers more
seamless, enjoyable experiences.
hidden: false
status: PUBLIC_BETA
@@ -6260,7 +6260,7 @@ items:
string_validators:
regexp: '^.{8,}$'
description: >-
- You can find your CrowdPower project’s public key on the settings page for
+ You can find your CrowdPower project's public key on the settings page for
your project.
settings: []
- display_name: Cruncher
@@ -8431,7 +8431,7 @@ items:
sending events to Facebook via Facebook Pixel for the same Pixel ID.
- By default, we’ll send the user ID as External ID and if User ID is
+ By default, we'll send the user ID as External ID and if User ID is
absent, will fall back to Anonymous ID. If you wish to remove this default
behavior and instead use a different field in your payload as the external
ID, you can use this setting. An example value for this would be
@@ -9265,7 +9265,7 @@ items:
regexp: ''
description: >-
Provide the subdomain of your Freshsales account. So if your domain is
- segment.freshsales.io, then your subdomain is ‘segment’.
+ segment.freshsales.io, then your subdomain is ‘segment'.
settings: []
- display_name: Friendbuy
slug: friendbuy
@@ -9928,7 +9928,7 @@ items:
name: catalog/destinations/goedle
url: connections/destinations/catalog/goedle-io
description: >-
- Predict your customer’s behavior. Increase conversions and retention with
+ Predict your customer's behavior. Increase conversions and retention with
powerful AI and intelligent marketing automation.
hidden: false
status: PUBLIC
@@ -10226,8 +10226,8 @@ items:
deprecated: false
required: false
description: >-
- If you don’t want the global site tag to set first-party cookies on your
- site’s domain, you should disable this setting. Disabling this is *NOT*
+ If you don't want the global site tag to set first-party cookies on your
+ site's domain, you should disable this setting. Disabling this is *NOT*
recommended by Google as it can lead to less accurate conversion
measurements.
settings: []
@@ -10358,8 +10358,8 @@ items:
name: catalog/destinations/google-analytics
url: connections/destinations/catalog/google-analytics
description: >-
- Google Analytics is the most popular analytics tool for the web. It’s free
- and provides a wide range of features. It’s especially good at measuring
+ Google Analytics is the most popular analytics tool for the web. It's free
+ and provides a wide range of features. It's especially good at measuring
traffic sources and ad campaigns.
hidden: false
status: PUBLIC
@@ -10839,7 +10839,7 @@ items:
deprecated: false
required: false
description: >-
- Google’s AMP Client ID API lets you uniquely identify users who engage
+ Google's AMP Client ID API lets you uniquely identify users who engage
with your content on AMP and non-AMP pages. If you opt-in, Google
Analytics will use the user's AMP Client ID to determine that multiple
site events belong to the same user when those users visit AMP pages via a
@@ -11238,9 +11238,9 @@ items:
string_validators:
regexp: '^[.a-zA-Z0-9_-]+\.[.a-zA-Z0-9_-]+$'
description: >-
- Use this if you wish to share GoSquared’s tracking cookies across
+ Use this if you wish to share GoSquared's tracking cookies across
subdomains, `.example.com` will enable shared tracking across all
- example’s subdomains. By default, cookies are set on the current domain
+ example's subdomains. By default, cookies are set on the current domain
(including subdomain) only.
settings: []
- name: apiSecret
@@ -12224,7 +12224,7 @@ items:
Optional. A list of Segment track events that correspond to an app open or
page load. Default: “Application Opened”. Note events from page, screen or
identify are enabled separately with the toggles below and are
- automatically considered page load events in Impact’s platform.
+ automatically considered page load events in Impact's platform.
settings: []
- display_name: Improvely
slug: improvely
@@ -13038,7 +13038,7 @@ items:
regexp: ''
description: >-
If you are using our older mobile library (before v2 iOS or v3 Android)
- and have packaged Kahuna’s SDK, you can give us the sender ID. The sender
+ and have packaged Kahuna's SDK, you can give us the sender ID. The sender
ID is also called the project number in your Google API project. Make sure
you have created a project by following instructions
[here](http://app.usekahuna.com/tap/getstarted/android/), under 'Enable
@@ -13495,7 +13495,7 @@ items:
identifier with your `traits.email` or `properties.email`.
- Klaviyo will not record events/profiles if there isn’t an email address
+ Klaviyo will not record events/profiles if there isn't an email address
associated with that customer.
Impact is fewer events/profiles recorded in Klaviyo as a result.
@@ -13557,7 +13557,7 @@ items:
url: connections/destinations/catalog/kochava
description: >-
Kochava is a leading mobile attribution and analytics platform, with all the
- right features to be the only partner you’ll need.
+ right features to be the only partner you'll need.
hidden: false
status: PUBLIC
previous_names:
@@ -15192,7 +15192,7 @@ items:
url: connections/destinations/catalog/matomo
description: >-
Matomo is the leading open source web analytics platform that gives you
- valuable insights into your website’s visitors, your marketing campaigns and
+ valuable insights into your website's visitors, your marketing campaigns and
much more, so you can optimize your strategy and online experience of your
visitors.
hidden: false
@@ -18163,7 +18163,7 @@ items:
regexp: '^.{8,}$'
description: >-
In the Personyze dashboard, under Account Settings > Integrations >
- Segment > Get Keys, you’ll see your API Key.
+ Segment > Get Keys, you'll see your API Key.
settings: []
- display_name: Pingdom
slug: pingdom
@@ -18292,7 +18292,7 @@ items:
url: connections/destinations/catalog/pinterest-tag
description: >-
Use the Pinterest Tag on your website to build audiences to target based on
- actions they’ve taken on your site, and gather valuable conversion insights.
+ actions they've taken on your site, and gather valuable conversion insights.
The Pinterest tag is a piece of JavaScript code you put on your website to
track conversions, and build and optimize audiences to reach valuable
customers on Pinterest.
@@ -21105,7 +21105,7 @@ items:
Savio centralizes your customers' feedback to help you prioritize what
features to build. Connect Savio to link customer feedback to MRR and Plan,
so you can answer questions like "what features do my Enterprise customers
- want" or "what’s the total MRR of customers who want feature A vs. feature
+ want" or "what's the total MRR of customers who want feature A vs. feature
B".
hidden: false
status: PUBLIC
@@ -21436,7 +21436,7 @@ items:
description: >-
Selligent Marketing Cloud is a highly integrated, AI-powered omni-channel
marketing automation platform which enables ambitious B2C marketers to
- maximize every moment of interaction with today’s connected consumers.
+ maximize every moment of interaction with today's connected consumers.
hidden: false
status: PUBLIC_BETA
previous_names:
@@ -21698,7 +21698,7 @@ items:
string_validators:
regexp: ''
description: >-
- Typically this would be the server name, but that doesn’t exist on all
+ Typically this would be the server name, but that doesn't exist on all
platforms. Instead you may use something like the device ID, as it
indicates the host which the client is running on.
settings: []
@@ -22340,7 +22340,7 @@ items:
Use "handlebarsjs" templating to format messages sent to Slack. The
default template is "Identified {{name}}.
- {{traits}}". You do not need to append ‘traits’, as this template is
+ {{traits}}". You do not need to append ‘traits', as this template is
specific to `.identify()` calls only and thus is assumed. Make sure
whatever trait you try to use in your template, you send as a trait in
your `.identify()` calls, otherwise we will reject the message.
@@ -22777,10 +22777,10 @@ items:
description: >-
To find your key, log into Split and navigate to “Admin Settings” >
“Integrations” > select your desired workspace > “Segment”. There you can
- find the key for each configured integration. If you don’t have an
+ find the key for each configured integration. If you don't have an
integration configured, be sure to configure your integration in the
section “Configure as a destination in Segment” and click save to generate
- a key. For more information, learn more in Split’s [integration
+ a key. For more information, learn more in Split's [integration
documentation](https://segment.com/docs/connections/destinations/catalog/split/).
settings: []
- display_name: Startdeliver
@@ -22912,8 +22912,8 @@ items:
string_validators:
regexp: ''
description: >-
- In your Stitch dashboard, click ‘Add an Integration’. Click on Segment,
- and complete the ‘Enable with Segment’ workflow.
+ In your Stitch dashboard, click ‘Add an Integration'. Click on Segment,
+ and complete the ‘Enable with Segment' workflow.
settings: []
- display_name: Stonly
slug: stonly
@@ -24398,7 +24398,7 @@ items:
name: catalog/destinations/trustpilot
url: connections/destinations/catalog/trustpilot
description: >-
- Trustpilot - Join the world’s most powerful review platform. Get customer
+ Trustpilot - Join the world's most powerful review platform. Get customer
reviews to grow and show the trust in your brand that powers your business
forward.
hidden: false
@@ -26114,7 +26114,7 @@ items:
name: catalog/destinations/walkme
url: connections/destinations/catalog/walkme
description: >-
- WalkMe’s Digital Adoption Platform provides guidance, engagement, insights
+ WalkMe's Digital Adoption Platform provides guidance, engagement, insights
and automation to users
hidden: false
status: PUBLIC_BETA
@@ -26935,7 +26935,7 @@ items:
name: catalog/destinations/xplenty
url: connections/destinations/catalog/xplenty
description: >-
- Xplenty’s cloud-based data integration service makes it easy to move,
+ Xplenty's cloud-based data integration service makes it easy to move,
process and transform more data, faster. Xplenty processes both structured
and unstructured data and integrates with a variety of sources, including
Amazon Redshift, SQL data stores, NoSQL databases and cloud storage
@@ -27567,7 +27567,7 @@ items:
description: >-
Connect makes it easy to send email, iOS/Android push, web notifications and
SMS based on user actions in your website and mobile apps—-then we let you
- AB test to see how each message affects customer behavior. Because we’re
+ AB test to see how each message affects customer behavior. Because we're
built on your event stream, you can create and update segments in real-time,
decide which channel to use based on device history and run sophisticated AB
tests across channels with multiple goals.
diff --git a/src/_data/catalog/sources_capi.yml b/src/_data/catalog/sources_capi.yml
index 26abd26dea..c1430efd84 100644
--- a/src/_data/catalog/sources_capi.yml
+++ b/src/_data/catalog/sources_capi.yml
@@ -279,7 +279,7 @@ items:
slug: foursquare-pilgrim
name: catalog/sources/foursquare-pilgrim
description: >-
- Foursquare provides real-time event triggering based upon your users’
+ Foursquare provides real-time event triggering based upon your users'
location in the physical world, allowing you to harness our powerful
geotargeting capabilities to send those events to other services via
Segment.
@@ -843,7 +843,7 @@ items:
slug: stripe
name: catalog/sources/stripe
description: >-
- Once you have successfully OAuth’d into Stripe, we will begin syncing
+ Once you have successfully OAuth'd into Stripe, we will begin syncing
Stripe objects (and their corresponding properties) to any databases you
have turned on (to turn on a database, navigate to the database tab in the
navigation pane on the left).
@@ -937,7 +937,7 @@ items:
These objects will be written into a separate schema, corresponding to
- your project’s name.
+ your project's name.
Zendesk data will reflect the state of the object at the time of the sync:
diff --git a/src/_data/engage-compare.yml b/src/_data/engage-compare.yml
new file mode 100644
index 0000000000..75ebaaaada
--- /dev/null
+++ b/src/_data/engage-compare.yml
@@ -0,0 +1,33 @@
+- title: 'Computed Traits'
+ personas: 'src/personas/computed-traits.md'
+ engage: 'src/engage/profiles/computed-traits.md'
+- title: 'Explorer'
+ personas: 'src/personas/index.md'
+ engage: 'src/engage/profiles/index.md'
+- title: 'Audience Overview'
+ personas: 'src/personas/audiences/index.md'
+ engage: 'src/engage/audiences/index.md'
+- title: 'Account-Level Audiences'
+ personas: 'src/personas/audiences/account-audiences.md'
+ engage: 'src/engage/audiences/account-audiences.md'
+- title: 'Organize Audiences'
+ personas: 'src/personas/audiences/organization.md'
+ engage: 'src/engage/audiences/organization.md'
+- title: 'Journeys Overview'
+ personas: 'src/personas/journeys/index.md'
+ engage: 'src/engage/journeys/index.md'
+- title: 'Build a Journey'
+ personas: 'src/personas/journeys/build-journey.md'
+ engage: 'src/engage/journeys/build-journey.md'
+- title: 'Send Data to Destinations'
+ personas: 'src/personas/journeys/send-data.md'
+ engage: 'src/engage/journeys/send-data.md'
+- title: 'Journeys Best Practices & FAQ'
+ personas: 'src/personas/journeys/faq-best-practices.md'
+ engage: 'src/engage/journeys/faq-best-practices.md'
+- title: 'Example Journeys Use Cases'
+ personas: 'src/personas/journeys/use-cases.md'
+ engage: 'src/engage/journeys/use-cases.md'
+- title: 'Journeys Glossary'
+ personas: 'src/personas/journeys/key-terms.md'
+ engage: 'src/engage/journeys/key-terms.md'
\ No newline at end of file
diff --git a/src/_data/glossary.yml b/src/_data/glossary.yml
index 6720c2e94a..36aff1cbba 100644
--- a/src/_data/glossary.yml
+++ b/src/_data/glossary.yml
@@ -23,7 +23,7 @@ CDN: |
Content Delivery Network. CDNs are a network of servers which make downloading files faster for the user, by placing them all around the world to reduce data transit time. When you have servers in a CDN, they're much closer on average to the end user. If someone is using Segment in Asia, they don't have to download our files all the way from California, they can get them from a server much closer to them in the network.
CDP: |
- Customer Data Platform: a central platform that brokers the flow of customer data through their application infrastructure so that they can build a central understanding of each customer’s interactions, comply with regulations that require them to carefully manage customer data, and ensure that their interactions with the customer are optimized.
+ Customer Data Platform: a central platform that brokers the flow of customer data through their application infrastructure so that they can build a central understanding of each customer's interactions, comply with regulations that require them to carefully manage customer data, and ensure that their interactions with the customer are optimized.
Cookies: |
Cookies are small pieces of text that are stored by the browser on a website. Cookies have a **name** and a **value**. They may also be set from Javascript using `document.cookie`. Our analytics.js script sets up a cookie called `ajs_uid` to store the user's id.
@@ -78,7 +78,7 @@ Library: |
The most common use case for this term at Segment is in reference to the libraries people use to send data to our API. [A full list of libraries can be found in our docs](/docs/connections/sources/catalog/). Libraries can collect either in "[Device mode](#device-mode)" or "[Cloud mode](#cloud-mode)".
Lookback: |
- A “lookback window” limits the period of time in which data is considered when calculating a trait or audience. For example, you might set a lookback window of 7 days on an audience or trait like `new_users_7_days`, but you would not add a lookback window to a trait that isn’t time-bounded, such as `lifetime_value`.
+ A “lookback window” limits the period of time in which data is considered when calculating a trait or audience. For example, you might set a lookback window of 7 days on an audience or trait like `new_users_7_days`, but you would not add a lookback window to a trait that isn't time-bounded, such as `lifetime_value`.
Method: |
A method is programming speak for "an action an object can take". It's a specific type of function that is attached to an object. All of our analytics tracking libraries create `analytics` objects, and then `track`, `identify`, `page`, [etc](/docs/connections/spec/) are methods you can invoke on those objects.
@@ -151,4 +151,4 @@ Traits: |
Traits are individual pieces of information that we know about an [object](#object). Objects persist over time, so traits can change over time.
Warehouses: |
- Segment’s Data warehouse product. All event data can be sent to one of several Warehouses, where your team can use it to perform more complex analysis of the data.
+ Segment's Data warehouse product. All event data can be sent to one of several Warehouses, where your team can use it to perform more complex analysis of the data.
diff --git a/src/_data/sidenav/engage.yml b/src/_data/sidenav/engage.yml
new file mode 100644
index 0000000000..bafab571cc
--- /dev/null
+++ b/src/_data/sidenav/engage.yml
@@ -0,0 +1,115 @@
+---
+sections:
+- section_title: Overview
+ description: "Learn the fundamentals about Twilio Engage."
+ section:
+ - path: '/engage/overview'
+ title: Introduction
+ - path: '/engage/overview/onboarding'
+ title: Onboarding Steps
+ - path: '/engage/overview/use-cases'
+ title: Use Cases
+- section_title: Profiles
+ description: "Explore how data powers the creation of user profiles."
+ section:
+ - path: '/engage/profiles'
+ title: Profiles Explorer
+ - path: '/engage/profiles/computed-traits'
+ title: Computed Traits
+ - path: '/engage/profiles/csv-upload'
+ title: CSV Uploader
+ - section_title: User Subscriptions
+ slug: engage/profiles/user-subscriptions
+ menu_icon: read-more
+ section:
+ - path: '/engage/profiles/user-subscriptions'
+ title: User Subscription Overview
+ - path: '/engage/profiles/user-subscriptions/subscription-states'
+ title: User Subscription States
+ - path: '/engage/profiles/user-subscriptions/set-user-subscriptions'
+ title: Set User Subscription States
+- section_title: Audiences
+ description: "See how to create audiences based on data."
+ section:
+ - path: '/engage/audiences'
+ title: Audiences Overview
+ - path: '/engage/audiences/account-audiences'
+ title: Account-level Audiences
+ - path: '/engage/audiences/organization'
+ title: Organize Audiences
+- section_title: Journeys
+ description: "Learn how to create multi-step Journeys to tailor messages to your users."
+ section:
+ - path: '/engage/journeys'
+ title: Journeys Overview
+ - path: '/engage/journeys/build-journey'
+ title: 'Build a Journey'
+ - path: '/engage/journeys/send-data'
+ title: Send Data to Destinations
+ - path: '/engage/journeys/faq-best-practices'
+ title: Journeys Best Practices and FAQ
+ - path: '/engage/journeys/use-cases'
+ title: Example Journeys Use Cases
+ - path: '/engage/journeys/journeys-logic'
+ title: Understand Journeys Logic
+ - path: '/engage/journeys/key-terms'
+ title: Journeys Glossary
+- section_title: Content
+ description: "Design brand-specific templates for your email and SMS campaigns."
+ section:
+ # - section_title: Email
+ # section:
+ - path: '/engage/content/email/template'
+ title: Email Template
+ - path: '/engage/content/email/editor'
+ title: Email Template Editor
+ # - section_title: SMS
+ # section:
+ - path: '/engage/content/sms/template'
+ title: SMS Template
+- section_title: Campaigns
+ description: "Create multi-channel campaigns to get the right message to your users."
+ section:
+ - path: '/engage/campaigns'
+ title: Campaigns Overview
+ - path: '/engage/campaigns/email-campaigns'
+ title: Email Campaigns
+ - path: '/engage/campaigns/sms-campaigns'
+ title: SMS Campaigns
+ - path: '/engage/campaigns/use-profile-traits'
+ title: Use Profile Traits in your Campaigns
+ - path: '/engage/campaigns/email-sms-best-practices'
+ title: Email and SMS Best Practices
+- section_title: Analytics
+ description: "Track the performance of your campaigns."
+ section:
+ - path: '/engage/analytics'
+ title: Analytics Overview
+ - path: '/engage/analytics/message-events'
+ title: Message Events
+ # - path: '/engage/analytics/custom-events'
+ # title: Custom Events
+- section_title: Settings
+ section:
+ - path: '/engage/settings/messaging-settings'
+ title: Messaging Settings
+ - path: '/engage/settings/identity-resolution'
+ title: Identity Resolution
+ - path: '/engage/settings/sources'
+ title: Sources
+ - path: '/engage/settings/destinations'
+ title: Destinations
+ - path: '/engage/settings/debugger'
+ title: Debugger
+ - path: '/engage/settings/connection-policy'
+ title: Connection Policy
+ - path: '/engage/settings/warehouse-sources'
+ title: Warehouse Sources
+ - path: '/engage/settings/api-access'
+ title: API Access
+ - path: '/engage/settings/rename-space'
+ title: Rename Space
+ - path: '/engage/settings/labels'
+ title: Labels
+path: '/engage/contact'
+title: Support
\ No newline at end of file
diff --git a/src/_includes/components/engage-home.html b/src/_includes/components/engage-home.html
new file mode 100644
index 0000000000..8ed3fdbd6f
--- /dev/null
+++ b/src/_includes/components/engage-home.html
@@ -0,0 +1,24 @@
+
+
+
+ {% for section in include.sections %}
+{% unless section.section_title == "Settings" %}
+
+
+
{{section.section_title}}
+
{{section.description}}
+
+ {% for link in section.section %}
+ {% unless link.title == null %}
+
diff --git a/src/_includes/content/facebook-ldu-intro.md b/src/_includes/content/facebook-ldu-intro.md
index 7f533293fd..4e0927efb0 100644
--- a/src/_includes/content/facebook-ldu-intro.md
+++ b/src/_includes/content/facebook-ldu-intro.md
@@ -1,4 +1,4 @@
-In July 2020, Facebook released [Limited Data Use feature](https://developers.facebook.com/docs/marketing-apis/data-processing-options) to help businesses comply with the California Consumer Privacy Act (CCPA). This feature limits the way user data is stored and processed for all California residents who opt out of the sale of their data. You can send Limited Data Use data processing parameters to Facebook on each event so that Facebook can appropriately apply the user’s data choice. Segment recommends that you first familiarize yourself on this feature and the [Data Processing Options Facebook accepts](https://developers.facebook.com/docs/marketing-apis/data-processing-options).
+In July 2020, Facebook released [Limited Data Use feature](https://developers.facebook.com/docs/marketing-apis/data-processing-options) to help businesses comply with the California Consumer Privacy Act (CCPA). This feature limits the way user data is stored and processed for all California residents who opt out of the sale of their data. You can send Limited Data Use data processing parameters to Facebook on each event so that Facebook can appropriately apply the user's data choice. Segment recommends that you first familiarize yourself on this feature and the [Data Processing Options Facebook accepts](https://developers.facebook.com/docs/marketing-apis/data-processing-options).
This destination supports the following parameters:
diff --git a/src/_includes/content/facebook-ldu-params.md b/src/_includes/content/facebook-ldu-params.md
index 8ed3dc7490..dc2e244741 100644
--- a/src/_includes/content/facebook-ldu-params.md
+++ b/src/_includes/content/facebook-ldu-params.md
@@ -8,6 +8,6 @@ The Data Processing parameters you set are the Data Processing Options Segment u
| **Data Processing Parameter** | **Default Value** | **What it means** |
| ----------------------------------- | ----------------- | ----------------------------------------------- |
-| **Data Processing Options** | `["LDU"]` | Use Facebook’s Limited Data Use processing |
-| **Data Processing Options Country** | `0` | Use Facebook’s geolocation to determine country |
-| **Data Processing Options State** | `0` | Use Facebook’s geolocation to determine state |
+| **Data Processing Options** | `["LDU"]` | Use Facebook's Limited Data Use processing |
+| **Data Processing Options Country** | `0` | Use Facebook's geolocation to determine country |
+| **Data Processing Options State** | `0` | Use Facebook's geolocation to determine state |
diff --git a/src/_includes/content/lookback.md b/src/_includes/content/lookback.md
index c6f8e7dc14..4afeb90510 100644
--- a/src/_includes/content/lookback.md
+++ b/src/_includes/content/lookback.md
@@ -1,3 +1,3 @@
-You can set a “lookback window” for both computed traits and audiences, which limits the period of time in which data is considered when calculating the trait or audience. For example, you might set a lookback window of 7 days on an audience or trait like `new_users_7_days`, but you would not add a lookback window to a trait that isn’t time-bounded, for example `lifetime_value` .
+You can set a “lookback window” for both computed traits and audiences, which limits the period of time in which data is considered when calculating the trait or audience. For example, you might set a lookback window of 7 days on an audience or trait like `new_users_7_days`, but you would not add a lookback window to a trait that isn't time-bounded, for example `lifetime_value` .
When you specify a lookback window, Personas updates the audience or trait hourly. If you do not specify a lookback window, Personas continuously updates both computed traits and audiences in real time.
diff --git a/src/_includes/content/tracking-api-limit.md b/src/_includes/content/tracking-api-limit.md
index 5d316c3b95..5669438b90 100644
--- a/src/_includes/content/tracking-api-limit.md
+++ b/src/_includes/content/tracking-api-limit.md
@@ -1,4 +1,4 @@
-
HTTP Tracking API limits
Segment’s HTTP Tracking API accepts batch requests up to 500kb. To avoid errors in event creation, ensure that individual event payload sizes remain below 32kb.
+
HTTP Tracking API limits
Segment's HTTP Tracking API accepts batch requests up to 500kb. To avoid errors in event creation, ensure that individual event payload sizes remain below 32kb.
\ No newline at end of file
diff --git a/src/_includes/icons/engage/analytics.svg b/src/_includes/icons/engage/analytics.svg
new file mode 100644
index 0000000000..850d6e8f46
--- /dev/null
+++ b/src/_includes/icons/engage/analytics.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/_includes/icons/engage/audiences.svg b/src/_includes/icons/engage/audiences.svg
new file mode 100644
index 0000000000..ed7ad8d5d6
--- /dev/null
+++ b/src/_includes/icons/engage/audiences.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/_includes/icons/engage/campaigns.svg b/src/_includes/icons/engage/campaigns.svg
new file mode 100644
index 0000000000..97e4c8a014
--- /dev/null
+++ b/src/_includes/icons/engage/campaigns.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/_includes/icons/engage/content.svg b/src/_includes/icons/engage/content.svg
new file mode 100644
index 0000000000..02432a2247
--- /dev/null
+++ b/src/_includes/icons/engage/content.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/_includes/icons/engage/journeys.svg b/src/_includes/icons/engage/journeys.svg
new file mode 100644
index 0000000000..25321d6268
--- /dev/null
+++ b/src/_includes/icons/engage/journeys.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/_includes/icons/engage/overview.svg b/src/_includes/icons/engage/overview.svg
new file mode 100644
index 0000000000..9f2b22699f
--- /dev/null
+++ b/src/_includes/icons/engage/overview.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/_includes/icons/engage/profiles.svg b/src/_includes/icons/engage/profiles.svg
new file mode 100644
index 0000000000..d00f0de80e
--- /dev/null
+++ b/src/_includes/icons/engage/profiles.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/_includes/icons/engage/settings.svg b/src/_includes/icons/engage/settings.svg
new file mode 100644
index 0000000000..48e367f257
--- /dev/null
+++ b/src/_includes/icons/engage/settings.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/_includes/icons/engage/support.svg b/src/_includes/icons/engage/support.svg
new file mode 100644
index 0000000000..9e860b4d36
--- /dev/null
+++ b/src/_includes/icons/engage/support.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/_includes/menu/menu-engage-item.html b/src/_includes/menu/menu-engage-item.html
new file mode 100644
index 0000000000..55e455e247
--- /dev/null
+++ b/src/_includes/menu/menu-engage-item.html
@@ -0,0 +1,103 @@
+{% assign currentPage = page.path | downcase | split: "/" %}
+{% assign currentPath = include.root_section.section_title | downcase | slugify %}
+
+