diff --git a/_docs/_partners/additional_channels_and_extensions/additional_channels/instant_chat/dixa.md b/_docs/_partners/additional_channels_and_extensions/additional_channels/instant_chat/dixa.md
index 3afa486e6a3..8c67d385918 100644
--- a/_docs/_partners/additional_channels_and_extensions/additional_channels/instant_chat/dixa.md
+++ b/_docs/_partners/additional_channels_and_extensions/additional_channels/instant_chat/dixa.md
@@ -71,7 +71,7 @@ Choose to show or hide the user's custom Braze events.
#### Display a list of purchases
-Choose to show or hide a list products purchased by the user. Here, you can see how many times it was purchased. To view the first and last purchase date, hover above the item.
+Choose to show or hide a list of products the user purchased. Here, you can see how many times the user purchased the product. To view the first and last purchase date, hover over the item.
### Example integration
diff --git a/_docs/_partners/canvas_audience_sync/criteo_audience_sync.md b/_docs/_partners/canvas_audience_sync/criteo_audience_sync.md
index 0480ed01572..40cc07cb0e5 100644
--- a/_docs/_partners/canvas_audience_sync/criteo_audience_sync.md
+++ b/_docs/_partners/canvas_audience_sync/criteo_audience_sync.md
@@ -94,7 +94,7 @@ Enter a name for the new audience, select **Add Users to Audience**, and select

-Users will be notified at the top of the step editor if the audience is created successfully or if errors arise during this process. Users can also reference this audience for user removal later in the Canvas journey because the audience was created in draft mode.
+Braze displays a notification at the top of the step editor if the audience is created successfully or if errors arise. Users can reference this audience for user removal later in the Canvas journey because the audience was created in draft mode.

@@ -119,9 +119,9 @@ You can view the audience in Criteo by going into your ads manager account and t
## User syncing and rate limit considerations
-As users reach the Audience Sync step, Braze will sync these users in near real-time while also respecting Criteo's API rate limits. What this means in practice is that Braze will try to batch and process as many users every 5 seconds before sending these users to Criteo.
+As users reach the Audience Sync step, Braze syncs them in near real time while respecting Criteo's API rate limits. Braze batches and processes as many users as possible every five seconds before sending them to Criteo.
-Criteo's API rate limit states no more than 250 requests per minute. If a Braze customer reaches this rate limit, Braze the Canvas will retry the sync for up to ~13 hours. If the sync is not possible, these users are listed under the Users Errored metric.
+Criteo's API rate limit allows no more than 250 requests per minute. If a customer reaches this limit, Braze retries the sync for up to ~13 hours. If the sync is still not possible, Braze lists these users under the Users Errored metric.
## Understanding analytics
diff --git a/_docs/_partners/canvas_audience_sync/facebook_audience_sync.md b/_docs/_partners/canvas_audience_sync/facebook_audience_sync.md
index 3112e0c19e5..b322a50943b 100644
--- a/_docs/_partners/canvas_audience_sync/facebook_audience_sync.md
+++ b/_docs/_partners/canvas_audience_sync/facebook_audience_sync.md
@@ -27,9 +27,9 @@ This feature allows brands to control what specific first-party data is shared w
## User syncing and rate limit considerations
-As users reach the Audience Sync step, Braze will sync these users in near real-time while also respecting Facebook's Marketing API rate limits. What this means in practice is that Braze will try to batch and process as many users every 5 seconds before sending these users to Facebook.
+As users reach the Audience Sync step, Braze syncs them in near real time while respecting Facebook's Marketing API rate limits. Braze batches and processes as many users as possible every 5 seconds before sending them to Facebook.
-Facebook's Marketing API rate limit states no more than ~190,000 API requests for each ad account in a one-hour time period. If a Braze customer reaches this rate limit, Braze the Canvas will retry the sync for up to ~13 hours. If the sync isn't possible, these users are listed under the Users Errored metric.
+Facebook's Marketing API rate limit allows no more than ~190,000 API requests per ad account in a one-hour period. If a customer reaches this limit, Braze retries the sync for up to ~13 hours. If the sync still isn't possible, Braze lists these users under the Users Errored metric.
## Prerequisites
diff --git a/_docs/_partners/canvas_audience_sync/linkedin_audience_sync.md b/_docs/_partners/canvas_audience_sync/linkedin_audience_sync.md
index 68254889988..f4928014495 100644
--- a/_docs/_partners/canvas_audience_sync/linkedin_audience_sync.md
+++ b/_docs/_partners/canvas_audience_sync/linkedin_audience_sync.md
@@ -96,7 +96,7 @@ Next, save your audience by clicking the **Create Audience** button at the botto

-Users will be notified at the top of the step editor if the audience is created successfully or if errors arise during this process. Users can also reference this audience for user removal later in the Canvas journey because the audience was created in draft mode.
+Braze displays a notification at the top of the step editor if the audience is created successfully or if errors arise. Users can reference this audience for user removal later in the Canvas journey because the audience was created in draft mode.

@@ -123,9 +123,9 @@ You can view the audience on LinkedIn by going into your ad account and selectin
## User syncing and rate limit considerations
-As users reach the Audience Sync Step, Braze will sync these users in near real-time while respecting LinkedIn’s API rate limits. In practice, Braze will try to batch and process as many users every 5 seconds before sending these users to LinkedIn.
+As users reach the Audience Sync step, Braze syncs them in near real time while respecting LinkedIn’s API rate limits. Braze batches and processes as many users as possible every 5 seconds before sending them to LinkedIn.
-LinkedIn’s API rate limit states no more than ten queries per second and 100,000 users per request. If a Braze customer reaches this rate limit, Braze the Canvas will retry the sync for up to about 13 hours. If the sync is not possible, these users are listed under the Users Errored metric.
+LinkedIn’s API rate limit allows no more than ten queries per second and 100,000 users per request. If a customer reaches this limit, Braze retries the sync for up to about 13 hours. If the sync is still not possible, Braze lists these users under the Users Errored metric.
## Understanding analytics
diff --git a/_docs/_partners/canvas_audience_sync/pinterest_audience_sync.md b/_docs/_partners/canvas_audience_sync/pinterest_audience_sync.md
index 70779a0c5ec..2fc87c39e7c 100644
--- a/_docs/_partners/canvas_audience_sync/pinterest_audience_sync.md
+++ b/_docs/_partners/canvas_audience_sync/pinterest_audience_sync.md
@@ -82,7 +82,7 @@ Enter a name for the new audience, select **Add Users to Audience**, and select

-Users will be notified at the top of the step editor if the audience is created successfully or if errors arise during this process. Users can also reference this audience for user removal later in the Canvas journey because the audience was created in draft mode.
+Braze displays a notification at the top of the step editor if the audience is created successfully or if errors arise. Users can reference this audience for user removal later in the Canvas journey because the audience was created in draft mode.

@@ -107,9 +107,9 @@ You can view the audience on Pinterest by entering your ads manager account and
## User syncing and rate limit considerations
-As users reach the Audience Sync step, Braze will sync these users in near real-time while respecting Pinterest's Marketing API rate limits. In practice, Braze will try to batch and process as many users every 5 seconds before sending these users to Pinterest.
+As users reach the Audience Sync step, Braze syncs them in near real time while respecting Pinterest's Marketing API rate limits. Braze batches and processes as many users as possible every 5 seconds before sending them to Pinterest.
-Pinterest's Segment API rate limit states no more than seven queries per second per user and 1,900 users per request. If a Braze customer reaches this rate limit, Braze the Canvas will retry the sync for up to ~13 hours. If the sync is not possible, these users are listed under the Users Errored metric.
+Pinterest's Segment API rate limit allows no more than seven queries per second per user and 1,900 users per request. If a customer reaches this limit, Braze retries the sync for up to ~13 hours. If the sync is still not possible, Braze lists these users under the Users Errored metric.
## Understanding analytics
diff --git a/_docs/_partners/canvas_audience_sync/snapchat_audience_sync.md b/_docs/_partners/canvas_audience_sync/snapchat_audience_sync.md
index 158f05cc45d..59ed3cbdef9 100644
--- a/_docs/_partners/canvas_audience_sync/snapchat_audience_sync.md
+++ b/_docs/_partners/canvas_audience_sync/snapchat_audience_sync.md
@@ -83,7 +83,7 @@ Enter a name for the new audience, select **Add Users to Audience**, and select

-Users will be notified at the top of the step editor if the audience is created successfully or if errors arise during this process. Users can also reference this audience for user removal later in the Canvas journey because the audience was created in draft mode.
+Braze displays a notification at the top of the step editor if the audience is created successfully or if errors arise. Users can reference this audience for user removal later in the Canvas journey because the audience was created in draft mode.

@@ -109,9 +109,9 @@ You can view the audience in Snapchat by entering your ads manager account and s
## User syncing and rate limit considerations
-As users reach the Audience Sync step, Braze will sync these users in near real-time while respecting Snapchat's API rate limits. In practice, Braze will try to batch and process as many users every 5 seconds before sending these users to Snapchat.
+As users reach the Audience Sync step, Braze syncs them in near real time while respecting Snapchat's API rate limits. Braze batches and processes as many users as possible every 5 seconds before sending them to Snapchat.
-Snapchat's API rate limit states no more than ten queries per second and 100,000 users per request. If a Braze customer reaches this rate limit, Braze the Canvas will retry the sync for up to ~13 hours. If the sync is not possible, these users are listed under the Users Errored metric.
+Snapchat's API rate limit allows no more than ten queries per second and 100,000 users per request. If a customer reaches this limit, Braze retries the sync for up to ~13 hours. If the sync is still not possible, Braze lists these users under the Users Errored metric.
### Understanding analytics
diff --git a/_docs/_partners/canvas_audience_sync/tiktok_audience_sync.md b/_docs/_partners/canvas_audience_sync/tiktok_audience_sync.md
index 3c4a5622b6f..b8cd25920ae 100644
--- a/_docs/_partners/canvas_audience_sync/tiktok_audience_sync.md
+++ b/_docs/_partners/canvas_audience_sync/tiktok_audience_sync.md
@@ -82,7 +82,7 @@ Enter a name for the new audience, select **Add Users to Audience**, and select

-Users will be notified at the top of the step editor if the audience is created successfully or if errors arise during this process. Users can also reference this audience for user removal later in the Canvas journey because the audience was created in draft mode.
+Braze displays a notification at the top of the step editor if the audience is created successfully or if errors arise. Users can reference this audience for user removal later in the Canvas journey because the audience was created in draft mode.

@@ -108,9 +108,9 @@ You can view the audience in TikTok by entering your **Ads Manager Account** and
## User syncing and rate limit considerations
-As users reach the Audience Sync step, Braze will sync these users in near real-time while respecting TikTok's Marketing API rate limits. This means that Braze will try to batch and process as many users every 5 seconds before sending these users to TikTok.
+As users reach the Audience Sync step, Braze syncs them in near real time while respecting TikTok's Marketing API rate limits. Braze batches and processes as many users as possible every 5 seconds before sending them to TikTok.
-TikTok's Segment API rate limit states no more than 50 queries per second and 10k users per request. If a Braze customer reaches this rate limit, the Canvas will retry the sync for up to ~13 hours. If the sync is not possible, these users are listed under the Users Errored metric.
+TikTok's Segment API rate limit allows no more than 50 queries per second and 10k users per request. If a customer reaches this limit, Braze retries the sync for up to ~13 hours. If the sync is still not possible, Braze lists these users under the Users Errored metric.
## Understanding analytics
diff --git a/_docs/_partners/ecommerce/ordering_payments_subscription/recurly.md b/_docs/_partners/ecommerce/ordering_payments_subscription/recurly.md
index ab0ed02a966..ebd5d835340 100644
--- a/_docs/_partners/ecommerce/ordering_payments_subscription/recurly.md
+++ b/_docs/_partners/ecommerce/ordering_payments_subscription/recurly.md
@@ -82,11 +82,11 @@ For effective customer engagement, you must [configure custom events]({{site.bas
Because Recurly uses the Braze `/users/track` endpoint, the integration is subject to standard Braze rate limits of 50,000 requests per minute.
-Recurly batches certain subscription lifecycle events as single API calls to Braze to reduce the number of calls made.
+Recurly batches certain subscription lifecycle events into single API calls to Braze to reduce the number of requests.
-- Creation of multiple subscriptions at the same time are batched and sent to Braze as a single request.
-- When multiple subscriptions are renewed at the same time for an account, each of those renewals is batched into a single request.
-- Same model subscription lifecycle events are sent as a single request. An example being a newly created invoice with a payment would send a single API request with both the `Recurly Invoice Created` and `Recurly Successful Payment` custom events.
+- Recurly batches and sends multiple subscriptions created at the same time as a single request.
+- Recurly batches multiple same-time renewals for an account into a single request.
+- Recurly sends same-model subscription lifecycle events in a single request. For example, a newly created invoice with a payment results in one API request containing both the `Recurly Invoice Created` and `Recurly Successful Payment` custom events.
Batches are sent to Braze in groups of up to 75 events at a time. For example, if 100 subscriptions were created at once, Recurly would make two API requests to Braze. See [batching User Track requests]({{site.baseurl}}/api/api_limits/#batch-user-track) for details.
diff --git a/_docs/_partners/message_orchestration/attribution/adjust.md b/_docs/_partners/message_orchestration/attribution/adjust.md
index f74aa88e703..e6559b35671 100644
--- a/_docs/_partners/message_orchestration/attribution/adjust.md
+++ b/_docs/_partners/message_orchestration/attribution/adjust.md
@@ -84,9 +84,9 @@ Here, you will find the REST endpoint and generate your Braze data import key. A
### Step 4: Confirm the integration
-Once Braze receives attribution data from Adjust, the status connection indicator on the Adjust technology partners page in Braze will change from "Not Connected" to "Connected". A timestamp of the last successful request will also be included.
+After Braze receives attribution data from Adjust, the status connection indicator on the Adjust technology partners page in Braze changes from "Not Connected" to "Connected" and includes a timestamp of the last successful request.
-Note that this will not happen until we receive data about an attributed install. Organic installs, which should be excluded from the Adjust postback, are ignored by our API and are not counted when determining if a successful connection was established.
+This status changes only after Braze receives data about an attributed install. Braze ignores organic installs (excludes them from the Adjust postback) and does not count them when determining if the connection is successful.
## Available data fields
diff --git a/_docs/_partners/message_orchestration/attribution/airbridge.md b/_docs/_partners/message_orchestration/attribution/airbridge.md
index e10740558d6..e11d5245b64 100644
--- a/_docs/_partners/message_orchestration/attribution/airbridge.md
+++ b/_docs/_partners/message_orchestration/attribution/airbridge.md
@@ -212,9 +212,9 @@ For more detailed instructions, visit [Airbridge](https://help.airbridge.io/en/g
### Step 4: Confirm the integration
-Once Braze receives attribution data from Airbridge, the status connection indicator on the Airbridge technology partners page in Braze will change from "Not Connected" to "Connected". A timestamp of the last successful request will also be included.
+After Braze receives attribution data from Airbridge, the status connection indicator on the Airbridge technology partners page in Braze changes from "Not Connected" to "Connected" and includes a timestamp of the last successful request.
-Note that this will not happen until we receive data about an attributed install. Organic installs, which should be excluded from the Airbridge postback, are ignored by our API and are not counted when determining if a successful connection was established.
+This status changes only after Braze receives data about an attributed install. Braze ignores organic installs (excludes them from the Airbridge postback) and does not count them when determining if the connection is successful.
## Available data fields
diff --git a/_docs/_partners/message_orchestration/attribution/branch_for_attribution.md b/_docs/_partners/message_orchestration/attribution/branch_for_attribution.md
index 08a33cec289..851ba60f5b8 100644
--- a/_docs/_partners/message_orchestration/attribution/branch_for_attribution.md
+++ b/_docs/_partners/message_orchestration/attribution/branch_for_attribution.md
@@ -95,9 +95,9 @@ Here, you will find the REST endpoint and generate your Braze data import key. A
### Step 4: Confirm the integration
-Once Braze receives attribution data from Branch, the status connection indicator on the Branch technology partners page in Braze will change from "Not Connected" to "Connected". A timestamp of the last successful request will also be included.
+After Braze receives attribution data from Branch, the status connection indicator on the Branch technology partners page in Braze changes from "Not Connected" to "Connected" and includes a timestamp of the last successful request.
-Note that this will not happen until we receive data about an attributed install. Organic installs, which should be excluded from the Branch postback, are ignored by our API and are not counted when determining if a successful connection was established.
+This status changes only after Braze receives data about an attributed install. Braze ignores organic installs (excludes them from the Branch postback) and does not count them when determining if the connection is successful.
## Facebook and X (formerly Twitter) attribution data
diff --git a/_docs/_partners/message_orchestration/attribution/kochava.md b/_docs/_partners/message_orchestration/attribution/kochava.md
index fe9a0cbe965..7e6fd205bff 100644
--- a/_docs/_partners/message_orchestration/attribution/kochava.md
+++ b/_docs/_partners/message_orchestration/attribution/kochava.md
@@ -72,9 +72,9 @@ Here, you will find the REST endpoint and generate your Braze data import key. A
### Step 4: Confirm the integration
-Once Braze receives attribution data from Kochava, the status connection indicator on the Kochava technology partners page in Braze will change from "Not Connected" to "Connected". A timestamp of the last successful request will also be included.
+After Braze receives attribution data from Kochava, the status connection indicator on the Kochava technology partners page in Braze changes from "Not Connected" to "Connected" and includes a timestamp of the last successful request.
-Note that this will not happen until we receive data about an attributed install. Organic installs, which should be excluded from the Kochava postback, are ignored by our API and are not counted when determining if a successful connection was established.
+This status changes only after Braze receives data about an attributed install. Braze ignores organic installs (excludes them from the Kochava postback) and does not count them when determining if the connection is successful.
## Facebook and X (formerly Twitter) attribution data
diff --git a/_docs/_partners/message_orchestration/attribution/singular.md b/_docs/_partners/message_orchestration/attribution/singular.md
index 60a61694299..41903363f4e 100644
--- a/_docs/_partners/message_orchestration/attribution/singular.md
+++ b/_docs/_partners/message_orchestration/attribution/singular.md
@@ -82,9 +82,9 @@ You will need to provide the data import key and REST endpoint to your Singular
### Step 3: Confirm the integration
-Once Braze receives attribution data from Singular, the status connection indicator on the Singular technology partners page in Braze will change from "Not Connected" to "Connected". A timestamp of the last successful request will also be included.
+After Braze receives attribution data from Singular, the status connection indicator on the Singular technology partners page in Braze changes from "Not Connected" to "Connected" and includes a timestamp of the last successful request.
-Note that this will not happen until we receive data about an attributed install. Organic installs, which should be excluded from the Singular postback, are ignored by our API and are not counted when determining if a successful connection was established.
+This status changes only after Braze receives data about an attributed install. Braze ignores organic installs (excludes them from the Singular postback) and does not count them when determining if the connection is successful.
## Facebook and X (formerly Twitter) attribution data
diff --git a/_docs/_partners/message_orchestration/deeplinking/appsflyer/appsflyer.md b/_docs/_partners/message_orchestration/deeplinking/appsflyer/appsflyer.md
index 601c569c17f..1e10e5b5e7b 100644
--- a/_docs/_partners/message_orchestration/deeplinking/appsflyer/appsflyer.md
+++ b/_docs/_partners/message_orchestration/deeplinking/appsflyer/appsflyer.md
@@ -112,9 +112,9 @@ Additional information on these instructions is available in [AppsFlyer's docume
### Step 4: Confirm the integration
-Once Braze receives attribution data from AppsFlyer, the status connection indicator on the AppsFlyer technology partners page in Braze will change from "Not Connected" to "Connected". A timestamp of the last successful request will also be included.
+After Braze receives attribution data from AppsFlyer, the status connection indicator on the AppsFlyer technology partners page in Braze changes from "Not Connected" to "Connected" and includes a timestamp of the last successful request.
-Note that this will not happen until we receive data about an attributed install. Organic installs, which should be excluded from the AppsFlyer postback, are ignored by our API and are not counted when determining if a successful connection was established.
+This status changes only after Braze receives data about an attributed install. Braze ignores organic installs (excludes them from the AppsFlyer postback) and does not count them when determining if the connection is successful.
### Step 5: Viewing user attribution data
diff --git a/_docs/_user_guide/analytics/tracking/uninstall_tracking.md b/_docs/_user_guide/analytics/tracking/uninstall_tracking.md
index 845233d3155..d6ac96fa76e 100644
--- a/_docs/_user_guide/analytics/tracking/uninstall_tracking.md
+++ b/_docs/_user_guide/analytics/tracking/uninstall_tracking.md
@@ -18,7 +18,7 @@ Uninstall tracking in Braze provides the following details:
2. Campaign-level uninstall statistics in a time series graph on the **Campaign Details** page of a specific campaign. This statistic specifies the number of campaign recipients that uninstall each day.
{% alert note %}
-You must opt-in to uninstall tracking on your Braze dashboard. This feature is currently available for apps on iOS, Android, and Fire OS.
+You must opt in to uninstall tracking on your Braze dashboard. This feature is available for apps on iOS, Android, and Fire OS.
{% endalert %}
## How it works
@@ -29,7 +29,7 @@ Braze automatically collects a base level of uninstall information from your reg
You can turn on uninstall tracking on the **App Settings** page, under **Settings**, for each app you want to track.
-When uninstall tracking is turned on for an app, background push messages will be sent nightly to users who haven't recorded a session or received a push in 24 hours.
+When you turn on uninstall tracking for an app, Braze sends a nightly background push message to users who haven't recorded a session or received a push in 24 hours.
### Configuration
@@ -63,13 +63,13 @@ Uninstall statistics for campaigns are located on a specific campaign's **Campai
### How it works
-Braze tracks uninstalls by observing when push messages sent to users' devices return a signal from either Firebase Cloud Messaging (FCM) or Apple Push Notification Service (APNs) that the app is no longer installed. If Global Uninstall Tracking is turned on for a particular app, we send a daily silent push message to users to detect whether they have uninstalled. This "silent" push is sent to all users (unless the user has disabled silent pushes in their app settings); however, the push does not appear to users. If we detect that a user has uninstalled, we:
+Braze tracks uninstalls by observing when push messages sent to users' devices return a signal from either Firebase Cloud Messaging (FCM) or Apple Push Notification Service (APNs) that the app is no longer installed. If you turn on Global Uninstall Tracking for an app, Braze sends a daily silent push message to users to detect whether they have uninstalled. Braze sends this "silent" push to all users (unless the user has disabled silent pushes in their app settings); the push does not appear to users. If Braze detects that a user has uninstalled, we:
* Increment the app's total uninstall count by one.
* Increment the uninstall count for every campaign that the user successfully received in the past 24 hours by one.
* If a user receives three campaigns in a 24-hour period and then uninstalls, we increment the count of "uninstalls" for all three campaigns.
-Uninstall tracking is subject to restrictions placed on this information by FCM and APNs. Braze only increments the uninstall count when FCM or APNs tell us that a user has uninstalled, but these third-party systems reserve the right to notify us of uninstalls at any point in time. As a result, uninstall tracking should be used to detect directional trends as opposed to precise statistics.
+FCM and APNs place restrictions on uninstall tracking. Braze increments only the uninstall count when FCM or APNs tell us that a user has uninstalled, but these third-party systems can notify us of uninstalls at any point. Use uninstall tracking to detect directional trends rather than precise statistics.
For more on using uninstall tracking, see our blog post [Uninstall Tracking: An Industry Look at its Strengths and Limitations](https://www.braze.com/blog/uninstall-tracking-an-industry-look-at-its-strengths-and-limitations/).
diff --git a/_docs/_user_guide/message_building_by_channel/content_cards/create.md b/_docs/_user_guide/message_building_by_channel/content_cards/create.md
index 8583bf2c612..3ae02bb44f8 100644
--- a/_docs/_user_guide/message_building_by_channel/content_cards/create.md
+++ b/_docs/_user_guide/message_building_by_channel/content_cards/create.md
@@ -18,7 +18,7 @@ search_rank: 3.9
## Step 1: Choose where to build your message
-Not sure whether your message should be sent with a campaign or a Canvas? Campaigns are better for single, simple messaging campaigns (such as informing users about a new product with a single message), while Canvases are better for multi-step user journeys (such as sending tailored product suggestions based on user behavior over time).
+Not sure whether you should send your message with a campaign or a Canvas? Use campaigns for single, simple messaging (such as informing users about a product with one message). Use Canvases for multi-step user journeys (such as sending tailored product suggestions based on user behavior over time).
{% tabs %}
{% tab Campaign %}
@@ -90,7 +90,7 @@ Add an image to your Content Card by selecting **Add Image** or providing an ima
#### Pin to top
-A pinned card will display at the top of a user's feed and can't be dismissed by the user. If more than one card in a user's feed is pinned, the pinned cards will display in chronological order. After a card has been sent, you can't retroactively update its pinned option. Changing this option after a campaign has been sent will only affect future sends.
+Braze displays a pinned card at the top of a user's feed and the user can't dismiss it. If a user's feed has multiple pinned cards, Braze orders them chronologically. After you send a card, you can't retroactively update its pinned option. Changing this option after you send a campaign only affects future sends.
{:style="border:none"}
@@ -184,7 +184,7 @@ Each user can have up to 250 non-expired Content Cards in their feed at any give
### Sending behavior
-After Content Cards have been sent, they sit waiting in an "inbox" ready to be delivered to the user (similar to what happens for emails). After content is pulled into the Content Card (at the time of display), it cannot be changed during its lifespan. This applies even if you're calling an API through Connected Content, and the data from the endpoint changes. This data won't get updated. It can only be stopped from sending to new users and removed from users' feeds. If you modify a campaign, only future cards that are sent will have the update.
+After Braze sends Content Cards, they sit in an "inbox" ready to be delivered to the user (similar to emails). After Braze pulls content into the Content Card at display time, the content does not change during the card's lifespan. This includes API calls through Connected Content if endpoint data changes. Braze does not update that data. You can only stop sending new cards and remove existing cards from feeds. If you modify a campaign, only future cards reflect the update.
If you need to remove old cards, you must first stop the campaign. To stop a campaign, open your Content Card campaign and select **Stop Campaign**. Stopping the campaign will prompt you to decide how to handle users who have already received your card.
@@ -202,7 +202,7 @@ Some Content Cards are only relevant until a user performs some action. For exam
Within a campaign or Canvas message, you can optionally add a **Removal Event** to specify which custom events or purchases should cause previously sent cards to be removed from that user's feed, triggered by the SDK or REST API.
-Cards will be removed on subsequent refreshes after Braze has processed the specified event.
+Braze removes cards on subsequent refreshes after it processes the specified event.
{% alert tip %}
You can specify multiple custom events and purchases that should remove a card from a user's feed. When **any** of those actions are performed by the user, any existing cards sent by the campaign's cards will be removed. Any future eligible cards will continue to be sent according to the message's schedule.
@@ -212,7 +212,7 @@ You can specify multiple custom events and purchases that should remove a card f
### Updating launched cards
-Content Cards can't be edited after they are sent. If you find you need to make changes to cards that have already been sent, consider using [campaign re-eligibility]({{site.baseurl}}/user_guide/engagement_tools/messaging_fundamentals/reeligibility/) as shown in the following options.
+You can't edit Content Cards after you send them. If you need to change sent cards, consider using [campaign re-eligibility]({{site.baseurl}}/user_guide/engagement_tools/messaging_fundamentals/reeligibility/) with the following options.
{% alert note %}
When a Content Card becomes re-eligible, it may be sent again when the original card is still in a user's app. To avoid duplicate cards in a user's app, you can turn off re-eligibility or extend the re-eligibility window so that users won't be sent a new card until the original has expired.
@@ -233,8 +233,8 @@ Let's say you've set a campaign to be triggered by a session start, and it has r
##### Impact
-* **Reporting:** Each version of the card would have separate analytics.
-* **Existing Recipients:** New and existing recipients would see the updated card at the next feed refresh if they are eligible.
+* **Reporting:** Each card version has separate analytics.
+* **Existing Recipients:** New and existing recipients see the updated card at the next feed refresh if eligible.
{% alert tip %}
We recommend this option for messages where you are showing the latest content in the card (such as home page banners), changes must be shown immediately, or when re-eligibility is turned off.
@@ -257,8 +257,8 @@ Let's say you have a campaign that's triggered by a session start and has re-eli
##### Impact
-* **Reporting:** One campaign will contain all reporting analytics for the card versions launched. Braze won't differentiate between the versions launched.
-* **Existing recipients:** Users who have already received the card would not receive the updated cards until they become re-eligible. If re-eligibility is turned off, they would never receive the new card.
+* **Reporting:** One campaign contains all analytics for all launched card versions. Braze doesn't differentiate between versions.
+* **Existing recipients:** Users who already received the card don't receive updated cards until they become re-eligible. If re-eligibility is off, they never receive the new card.
{% alert tip %}
We recommend using this option for unique messages in a notification center or message inbox (such as promotions), when it’s important for analytics to be unified, or when the timeliness of the message isn't a concern (such as existing recipients can wait for the eligibility window before seeing the updated cards).
diff --git a/_docs/_user_guide/message_building_by_channel/content_cards/create/card_creation.md b/_docs/_user_guide/message_building_by_channel/content_cards/create/card_creation.md
index 0ba7851f33b..7acd0911881 100644
--- a/_docs/_user_guide/message_building_by_channel/content_cards/create/card_creation.md
+++ b/_docs/_user_guide/message_building_by_channel/content_cards/create/card_creation.md
@@ -33,7 +33,7 @@ You can choose when Braze creates a card on the **Delivery** step when creating
The following options are available:
- **At campaign launch:** The previous default behavior for Content Cards. Braze calculates audience eligibility and personalization when the campaign launches, then creates the card and stores it until the user opens your app.
-- **At first impression (recommended):** When the user next opens your app (that is, starts a new [session](https://www.braze.com/resources/articles/whats-an-app-session-anyway)), Braze determines which Content Cards the user is eligible for, templates any personalization like Liquid or Connected Content, then creates the card. This option will usually see better performance in card deliveries.
+- **At first impression (recommended):** When the user next opens your app (starts a new [session](https://www.braze.com/resources/articles/whats-an-app-session-anyway)), Braze determines which Content Cards the user is eligible for, templates any personalization like Liquid or Connected Content, then creates the card. This option usually delivers better performance.
Regardless of your selected option, the Content Card expiration date countdown will begin when the campaign launches.
@@ -47,7 +47,7 @@ You can choose when Braze creates a card on the **Messaging Channels** tab of a
The following options are available:
- **At step entry:** The previous default behavior for Content Cards. Braze calculates audience eligibility when the user enters the Canvas step, then creates the card and stores it until the user opens your app.
-- **At first impression (recommended):** Braze calculates audience eligibility when the user enters the Canvas step. When the user next opens your app (that is, starts a new [session](https://www.braze.com/resources/articles/whats-an-app-session-anyway)), Braze templates any personalization like Liquid or Connected Content, then creates the card. This option will see better performance in card deliveries and more up to date personalization.
+- **At first impression (recommended):** Braze calculates audience eligibility when the user enters the Canvas step. When the user next opens your app (starts a new [session](https://www.braze.com/resources/articles/whats-an-app-session-anyway)), Braze templates any personalization like Liquid or Connected Content, then creates the card. This option delivers better performance in card deliveries and more up-to-date personalization.
Regardless of your selected option, the Content Card expiration date countdown will begin when the user enters the Canvas step.
@@ -98,13 +98,13 @@ This section describes the main differences between card creation at campaign la
- | Messages Sent refers to the number of cards created and available to be seen. This doesn't count whether the users viewed the card. |
- Messages Sent refers to the number of cards sent to a user after a session start. In Canvas, users entering the step without starting a session will not have a card sent, which is why this metric may not align with the number of users entering a step.
While your reachable users and impressions will not change, you can expect to see a decrease in send volume (Messages Sent) when a card is created at first impression compared to if the same card was created at campaign launch or Canvas step entry. |
+ Messages Sent refers to the number of cards Braze created and made available. This doesn't count whether users viewed the card. |
+ Messages Sent refers to the number of cards Braze sends to a user after a session start. In Canvas, if a user enters the step without starting a session, Braze doesn't send a card, so this metric may not align with the number of users entering a step.
While reachable users and impressions don't change, expect lower send volume (Messages Sent) when you create a card at first impression compared to campaign launch or Canvas step entry. |
- | Cards are created for every eligible user in the segment at the time of launch. For large audiences, we recommend to select At First Impression, as cards will be available more quickly after launch. |
- Cards are created the first time a user tries to view the card, so it may take 1-2 seconds to display on the first impression. |
+ Braze creates cards for every eligible user in the segment at launch time. For large audiences, select At First Impression so cards are available more quickly after launch. |
+ Braze creates a card the first time a user tries to view it, so it may take 1–2 seconds to display on the first impression. |
@@ -119,11 +119,11 @@ Braze recommends not changing how cards are created after a campaign has launche
### Potential processing time
-We recommend that campaigns with large audiences select the option to create cards at first impression, as cards will be available much more quickly after the campaign is launched. Campaigns which are triggered on session start may also want to consider moving to create card at first impression (available through scheduled delivery) to realize performance improvements.
+For large audiences, select the option to create cards at first impression so cards are available quickly after launch. Campaigns triggered on session start may also benefit from moving to create at first impression (available through scheduled delivery) to improve performance.
When cards are created at first impression, it may take 1–2 seconds for the cards to process. The length of this processing time depends on various factors, such as the card size and the complexity of the message templating options. For example, the processing time for cards using Connected Content will be at least as long as the Connected Content response time.
### Previous SDK versions
-If a user's app is running a previous version of the SDK, they will still receive Content Cards sent with a specified card creation. However, cards will take longer to appear to these users, and may not appear until the next Content Card sync.
+If a user's app runs a previous SDK version, they still receive Content Cards you send. However, cards take longer to appear and may not show until the next Content Card sync.
diff --git a/_docs/_user_guide/message_building_by_channel/email/best_practices/duplicate_emails.md b/_docs/_user_guide/message_building_by_channel/email/best_practices/duplicate_emails.md
index 1336c40b7ef..dfe68cdfa13 100644
--- a/_docs/_user_guide/message_building_by_channel/email/best_practices/duplicate_emails.md
+++ b/_docs/_user_guide/message_building_by_channel/email/best_practices/duplicate_emails.md
@@ -10,17 +10,17 @@ channel: email
# Duplicate emails
-> For duplicate emails, if one email unsubscribes, other profiles (up to 100 profiles) with that email address are updated to reflect the same subscription state. This applies for unsubscribes and other changes to subscription state, such as global email subscription state and individual subscription group statuses.
+> If multiple profiles share an email address and one profile unsubscribes, Braze updates other profiles (up to 100) with that address to the same subscription state. This applies to unsubscribes and other changes such as global subscription state and individual subscription group statuses.
## Email subscription updates
-Braze automatically checks for and removes duplicate email addresses when an email campaign is sent. This way an email is only sent once and is "deduped," which checks that it doesn't hit the same email multiple times even if multiple user profiles share a common address.
+Braze automatically checks for and removes duplicate email addresses when it sends an email campaign. This ensures Braze sends the email only once even if multiple user profiles share an address.
{% alert tip %}
Make sure you're familiar with the tools that Braze provides for [managing user email subscriptions]({{site.baseurl}}/user_guide/message_building_by_channel/email/managing_user_subscriptions/#managing-user-subscriptions) and targeting campaigns at users with particular subscription states. These tools are critical for compliance with [anti-spam laws]({{site.baseurl}}/help/best_practices/spam_regulations/#spam-regulations).
{% endalert %}
-If users share an email address, updating one of these users will propagate the subscription changes across these users (up to 100 users).
+If users share an email address and you update one profile, Braze propagates the subscription changes across those users (up to 100).
## Message sending behavior
diff --git a/_docs/_user_guide/message_building_by_channel/email/email_setup/authentication.md b/_docs/_user_guide/message_building_by_channel/email/email_setup/authentication.md
index 6a00a6ac0f0..f416408b9c8 100644
--- a/_docs/_user_guide/message_building_by_channel/email/email_setup/authentication.md
+++ b/_docs/_user_guide/message_building_by_channel/email/email_setup/authentication.md
@@ -18,7 +18,7 @@ channel: email
This method confirms that your Braze email-sending IP address is authorized to send mail on your behalf. SPF is your basic authentication and is accomplished by publishing the text records in DNS settings. The receiving server will check the DNS records and determine whether they are authentic. This method is designed to validate the email sender.
-Your SPF record will be set up when Braze configures your IPs and domains - beyond adding the DNS records we give you, no further action is required.
+Braze sets up your SPF record when we configure your IPs and domains. Beyond adding the DNS records we provide, you don't need to take further action.
### Domain Keys Identified Mail (DKIM)
@@ -26,13 +26,13 @@ This method confirms that your Braze email-sending domain is authorized to send
Braze signs the mail with your secret private key. The ISPs verify the signature against your public key, which is stored in your custom DNS record. No two signatures are exactly alike, and only your public key can successfully verify your private key signature.
-Your DKIM record will be set up when Braze configures your IPs and domains-beyond adding the DNS records we give you, no further action is required.
+Braze sets up your DKIM record when we configure your IPs and domains. Beyond adding the DNS records we provide, you don't need to take further action.
### Domain-based Message Authentication, Reporting, and Conformance (DMARC)
[Domain-based Message Authentication, Reporting & Conformance (DMARC)](https://dmarc.org/) is an email authentication protocol for email senders to prove the legitimacy of their mail, which enables mailbox receiver confidence and encourages mail acceptance. DMARC allows email senders to specify how to handle emails that were not authenticated using Sender Policy Framework (SPF) or Domain Keys Identified Mail (DKIM). This is achieved by verifying that both SPF and DKIM checks are passed.
-Senders can instruct mailbox providers on how they should handle mail that failed their signature or authentication checks. Failures could indicate that others are trying to imitate you or your email. Senders can tell mailbox providers to reject or quarantine mail and even send automated reports about mail that fails checks. By doing so, mailbox providers can better identify spammers and prevent malicious email from invading inboxes while minimizing false positives and providing better authentication reporting for greater transparency in the marketplace.
+Senders instruct mailbox providers how to handle mail that fails signature or authentication checks. Failures can indicate spoofing. You can tell providers to reject or quarantine failing mail and to send automated reports. This helps providers identify spammers, block malicious email, minimize false positives, and improve authentication reporting transparency.
#### How it works
@@ -40,7 +40,7 @@ To deploy DMARC, you need to publish a DMARC Record to your Domain Naming System
A DMARC record also tells email servers to send XML reports back to the reporting email address listed in the DMARC record. These reports provide insight into how your email is moving through the ecosystem and allow you to identify everything that is attempting to use your email domain to send email communications.
-The policy you have in your DMARC record will tell the participating recipient email server what to do with mail that doesn’t pass SPF and DKIM but claims to be from your domain. Braze recommends setting a DMARC policy on the root domain, which will be applied to all subdomains. This means no additional setup will be necessary on any current and new subdomains in the future. There are three types of policies you can set:
+Set a DMARC policy on the root domain so it applies to all subdomains. This avoids additional setup on current and future subdomains. You can set one of the following policies:
| Policy | Impact |
| --- | --- |
diff --git a/_docs/_user_guide/message_building_by_channel/email/email_setup/email_validation.md b/_docs/_user_guide/message_building_by_channel/email/email_setup/email_validation.md
index 20f57c5fdb3..33dd0669ebb 100644
--- a/_docs/_user_guide/message_building_by_channel/email/email_setup/email_validation.md
+++ b/_docs/_user_guide/message_building_by_channel/email/email_setup/email_validation.md
@@ -15,9 +15,9 @@ channel: email
## How it works
-Email validation is performed when a user's email address has been updated or is being imported into Braze using the API, CSV upload, or SDK, or modified in the dashboard. Note that your email addresses cannot include whitespaces. If you're using the API, whitespaces will result in a `400` error.
+Braze validates an email address when it is updated, imported via API, CSV upload, SDK, or modified in the dashboard. Email addresses cannot include whitespace. If you use the API, whitespace returns a `400` error.
-Braze does not accept certain characters and recognizes them as invalid. If an email is bounced, Braze marks the email as invalid, and the subscription status is not changed. Note that if there are non-standard [ASCII](https://en.wikipedia.org/wiki/ASCII) characters in the email body, the email won't be sent.
+Braze rejects certain characters and marks the address invalid. If an email bounces, Braze marks the address invalid and does not change subscription status. If the email body contains non-standard [ASCII](https://en.wikipedia.org/wiki/ASCII) characters, Braze doesn't send the email.
{% details Accepted characters %}
- Letters (A-Z)
@@ -46,15 +46,15 @@ Braze does not accept certain characters and recognizes them as invalid. If an e
- Whitespaces (ASCII and Unicode)
{% enddetails %}
-This validation is not to be confused with a validation service. This is a check to verify that the syntax of an email address is correct. One of the main drivers to use this validation process is to support international characters (such as UTF-8) in the local part of the email address.
+This validation is a syntax check, not a validation service. One goal of this process is to support international characters (such as UTF-8) in the local part of the email address.
-Email syntax validation looks at both the local and host parts of an email address. The local part is anything before the asperand (@), and the host part is anything after the asperand. For example, this local part of an email address may start and end with any of the allowed characters except for a period (.). Note that this process is only validating the syntax of the email address and does not consider whether the domain has a valid MX server or if the user exists on the domain listed.
+Braze validates syntax for both the local and host parts of an email address. The local part is anything before the asperand (@); the host part is anything after. The local part may start and end with any allowed character except a period (.). This process doesn't consider whether the domain has a valid MX server or if a user exists on that domain.
{% alert important %}
If the domain part contains any non-standard ASCII characters, it will need to be [Punycode-encoded](https://www.punycoder.com/) before being supplied to Braze.
{% endalert %}
-If Braze receives a request to add a user and the email address is considered invalid, you'll see an error response in the API. When uploading with a CSV file, a user would be created, but the email address would not be added.
+If Braze receives a request to add a user with an invalid email address, the API returns an error. For a CSV upload, Braze creates the user but omits the invalid email address.
## Local part validation rules
@@ -73,11 +73,11 @@ The following regular expression can be used to validate if an email address wil
### Gmail addresses
-If the domain part is a Gmail address, the local part must be at least two characters long and must follow the regular expression validation listed above.
+If the domain part is Gmail, the local part must be at least two characters long and follow the regular expression validation listed above.
### Microsoft domains
-If the host domain includes "msn", "hotmail", "outlook", or "live", then the following regular expression will be used to validate the local part: `/\A\w[\-\w]*(?:\.[\-\w]+)*\z/i`
+If the host domain includes "msn", "hotmail", "outlook", or "live", Braze uses the following regular expression to validate the local part: `/\A\w[\-\w]*(?:\.[\-\w]+)*\z/i`
The Microsoft address local part must follow these parameters:
@@ -88,16 +88,16 @@ The Microsoft address local part must follow these parameters:
- Cannot contain two or more consecutive periods (.)
- Cannot end with a period (.)
-Note that the validation test checks if the local part, preceding the "+", matches the regular expression.
+The validation test checks whether the local part preceding the "+" matches the regular expression.
## Host part validation rules
-IPv4 or IPv6 addresses are not allowed in the host part of an email address. The top-level domain (such as .com, .org, .net, etc.) may not be fully numeric.
+The host part cannot be an IPv4 or IPv6 address. The top-level domain (such as .com, .org, .net) can't be fully numeric.
The following regular expression is used to validate the domain:
`/^[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)+$/i`
-The domain name must follow these parameters:
+The domain name must meet these parameters:
- Consists of two or more period-separated labels
- Each part of a domain name is referred to as a "label". For example, the domain name "example.com" consists of the "example" label and the "com" label.
@@ -111,7 +111,7 @@ The domain name must follow these parameters:
### Additional validation required
-The final label of the domain must be a valid top-level domain (TLD), which is determined by anything after the final period (.). This TLD should be in [ICANN's TLD list](https://data.iana.org/TLD/tlds-alpha-by-domain.txt). The Braze email validator only checks that the syntax of the email is correct according to the regular expression listed in this section. It doesn't catch typos or addresses that don't exist.
+The final label of the domain must be a valid top-level domain (TLD), determined by anything after the final period (.). This TLD should appear in [ICANN's TLD list](https://data.iana.org/TLD/tlds-alpha-by-domain.txt). The Braze validator only checks syntax. It doesn't catch typos or non-existent addresses.
{% alert important %}
Unicode is accepted only for the local part of the email address. Unicode is not accepted for the domain part, but it may be Punycode-encoded.
diff --git a/_docs/_user_guide/message_building_by_channel/email/email_setup/ssl.md b/_docs/_user_guide/message_building_by_channel/email/email_setup/ssl.md
index dd4e0c1306a..fb8a95f2fbf 100644
--- a/_docs/_user_guide/message_building_by_channel/email/email_setup/ssl.md
+++ b/_docs/_user_guide/message_building_by_channel/email/email_setup/ssl.md
@@ -12,33 +12,33 @@ channel: email
{% multi_lang_include video.html id="zP1N_wN0SsQ" align="right" %}
-> A secure socket layer (SSL) encrypts a URL with HTTPS, instead of the less secure HTTP. HTTPS in a URL indicates that a valid and trusted SSL or TLS certificate exists, and that the website is safe to visit and isn't a source of dangerous malware.
+> A secure socket layer (SSL) encrypts a URL with HTTPS instead of HTTP. HTTPS indicates that a valid and trusted SSL or TLS certificate exists and that the website is safe to visit.
## Why is SSL important?
-While most domains do not require SSL, Braze strongly recommends using SSL for these key reasons.
+Most domains do not require SSL, but Braze strongly recommends using SSL for these reasons.
Securing your website and links with SSL is a common practice even for companies that don't deal directly with sensitive customer information. Users are more trusting of links that are secured with SSL, and the additional layer of authentication helps protect your data.
### Necessary for click and open tracking
-At Braze, when we send out emails, we first transform your links using your branded link tracking subdomain to track user clicks and opens. By default, these links will begin with HTTP. This means that users with a browser or extension that restricts non-secure traffic may have difficulty passing through the redirect before landing at the destination URL, even if the URL is secure. This can lead to broken images and inaccurate click and open tracking throughout your emails. For this reason, it is a best practice to apply an SSL layer to the link tracking subdomain to confirm secure redirects in your emails.
+Braze transforms your links using your branded link tracking subdomain to track clicks and opens. By default these links begin with HTTP. Users with browsers or extensions that restrict non-secure traffic may have difficulty passing through the redirect before the destination URL, even if the URL is secure. This can cause broken images and inaccurate tracking. Apply SSL to the link tracking subdomain to confirm secure redirects.
### Browser requirement
-SSL protocols are becoming more prevalent today as major browsers like Google Chrome are starting to restrict traffic through non-secure URLs to protect their users. Companies with SSL on their website confirm with these major browsers that their content is trusted, minimizing content viewing issues like broken links and images in their emails.
+Major browsers such as Google Chrome restrict traffic through non-secure URLs to protect users. Using SSL helps confirm that content is trusted and minimizes issues like broken links and images in emails.
### HSTS domains requirement
-Regardless of which browsers your users may be accessing your emails from, you must set up SSL if you have an HTTP Strict Transport Security (HSTS) domain and configure a CDN to send the necessary security certificates. Failure to set up SSL will cause both image and web links to break.
+If you have an HTTP Strict Transport Security (HSTS) domain, set up SSL and configure a CDN to send required security certificates. Without SSL, image and web links break.
## Acquiring an SSL certificate
-You can acquire an SSL certificate by using a third party, usually a Content Delivery Network (CDN). A CDN can host the SSL certificate and serve it to the browser any time one of your links is clicked. This is done by redirecting the traffic through the CDN to apply necessary certificates before sending it through to our email partners SendGrid or SparkPost.
+Acquire an SSL certificate through a third party, usually a Content Delivery Network (CDN). A CDN hosts the certificate and serves it to the browser when a user clicks a link by redirecting traffic through the CDN to apply certificates before sending it to SendGrid or SparkPost.
-To get started with your SSL setup, contact your Braze customer success manager to initiate a full Braze email setup.
+To start SSL setup, contact your Braze customer success manager to initiate a full Braze email setup.
-After Braze has initiated this setup, follow these steps:
+After Braze initiates setup, follow these steps:
1. Braze will provide DNS records to add to your domain registry.
2. Braze will verify if records have been added to your registry correctly.
3. After this, you'll select a CDN and obtain SSL certificates from a third-party provider.
@@ -47,22 +47,22 @@ After Braze has initiated this setup, follow these steps:
### What is a CDN, and why do I need it?
-A content delivery network (CDN) is a platform of servers that help ensure quick load times of high-quality content across multiple mediums while also handling security certificates.
+A content delivery network (CDN) is a platform of servers that helps ensure quick load times of content across multiple mediums while also handling security certificates.
{% alert important %}
CDN configuration always follows after getting your DNS records validated by Braze. If you have not yet initiated this step, contact your customer success manager for more information on how to get started.
{% endalert %}
-At Braze, to do click and open tracking, our delivery partners transform links using a branded subdomain, and the CDN applies the SSL certificate to those newly transformed links. Often, our delivery partners are required to present valid and trusted certificates to your email recipient's browser for links and images to display correctly. Because Braze doesn't request or manage such certificates, this must be set up on your end through a CDN.
+For click and open tracking, delivery partners transform links using a branded subdomain and the CDN applies the SSL certificate to those transformed links. Partners often must present valid certificates to the recipient's browser for links and images to display correctly. Because Braze doesn't request or manage certificates, you must set this up through a CDN.
{% alert note %}
-If you are unable to or don't wish to use the CDNs listed when setting up SSL for click and open tracking, you may set up a custom SSL configuration. Note that alternate CDNs or custom proxies may result in a more complex and nuanced setup. Refer to the [SendGrid](https://sendgrid.com/docs/ui/account-and-settings/custom-ssl-configurations/) and [SparkPost](https://www.sparkpost.com/docs/tech-resources/using-proxy-https-tracking-domain/) articles on this topic.
+If you can't or don't want to use the listed CDNs for SSL click and open tracking, you may set up a custom SSL configuration. Alternate CDNs or custom proxies can result in a more complex setup. Refer to [SendGrid](https://sendgrid.com/docs/ui/account-and-settings/custom-ssl-configurations/) and [SparkPost](https://www.sparkpost.com/docs/tech-resources/using-proxy-https-tracking-domain/) documentation.
{% endalert %}
#### Additional resources
{% alert important %}
-For further assistance with troubleshooting your CDN configuration, you must contact your CDN provider.
+For troubleshooting your CDN configuration, contact your CDN provider.
{% endalert %}
The following table includes step-by-step guides written by ESP partners on how to configure certain CDNs. While your specific CDN may not be listed, you must make sure your CDN has the ability to apply SSL certificates.
@@ -72,28 +72,28 @@ The following table includes step-by-step guides written by ESP partners on how
| [AWS Cloudfront](https://support.sendgrid.com/hc/en-us/articles/4412701748891-How-to-configure-SSL-for-click-tracking-using-CloudFront)
[CloudFlare](https://sendgrid.com/docs/ui/sending-email/content-delivery-networks/#using-cloudflare)
[Fastly](https://sendgrid.com/docs/ui/sending-email/content-delivery-networks/#using-fastly)
[KeyCDN](https://sendgrid.com/docs/ui/sending-email/content-delivery-networks/#using-keycdn) | [AWS Cloudfront](https://support.sparkpost.com/docs/tech-resources/enabling-https-engagement-tracking-on-sparkpost/#step-by-step-guide-with-aws-cloudfront)
[CloudFlare](https://support.sparkpost.com/docs/tech-resources/enabling-https-engagement-tracking-on-sparkpost/#step-by-step-guide-with-cloudflare)
[Fastly](https://support.sparkpost.com/docs/tech-resources/enabling-https-engagement-tracking-on-sparkpost/#step-by-step-guide-with-fastly)
[Google Cloud Platform](https://support.sparkpost.com/docs/tech-resources/enabling-https-engagement-tracking-on-sparkpost/#step-by-step-guide-with-google-cloud-platform)
[Microsoft Azure](https://support.sparkpost.com/docs/tech-resources/enabling-https-engagement-tracking-on-sparkpost/#step-by-step-guide-with-microsoft-azure) |
{: .reset-td-br-1 .reset-td-br-2 role="presentation" }
-For Amazon SES, refer to [Option 2: Configuring an HTTPS domain](https://docs.aws.amazon.com/ses/latest/dg/configure-custom-open-click-domains.html) and specify the AWS tracking domain by your region based on your Braze cluster:
+For Amazon SES, refer to [Option 2: Configuring an HTTPS domain](https://docs.aws.amazon.com/ses/latest/dg/configure-custom-open-click-domains.html) and specify the AWS tracking domain by region based on your Braze cluster:
- **Braze US clusters:** `r.us-east-1.awstrack.me`
- **Braze EU clusters:** `r.eu-central-1.awstrack.me`
{% alert important %}
-When configuring your CDN's click-tracking domain, make sure you enable the `X-Forwarded-Host` header. This is used to prevent potential security issues, such as host header attacks. Refer to the CDN documentation or your support team on how to do this, as this varies depending on the CDN.
+When you configure your CDN's click-tracking domain, enable the `X-Forwarded-Host` header to prevent potential security issues such as host header attacks. Refer to CDN documentation or your support team for steps.
{% endalert %}
#### Troubleshooting
-While CDN configuration, certificates, and proxy issues should be handled with your CDN, here are some general troubleshooting tips to help identify common issues with SSL click tracking setup.
+While you should handle CDN configuration, certificates, and proxy issues with your CDN, use these tips to identify common SSL click tracking issues.
##### Domain registry issues
-A dig command can tell you whether you are pointing your link tracking at the CDN. This can be done in your terminal by running `dig CNAME link_tracking_subdomain`. After the command is run, under `ANSWER SECTION`, it should list where your CNAME is pointed to. If it pointed to your chosen email service provider (SendGrid or SparkPost) and not your CDN, try reconfiguring your domain registry to point to your CDN.
+Run a dig command to confirm you point link tracking at the CDN. In your terminal run `dig CNAME link_tracking_subdomain`. Under `ANSWER SECTION`, it lists where your CNAME points. If it points to the email service provider (SendGrid or SparkPost) and not your CDN, reconfigure your domain registry to point to your CDN.
##### CDN issues
-If your live email links start breaking during setup, this generally means you've pointed your DNS toward your CDN without it being properly configured. This can appear as a "wrong link" error. Contact your CDN provider and review their documentation to help to troubleshoot your CDN configuration.
+If live email links break during setup, you likely pointed DNS toward your CDN before proper configuration. This can appear as a "wrong link" error. Contact your CDN provider and review their documentation to troubleshoot configuration.
##### SSL enablement status
-If you have completed your SSL setup and your links still appear as HTTP and not HTTPS, contact your Braze customer success manager to make sure SSL has been enabled by Braze. SSL can only be enabled by Braze after all aspects of your SSL setup have been completed.
+If you complete SSL setup and links still appear as HTTP, contact your Braze customer success manager to confirm Braze enabled SSL. Braze enables SSL only after all setup steps are complete.
diff --git a/_docs/_user_guide/message_building_by_channel/email/html_editor/creating_an_email_campaign.md b/_docs/_user_guide/message_building_by_channel/email/html_editor/creating_an_email_campaign.md
index 2d3a5c55dc7..d2b967a8bc5 100644
--- a/_docs/_user_guide/message_building_by_channel/email/html_editor/creating_an_email_campaign.md
+++ b/_docs/_user_guide/message_building_by_channel/email/html_editor/creating_an_email_campaign.md
@@ -24,7 +24,7 @@ If this is your first time creating an email campaign, we highly recommend check
## Step 1: Choose where to build your message
-Not sure whether your message should be sent using a campaign or a Canvas? Campaigns are better for single, simple messaging campaigns, while Canvases are better for multi-step user journeys.
+Not sure whether to send your message using a campaign or a Canvas? Use campaigns for single, simple messaging. Use Canvases for multi-step user journeys.
{% tabs %}
{% tab Campaign %}
@@ -71,7 +71,7 @@ After you've selected your template, you'll see an overview of your email where
{: style="max-width:30%;float:right;margin-left:15px;border:none;" }
-The plaintext version of your email will always update automatically from the HTML version until an edit to the plaintext version is detected. When an edit is detected, Braze will no longer update the plaintext, as we assume you made intentional changes that shouldn't be overwritten. You can revert to automatic synchronization in the **Plaintext** tab by selecting the **Regenerate from HTML** icon, which only appears if the plaintext isn't synchronizing.
+Braze automatically updates the plaintext version from the HTML version until it detects an edit to the plaintext. After Braze detects an edit, it stops updating the plaintext because it assumes you made intentional changes. To restore automatic sync, go to **Plaintext** and select **Regenerate from HTML** (visible only when plaintext isn't synchronizing).
{% alert tip %}
To add motion in an email with an accurate preview, use GIFs instead of elements that require JavaScript, as most inboxes don't support JavaScript.
@@ -80,7 +80,7 @@ To add motion in an email with an accurate preview, use GIFs instead of elements
{: style="max-width:75%" }
{% alert important %}
-Braze will automatically remove HTML event handlers referenced as attributes. This will modify the HTML, so it is recommended to re-check the email after it's completed. Learn more about [HTML handlers](https://www.w3schools.com/tags/ref_eventattributes.asp).
+Braze automatically removes HTML event handlers referenced as attributes. This modifies the HTML, so re-check the email after you finish. Learn more about [HTML handlers](https://www.w3schools.com/tags/ref_eventattributes.asp).
{% endalert %}
{% alert tip %}
@@ -93,7 +93,7 @@ Need help crafting right-to-left messages for languages like Arabic and Hebrew?
### Step 3a: Add your sending information
-After you've finished designing and building your email message, it's time to add your sending information in the **Sending Settings** section.
+After you finish designing and building your email message, add your sending information in **Sending Settings**.
1. Under **Sending Info**, select an email as the **From Display Name + Address**. You can also customize this by selecting **Customize From Display Name + Address**.
2. Select an email as the **Reply-To Address**. You can also customize this by selecting **Customize Reply-To Address**.
@@ -106,11 +106,11 @@ A preview in the right-hand panel will populate with the sending information you
#### Advanced
-Under **Sending Settings** > **Advanced**, you can turn on inline CSS and add personalization for email headers and email extras, which allows you to send additional data back to other email service providers.
+Under **Sending Settings** > **Advanced**, turn on inline CSS and add personalization for email headers and email extras to send additional data back to other email service providers.
##### Email headers
-To add email headers, select **Add New Header**. Email headers contain information about the email being sent. These [key-value pairs]({{site.baseurl}}/user_guide/personalization_and_dynamic_content/key_value_pairs/) typically have information about the sender, recipient, authentication protocols, and email routing information. Braze automatically adds the necessary header information required by the RFC for emails to be delivered to your inbox provider properly.
+To add email headers, select **Add New Header**. Email headers contain information about the email being sent. These [key-value pairs]({{site.baseurl}}/user_guide/personalization_and_dynamic_content/key_value_pairs/) typically include sender, recipient, authentication protocol, and routing information. Braze automatically adds the RFC-required header information for emails to reach inbox providers.
Braze allows you the flexibility to add additional email headers as needed for advanced use cases. There are a few reserved fields that the Braze platform will overwrite during sending.
@@ -174,7 +174,7 @@ Email extra values are not published to Currents or Snowflake. If you're looking
### Step 3b: Preview and test your message
-After you finish composing your perfect email, you need to test it before sending it out. From the bottom of the overview screen, select **Preview and Test**.
+After you finish composing your email, test it before sending. From the bottom of the overview screen, select **Preview and Test**.
Here, you can preview how your email will appear in a customer's inbox. With **Preview as User** selected, you can preview your email as a random user, select a specific user, or create a custom user. This allows you to test that your Connected Content and personalization calls are working as they should.
@@ -186,7 +186,7 @@ You can also switch between desktop, mobile, and plaintext views to get a sense
Curious about what your email looks like for dark mode users? Select the **Dark Mode Preview** toggle located in the **Preview and Test** section (drag-and-drop editor only).
{% endalert %}
-When you're ready for a final check, select **Test Send** and send a test message to yourself or a group of content testers to ensure that your email displays properly on a variety of devices and email clients.
+When you're ready for a final check, select **Test Send** and send a test message to yourself or a tester group to confirm the email displays properly across devices and clients.

@@ -220,11 +220,11 @@ The editor will call out any problems it catches with your message before you se
{% tabs %}
{% tab Campaign %}
-Next, build the remainder of your campaign! See the following sections for further details on how to best use our tools to build your email campaign.
+Next, build the remainder of your campaign. See the following sections for details on how to use Braze tools to build your email campaign.
#### Choose delivery schedule or trigger
-Emails can be delivered based on a scheduled time, an action, or based on an API trigger. For more, refer to [Scheduling your campaign]({{site.baseurl}}/user_guide/engagement_tools/campaigns/building_campaigns/delivery_types/).
+Deliver emails based on a scheduled time, an action, or an API trigger. For more, refer to [Scheduling your campaign]({{site.baseurl}}/user_guide/engagement_tools/campaigns/building_campaigns/delivery_types/).
{% alert note %}
For API-triggered campaigns, when the trigger action is set to **Interact With Campaign**, selecting a **Receive** option as the interaction will cause your new campaign to trigger as soon as Braze marks the selected campaign as sent, even if that message bounces or fails to be delivered.
@@ -234,7 +234,7 @@ You can also set the campaign's duration, specify [Quiet Hours]({{site.baseurl}}
#### Choose users to target
-Next, you need to [target users]({{site.baseurl}}/user_guide/engagement_tools/messaging_fundamentals/targeting_users/) by choosing segments or filters to narrow down your audience. You'll automatically be given a preview of what that segment population looks like right now, including how many users within that segment are reachable through email. Keep in mind that exact segment membership is always calculated just before the message is sent.
+Next, [target users]({{site.baseurl}}/user_guide/engagement_tools/messaging_fundamentals/targeting_users/) by choosing segments or filters. Braze shows a live preview of the segment population, including how many users are reachable through email. Exact segment membership is calculated just before send.
{% multi_lang_include target_audiences.md %}
@@ -265,7 +265,7 @@ Braze allows you to track how often users perform specific actions, [conversion
- Performs specific custom event
- Opens email
-You can allow up to a 30-day window during which a conversion will be counted if the user takes the specified action. While Braze automatically tracks opens and clicks for your campaign, you may wish to set the conversion event to be when a user opens or clicks on an email address to take advantage of [Intelligent Selection]({{site.baseurl}}/user_guide/brazeai/intelligence/intelligent_selection/).
+You can allow up to a 30-day window during which Braze counts a conversion if the user takes the specified action. While Braze tracks opens and clicks automatically, you may set the conversion event to an open or click to use [Intelligent Selection]({{site.baseurl}}/user_guide/brazeai/intelligence/intelligent_selection/).
{% endtab %}
{% tab Canvas %}
@@ -275,7 +275,7 @@ If you haven't done so already, complete the remaining sections of your Canvas c
## Step 5: Review and deploy
-The final section will give you a summary of the campaign you've just designed. Confirm all the relevant details and select **Launch Campaign**. Now, it's time to wait for all the data to roll in!
+The final section summarizes the campaign you designed. Confirm all relevant details and select **Launch Campaign**.
To learn how you can access the results of your email campaigns, check out [Email reporting]({{site.baseurl}}/user_guide/message_building_by_channel/email/reporting_and_analytics/email_reporting/).
diff --git a/_docs/_user_guide/message_building_by_channel/email/inbox_vision.md b/_docs/_user_guide/message_building_by_channel/email/inbox_vision.md
index 7e5093e7a82..d171696d5a6 100644
--- a/_docs/_user_guide/message_building_by_channel/email/inbox_vision.md
+++ b/_docs/_user_guide/message_building_by_channel/email/inbox_vision.md
@@ -12,22 +12,22 @@ channel:
# Inbox Vision
-> Inbox Vision allows you to view your emails from the perspective of various email clients and mobile devices. For example, you can use Inbox Vision to test for differences across dark and light modes to confirm you've got your emails just right.
+> Inbox Vision lets you view your emails from the perspective of various email clients and mobile devices. For example, you can test dark and light mode differences to confirm your emails render as intended.
{% alert important %}
-In general, your email won't work with Inbox Vision if your email content relies on templating information, such as user profile information. This is because Braze templates in an empty user when we send emails using this feature.
Make sure you've added default values to any Liquid in your email message. If no default values are provided, you may receive a false positive or the test may fail to run.
+Inbox Vision may not work if your email content relies on templating information such as user profile data. Braze templates an empty user when sending emails for this feature.
Add default values to any Liquid in your email message. Without defaults you may receive a false positive or the test may fail.
{% endalert %}
## Testing your email in Inbox Vision
-Your email must include a subject line and a valid sending domain in order to see these previews. Be mindful of how your email can render different on the desktop versus on mobile devices. As you view these previews, you can review your content and ensure that your email is displaying as intended.
+Include a subject line and a valid sending domain to view previews. Be mindful of desktop versus mobile rendering differences. Use the previews to confirm the email appears as intended.
-To test your email message in Inbox Vision, do the following:
+To test your email message in Inbox Vision:
1. Go to your drag-and-drop editor or HTML email editor.
2. In your editor, select **Preview & Test**.
3. Select **Inbox Vision**.
-4. Select **Run Inbox Vision**. This may take between two to ten minutes to complete.
+4. Select **Run Inbox Vision**. This takes up to ten minutes.
5. Next, select a tile to view the preview in more detail. These previews are grouped into these sections: **Web Clients**, **Application Clients**, and **Mobile Clients**.

@@ -37,34 +37,34 @@ To test your email message in Inbox Vision, do the following:
7. Select **Re-run Test** to see the updated previews.
{% alert note %}
-Inbox Vision isn't supported if your email message includes [abort logic]({{site.baseurl}}/user_guide/personalization_and_dynamic_content/liquid/aborting_messages) as these emails are rendered as static content.
+Inbox Vision doesn't support email messages that include [abort logic]({{site.baseurl}}/user_guide/personalization_and_dynamic_content/liquid/aborting_messages) because these emails render as static content.
{% endalert %}
### Previewing as a user
-When you preview the email as a random user, any specific settings or attributes associated with a user, such as their name or preferences, aren't saved for current or future previews. When you select a custom user, the preview shown in Inbox Vision may differ from the message preview elsewhere since this option uses specific user data to create the preview
+When you preview as a random user, Inbox Vision doesn't save user-specific settings or attributes (such as name or preferences). When you select a custom user, the Inbox Vision preview may differ from other previews because it uses specific user data.
## Code analysis
-Code analysis is a way for Braze to highlight issues that may exist with your HTML, showing the number of occurrences of each issue and providing insight into which HTML elements are not supported.
+Code analysis highlights potential HTML issues, shows the number of occurrences, and indicates unsupported HTML elements.
### Viewing code analysis information
-This information can be found on the **Inbox Vision** tab by selecting **List view**. This list view is available for HTML email templates only. If you're using drag-and-drop email templates, check the previews to resolve any possible issues instead.
+Find this information on the **Inbox Vision** tab by selecting **List view**. List view is available only for HTML email templates. For drag-and-drop templates, use previews to resolve issues instead.

{% alert note %}
-Sometimes the code analysis will display faster than the preview for a particular email client. This is because Braze waits until the email arrives in the inbox before taking the screenshot.
+Code analysis can appear faster than the preview for a particular client because Braze waits until the email arrives before taking the screenshot.
{% endalert %}
## Spam testing
-Spam testing attempts to predict whether your email will land in spam folders or your customers' inboxes. Spam testing runs across major spam filters, such as IronPort, SpamAssassin, and Barracuda, as well as major internet service provider (ISP) filters such as Gmail.com and Outlook.com.
+Spam testing predicts whether your email lands in spam folders or inboxes. Braze runs tests across major spam filters (IronPort, SpamAssassin, Barracuda) and major ISP filters (Gmail.com, Outlook.com).
### Viewing spam test results
-To check your spam test results, do the following:
+To check your spam test results:
1. Select the **Spam Testing** tab in the **Inbox Vision** section. The **Spam Test Result** table lists the spam filter name, status, and type.
@@ -76,23 +76,23 @@ To check your spam test results, do the following:
## Accessibility testing
-Accessibility testing in Inbox Vision highlights accessibility issues that may exist with your email to provide insight into which elements are not meeting accessibility standards. It analyzes your email content against some Web Content Accessibility Guidelines ([WCAG](https://www.w3.org/WAI/standards-guidelines/wcag/)). WCAG is a set of internationally recognized technical standards developed by the World Wide Web Consortium (W3C) to make web content more accessible to people with disabilities.
+Accessibility testing highlights potential accessibility issues in your email and shows which elements don't meet standards. Braze analyzes content against select Web Content Accessibility Guidelines ([WCAG](https://www.w3.org/WAI/standards-guidelines/wcag/)), a set of internationally recognized standards developed by the W3C to make web content more accessible.
### How it works
-When you run an Inbox Vision test, the tool automatically checks for common email accessibility issues in the [WCAG 2.2 AA rule set](https://www.w3.org/WAI/WCAG22/quickref/?versions=2.2¤tsidebar=%23col_customize&levels=aaa), such as missing alt text, insufficient color contrast, and improper heading structure, then categorizes the severity of each issue to help you prioritize fixes.
+When you run Inbox Vision, Braze automatically checks for common accessibility issues in the [WCAG 2.2 AA rule set](https://www.w3.org/WAI/WCAG22/quickref/?versions=2.2¤tsidebar=%23col_customize&levels=aaa) (such as missing alt text, insufficient color contrast, improper heading structure) and categorizes severity to help you prioritize fixes.
{% alert important %}
-Accessibility Testing may be used to support Customer's compliance efforts of regulations or laws such as the [European Accessibility Act](https://www.braze.com/resources/articles/european-accessibility-at-what-it-means-for-marketers), however Customer acknowledges that Braze makes no representations or warranties with respect to whether or not use of Accessibility Testing satisfies Customer's compliance obligations, and disclaims all liability in relation thereto.
+Accessibility Testing may be used to support Customer's compliance efforts of regulations or laws such as the [European Accessibility Act](https://www.braze.com/resources/articles/european-accessibility-at-what-it-means-for-marketers); however, Customer acknowledges that Braze makes no representations or warranties with respect to whether or not use of Accessibility Testing satisfies Customer's compliance obligations, and disclaims all liability in relation thereto.
{% endalert %}
### Viewing accessibility testing results
-Accessibility testing will generate results for each rule as passed, failed, or needs review in the **Accessibility Testing** tab. Each rule is categorized using POUR (Perceivable, Operable, Understandable, Robust), which are the four main principles behind WCAG.
+Accessibility testing generates results for each rule as passed, failed, or needs review in the **Accessibility Testing** tab. Braze categorizes each rule using POUR (Perceivable, Operable, Understandable, Robust), the four principles behind WCAG.
#### POUR categories
-Issues are categorized under the four foundational [POUR principles](https://www.w3.org/WAI/WCAG22/Understanding/intro#understanding-the-four-principles-of-accessibility): Perceivable, Operable, Understandable, and Robust. Each principle addresses a different aspect of accessible design.
+Inbox Vision categorizes issues under the four foundational [POUR principles](https://www.w3.org/WAI/WCAG22/Understanding/intro#understanding-the-four-principles-of-accessibility): Perceivable, Operable, Understandable, and Robust.
| Principle | Definition |
| --- | --- |
@@ -104,7 +104,7 @@ Issues are categorized under the four foundational [POUR principles](https://www
#### Severity levels
-Inbox Vision classifies accessibility issues by severity to help you prioritize remediation efforts.
+Inbox Vision classifies accessibility issues by severity to help you prioritize remediation.
| Status | Definition |
| --- | --- |
@@ -117,8 +117,7 @@ Inbox Vision classifies accessibility issues by severity to help you prioritize
{: .reset-td-br-1 .reset-td-br-2 role="presentation" }
{% alert important %}
-The email drag-and-drop editor currently does not support setting a document `` element. As a result, the accessibility scanner will always fail this check.
-We're tracking this limitation for future improvements. If this affects your workflows or your users, [share your feedback]({{site.baseurl}}/user_guide/administrative/access_braze/navigation/#sharing-feedback) so we can prioritize the most impactful fixes.
+The drag-and-drop editor does not support setting a document `` element, so the accessibility scanner always fails this check.
We are tracking this limitation for improvements. If this affects your workflows or your users, [share your feedback]({{site.baseurl}}/user_guide/administrative/access_braze/navigation/#sharing-feedback) so we can prioritize impactful fixes.
{% endalert %}
### Understanding automated accessibility testing
@@ -127,4 +126,4 @@ We're tracking this limitation for future improvements. If this affects your wor
## Test accuracy
-All of our tests are run through actual email clients. Braze works hard to check that all renderings are as accurate as possible. If you consistently see an issue with an email client, open a [support ticket]({{site.baseurl}}/braze_support/).
+Braze runs tests through actual email clients and works to ensure renderings are accurate. If you consistently see an issue with a client, open a [support ticket]({{site.baseurl}}/braze_support/).
diff --git a/_docs/_user_guide/message_building_by_channel/email/managing_user_subscriptions.md b/_docs/_user_guide/message_building_by_channel/email/managing_user_subscriptions.md
index 100aa1ca837..3e7ed730675 100644
--- a/_docs/_user_guide/message_building_by_channel/email/managing_user_subscriptions.md
+++ b/_docs/_user_guide/message_building_by_channel/email/managing_user_subscriptions.md
@@ -10,13 +10,13 @@ channel:
# Email subscriptions
-> Learn about the different user subscription states, how to create and manage subscription groups, and how to segment users based on their subscriptions.
+> Learn about user subscription states, how to create and manage subscription groups, and how to segment users based on their subscriptions.
This document is for informational purposes only. It is not intended to provide, nor may it be relied upon as providing legal advice in any capacity. Sending marketing and transactional emails may be subject to specific legal requirements. To ensure that you are doing so in compliance with all applicable laws, rules, and regulations specific to your company, you should seek the advice of your legal counsel and/or regulatory compliance team.
## Subscription states {#subscription-states}
-Braze has three global subscription states for email users (listed in the following table), which are the final gatekeepers between your messages and your users. For example, users who are considered `unsubscribed` will not receive messages targeted at the global subscription state of `subscribed` or `opted-in`.
+Braze has three global subscription states for email users. These states gate your messages from users. For example, users in the `unsubscribed` state don't receive messages targeted at `subscribed` or `opted-in`.
| State | Definition |
| ----- | ---------- |
@@ -31,9 +31,9 @@ Braze does not count subscription state changes against your data points, global
### Unsubscribed email addresses
-Braze will automatically unsubscribe any user who manually unsubscribes from your email through a [custom footer]({{site.baseurl}}/user_guide/message_building_by_channel/email/custom_email_footer). If the user updates their email address and **Resubscribe users when they update their email** is enabled in your **Sending Configuration** settings, normal email sending will resume.
+Braze automatically unsubscribes any user who manually unsubscribes through a [custom footer]({{site.baseurl}}/user_guide/message_building_by_channel/email/custom_email_footer). If the user updates their email address and **Resubscribe users when they update their email** is enabled in **Sending Configuration**, normal sending resumes.
-If a user has marked one or more of your emails as spam, Braze will only send transactional emails to this user. In this case, transactional emails refer to the selected **Send to all users including unsubscribed users** option in the **Target Audience** step.
+If a user marks one or more of your emails as spam, Braze sends only transactional emails to that user. Transactional emails refer to the **Send to all users including unsubscribed users** option in **Target Audience**.
{% alert tip %}
Refer to our [IP warming]({{site.baseurl}}/user_guide/message_building_by_channel/email/email_setup/ip_warming/) best practices for guidance on how to re-engage your users effectively.
@@ -43,7 +43,7 @@ Refer to our [IP warming]({{site.baseurl}}/user_guide/message_building_by_channe
{% multi_lang_include analytics/metrics.md metric='Hard Bounce' %} {% multi_lang_include analytics/metrics.md metric='Soft Bounce' %}
-When an email address hard bounces, the user's subscription state isn't automatically set to "unsubscribed". If an email address hard bounces (such as when an email is invalid or doesn't exist), we'll mark the user's email address as invalid and will not attempt to send further emails to that email address. If that user changes their email address, then we will resume sending emails to them since their new email may be valid. Soft bounces are automatically retried for 72 hours.
+When an email address hard bounces, Braze doesn't automatically set the user's subscription state to "unsubscribed". If an address hard bounces (invalid or doesn't exist), Braze marks it invalid and doesn't attempt further sends. If the user changes their email address, Braze resumes sending. Braze retries soft bounces for 72 hours.
### Updating email subscription states
@@ -55,24 +55,24 @@ Use the Braze SDK to update a user's subscription state.
#### REST API
-Use the [`/users/track` endpoint]({{site.baseurl}}/api/endpoints/user_data/post_user_track/) to update the [`email_subscribe` attribute]({{site.baseurl}}/api/objects_filters/user_attributes_object) for a given user.
+Use the [`/users/track` endpoint]({{site.baseurl}}/api/endpoints/user_data/post_user_track/) to update the [`email_subscribe` attribute]({{site.baseurl}}/api/objects_filters/user_attributes_object) for a user.
#### User profile
1. Find the user through **Search Users**.
-2. Under the **Engagement** tab, select the **Unsubscribed**, **Subscribed**, or **Opted In** buttons to change that user's subscription status.
+2. Under **Engagement**, select **Unsubscribed**, **Subscribed**, or **Opted In** to change the user's subscription status.
If available, the user profile also displays a timestamp for when the user's subscription was last changed.
#### Preference center
-[Preference center](#email-preference-center) Liquid can be included at the bottom of your emails, allowing users to opt in or out of emails. Braze manages the subscription state updates from the preference center.
+Include [Preference center](#email-preference-center) Liquid at the bottom of your emails to let users opt in or out. Braze manages subscription state updates from the preference center.
### Checking email subscription state
{: style="float:right;max-width:35%;margin-left:15px;"}
-There are two ways you can check a user's email subscription state with Braze:
+You can check a user's email subscription state in the following ways:
1. **REST API export:** Use the [Export users by segment]({{site.baseurl}}/api/endpoints/export/user_data/post_users_segment/) or [Export users by identifier]({{site.baseurl}}/api/endpoints/export/user_data/post_users_identifier/) endpoints to export individual user profiles in JSON format.
2. **User profile:** Find the user's profile on the [Search Users]({{site.baseurl}}/user_guide/engagement_tools/segments/user_profiles/) page, then select the **Engagement** tab to view and manually update a user's subscription state.
@@ -113,7 +113,7 @@ To archive your group from the **Subscription Groups** page, do the following:
1. Find your group in the list of subscription groups.
2. Select **Archive** from the dropdown menu.
-Braze will not process any state changes for users in archived groups. For example, if you archive Subscription Group 1 while Susie is subscribed to it, they will remain "subscribed" to this group, even if they click an unsubscribe link (this shouldn't matter to Susie because Subscription Group 1 is archived and you can't send any messages using it).
+Braze doesn't process state changes for users in archived groups. For example, if you archive Subscription Group 1 while Alex is subscribed to it, Alex remains "subscribed" even if they click an unsubscribe link. This doesn't matter because Subscription Group 1 is archived and you can't send messages using it.
#### Viewing subscription group sizes
@@ -123,7 +123,7 @@ You can reference the **Subscription Group Timeseries** graph in the **Subscript
#### Viewing subscription groups in campaign analytics
-You can see the number of users who changed their subscription state (subscribed or unsubscribed) from a specific email campaign on that campaign's analytics page.
+You can see counts of users who changed their subscription state (subscribed or unsubscribed) from a specific email campaign on that campaign's analytics page.
1. From the **Campaign Analytics** page for your campaign, scroll down to the **Email Message Performance** section.
2. Select the arrow under **Subscription Groups** to see the aggregate count of state changes, as submitted by your customers.
@@ -137,58 +137,58 @@ You can see the number of users who changed their subscription state (subscribed
## Email preference center
-The email preference center is an easy way to manage which users receive certain groups of newsletters and can be found in the dashboard under **Subscription Groups**. Each subscription group you create is added to the preference center list.
+The email preference center lets you manage which users receive subscription group newsletters. Find it in the dashboard under **Subscription Groups**. Each subscription group you create is added to the preference center list.
To learn more about how to add or customize a preference center, refer to [Preference center]({{site.baseurl}}/user_guide/message_building_by_channel/email/preference_center/overview/).
## Changing email subscriptions {#changing-email-subscriptions}
-In most cases, your users will manage their email subscription through subscription links that are included in the emails they receive. You must insert a legally-compliant footer with an unsubscribe link at the bottom of every email you send. When users select the unsubscribe URL in your footer, they should be unsubscribed and taken to a landing page that confirms the change to their subscription. We recommend including this Liquid tag: {%raw%}`${set_user_to_unsubscribed_url}`{%endraw%}.
+In most cases, users manage their email subscription through links included in the emails they receive. Insert a legally compliant footer with an unsubscribe link at the bottom of every email. When users select the unsubscribe URL, Braze unsubscribes them and shows a landing page confirming the change. Include this Liquid tag: {%raw%}`${set_user_to_unsubscribed_url}`{%endraw%}.
-Note that when a user selects "Unsubscribe from all of the above types of emails" in the email preference center, this updates their global email subscription status to `unsubscribed` and unsubscribes them from all subscription groups.
+When a user selects "Unsubscribe from all of the above types of emails" in the preference center, Braze sets their global email subscription status to `unsubscribed` and unsubscribes them from all groups.
### Creating custom footers {#custom-footer}
-If you don't want to use the default Braze footer in your emails, you can create a workspace-wide custom email footer which you can template into every email using the {% raw %}`{{${email_footer}}}`{% endraw %} Liquid attribute.
+If you don't want to use the default footer, create a workspace-wide custom email footer and template it into every email using {% raw %}`{{${email_footer}}}`{% endraw %}.
-This way, you don't have to create a new footer for every email template or email campaign you use. For steps, refer to [Custom email footer]({{site.baseurl}}/user_guide/message_building_by_channel/email/custom_email_footer/).
+This lets you avoid creating a new footer for every email template or email campaign. For steps, see [Custom email footer]({{site.baseurl}}/user_guide/message_building_by_channel/email/custom_email_footer/).
#### Managing subscription states for Chinese IP addresses
-If you anticipate that your email recipients will have a Chinese IP address, then you should not rely solely on an unsubscribe link in your email to maintain your `unsubscribed` lists. Instead, provide alternate ways for users to easily unsubscribe, such as opening a support ticket through your support portal or emailing a customer representative.
+If you anticipate Chinese IP addresses, don't rely solely on an unsubscribe link to maintain `unsubscribed` lists. Provide alternate unsubscribe paths such as a support ticket or customer representative email.
### Creating a custom unsubscribe page
-When users select an unsubscribe URL in an email, they are taken to a default landing page that confirms the change to their subscription.
+When users select an unsubscribe URL, Braze shows a default landing page confirming the change.
-To create a custom landing page that users will be directed to (instead of the default page) upon subscribing:
+To create a custom landing page (instead of the default) shown after subscribing:
1. Go to **Email Preferences** > **Subscription Pages and Footers**.
2. Provide the HTML for your custom landing page.
-We recommend including a resubscribe link (such as {% raw %}`{{${set_user_to_subscribed_url}}}`{% endraw %}) on the landing page so that users have the option to resubscribe in case they unsubscribed by accident.
+Include a resubscribe link (such as {% raw %}`{{${set_user_to_subscribed_url}}}`{% endraw %}) so users can resubscribe if they unsubscribed by accident.

### Creating a custom opt-in page
-Instead of immediately subscribing a user to your email campaigns, creating a custom opt-in page can give your users the opportunity to acknowledge and control their notification preferences. This additional communication can also help your email campaigns stay out of the spam folder since your users will have chosen to be opted-in.
+Use a custom opt-in page to let users acknowledge and control notification preferences before subscription. This additional communication can help email campaigns stay out of spam folders.
1. Go to **Settings** > **Email Preferences**.
2. Select **Subscription Pages and Footers**.
3. Customize the styling in the **Custom opt-in page** section to see how that indicates to your users that they've been subscribed.
-Users will be directed to this page through the {% raw %}`{{${set_user_to_opted_in_url}}}`{% endraw %} tag.
+Users reach this page through the {% raw %}`{{${set_user_to_opted_in_url}}}`{% endraw %} tag.
{% alert tip %}
-Braze recommends using a double opt-in process to help your email outreach. This process sends an additional confirmation email where a user would confirm their notification preferences again via a link in the email. At this point, the user is considered opted-in.
+Use a double opt-in process to improve outreach. Braze sends an additional confirmation email where a user confirms notification preferences via a link. After confirmation, the user is opted in.
{% endalert %}

## Subscriptions and campaign targeting {#subscriptions-and-campaign-targeting}
-By default, campaigns with push or email messages are targeted at users who are subscribed or opted-in by default. You can change this targeting preference when editing a campaign by going to the **Target Audience** step and selecting the dropdown next to **Send to these users:**.
+By default, Braze targets campaigns with push or email messages at users who are subscribed or opted in. Change this in **Target Audience** by selecting the dropdown next to **Send to these users:**.
Braze supports three targeting states:
@@ -202,9 +202,9 @@ It's your responsibility to comply with any applicable [spam laws]({{site.baseur
## Segmenting by user subscriptions {#segmenting-by-user-subscriptions}
-The "Email Subscription Status" and "Push Subscription Status" filters allow you to segment your users by their subscription status.
+Use the "Email Subscription Status" and "Push Subscription Status" filters to segment users by subscription status.
-This can be useful if you want to target users who have neither opted in nor out and encourage them to explicitly opt-in to email or push. In that case, you would create a segment with a filter for "Email/Push Subscription Status is Subscribed" and campaigns to this segment will go to users who are subscribed, but not opted-in.
+Use this to target users who have neither opted in nor out and encourage an explicit opt in. Create a segment with the filter "Email/Push Subscription Status is Subscribed" and send campaigns to users who are subscribed but not opted in.
