Skip to content

Commit

Permalink
Merge pull request #7149 from braze-inc/develop
Browse files Browse the repository at this point in the history
Deploy - April 2, 2024
  • Loading branch information
josh-mccrowell-braze committed Apr 2, 2024
2 parents 6e445eb + 23380b1 commit b970a58
Show file tree
Hide file tree
Showing 37 changed files with 488 additions and 163 deletions.
44 changes: 2 additions & 42 deletions _docs/_api/data_retention.md
Expand Up @@ -14,7 +14,7 @@ Warning! Don't make any changes to this document without approval from the legal

# Braze Data Retention Information

*Last revised on January 20th, 2023*
*Last revised on April 1, 2024*

> This article covers general Braze data retention information.<br><br>Data stored in Braze is retained and usable for segmentation, personalization, and targeting for the lifetime of the Customer's account. This means data such as user profile attributes, custom attributes, custom events, and purchases are stored indefinitely for active users unless removed by the Customer, for the duration of the contract.<br><br>Braze has features, processes, and APIs in place to automatically implement good data hygiene practices for compliance with GDPR and other best practices. These are described below.
Expand Down Expand Up @@ -46,47 +46,7 @@ Customers have full control over whether or not a user is Inactive or Dormant an

#### Campaign and Canvas Interactions Data

{% tabs %}
{% tab Campaign Interactions Data %}
##### What is it?

Campaign Interactions are data related to End Users' interactions with a campaign. They are used for retargeting filters and to determine campaign re-eligibility.

##### When is it deleted?

Braze automatically deletes from the Customer's workspaces the Campaign Interactions for campaigns that have not sent any messages in 25 calendar months and are not used for retargeting in any campaigns, Canvases, or Content Cards in an active status.

##### What happens after deletion?

- Campaigns with no Campaign Interactions cannot be used in retargeting filters for campaigns, Canvases, and Segments.
- Any active campaign that has not sent any messages in 25 months, and is not being used for retargeting in any active campaigns, Canvases, or Cards, will be stopped because campaign eligibility resets. You can re-launch the campaign after reviewing the re-eligibility setting.

##### How to reset the clock to avoid deletion?

To retain Campaign Interactions for a particular campaign, you can send a message using that campaign at least once within the 25 months since the last message was sent or use that campaign in the **Received Message from Campaign** filter in any active campaign, Canvas, or Card. You can request a shorter data retention than 25 months via your Braze customer success manager.

{% endtab %}
{% tab Canvas Interactions Data %}

##### What is it?

Canvas Interactions are data related to End Users' interactions with a Canvas or Canvas step. They are used for retargeting filters and to determine Canvas re-eligibility.

##### When is it deleted?

Braze automatically deletes from the Customer's workspaces the Canvas Interactions for Canvases that have not sent any messages in 25 calendar months and are not used for retargeting by any active campaigns or Canvases.

##### What happens after deletion?

- Canvases with no Canvas Interactions cannot be used in retargeting filters for campaigns, Canvases, and Segments.
- Any active Canvas that has not been used to send messages in 25 months, and is not being used for retargeting in any active campaigns, Canvases, or Cards, will be stopped because Canvas eligibility resets. You can re-launch the Canvas after reviewing the re-eligibility setting.
- You will not be able to reference these Canvas Interactions in retargeting features, such as filters, and you will not be able to pull the deleted data from the `/users/export` API.

##### How to reset the clock to avoid deletion?

To retain Canvas Interactions for a particular Canvas, you can send a message using that Canvas at least once within the 25 months since the last message was sent or use that Canvas in the **Received Message from Campaign** filter in any active campaign, Canvas, or Card. You can request a shorter data retention than 25 months via your Braze customer success manager.
{% endtab %}
{% endtabs %}
Messaging interaction data refers to how a user interacts with a campaign or Canvas they received (for example, when a user opens campaign A or a user receives variant A). This data is used for retargeting. You can read more about messaging interaction data availability on [About messaging interaction data availability]({{site.baseurl}}/messaging_interaction_data/).

## Data Retention Handled by Braze

Expand Down
10 changes: 5 additions & 5 deletions _docs/_api/endpoints/messaging/duplicate_campaigns.md
Expand Up @@ -5,7 +5,7 @@ search_tag: Endpoint
page_order: 4
layout: api_page
page_type: reference
description: "This article outlines details about the Duplicating campaigns endpoint."
description: "This article outlines details about the Duplicate campaigns endpoint."

---
{% api %}
Expand All @@ -16,14 +16,14 @@ description: "This article outlines details about the Duplicating campaigns endp

> Use this endpoint to duplicate campaigns. This API endpoint is similar to [duplicating campaigns in the Braze dashboard][1].
{% alert note %}
To use this endpoint, you'll need to generate an API key with the `campaigns.duplicate` permission.
{% endalert %}

{% alert important %}
Duplicating a campaign via API is currently in early access. Contact your Braze account manager if you're interested in participating in the early access.
{% endalert %}

## Prerequisites

To use this endpoint, you'll need to generate an API key with the `campaigns.duplicate` permission.

## Rate limit

This endpoint is limited to 100 API calls per minute.
Expand Down
11 changes: 6 additions & 5 deletions _docs/_api/endpoints/user_data/post_users_merge.md
Expand Up @@ -125,10 +125,12 @@ curl --location --request POST 'https://rest.iad-01.braze.com/users/merge' \
},
{
"identifier_to_merge": {
"email": "user1@braze.com"
"email": "user1@braze.com",
"prioritization": ["unidentified", "most_recently_updated"]
},
"identifier_to_keep": {
"email": "user2@braze.com"
"identifier_to_keep": {
"email": "user2@braze.com",
"prioritization": ["identified", "most_recently_updated"]
}
},
{
Expand Down Expand Up @@ -254,8 +256,7 @@ The following table lists possible error messages that may occur.
| --- |
| `'merge_updates' must be an array of objects` | Check that `merge_updates` is an array of objects. |
| `a single request may not contain more than 50 merge updates` | You can only specify up to 50 merge updates in a single request. |
| `identifiers must be objects with an 'external_id' property that is a string, or 'user_alias' property that is an object` | Check the identifiers in your request. |
| `identifiers must be objects of the same type` | Check that the identifier object types match. |
| `identifiers must be objects with an 'external_id' property that is a string, 'user_alias' property that is an object, or 'email' property that is a string` | Check the identifiers in your request. |
| `'merge_updates' must only have 'identifier_to_merge' and 'identifier_to_keep'` | Check that `merge_updates` only contains the two objects `identifier_to_merge` and `identifier_to_keep`. |
{: .reset-td-br-1 .reset-td-br-2}

Expand Down
6 changes: 3 additions & 3 deletions _docs/_api/errors.md
Expand Up @@ -89,11 +89,11 @@ All of the following error codes indicate that no messages will be sent.
| `400 Android Push Length Exceeded` | JSON payload is more than 4,000 bytes.|
| `400 Bad Request` | Cannot parse `send_at` datetime.|
| `400 Bad Request` | In your request, `in_local_time` is true but `time` has passed in your company’s time zone.|
| `401 Unauthorized` | Invalid API key.|
| `401 Unauthorized` | Invalid API key |
| `403 Forbidden` | The rate plan doesn't support, or the account is otherwise inactivated.|
| `403 Access Denied` | The REST API key you are using does not have sufficient permissions, check the API key permissions under the **Settings** page.|
| `404 Not Found` | Unknown REST API key.|
| `429 Rate Limited` | Over rate limit.|
| `404 Not Found` | Invalid URL. |
| `429 Rate Limited` | Over rate limit. |
{: .reset-td-br-1 .reset-td-br-2}

{% endraw %}
136 changes: 65 additions & 71 deletions _docs/_help/release_notes.md
Expand Up @@ -54,6 +54,71 @@ guide_featured_list:
> <br>
> For more information on any of the updates listed in this section, reach out to your account manager or [open a support ticket]({{site.baseurl}}/help/support/). You can also check out [our SDK Changelogs]({{site.baseurl}}/developer_guide/platform_integration_guides/sdk_changelogs/) to see more information on our monthly SDK releases, updates, and improvements.
## April 2, 2024 release

### WhatsApp

#### Multiple business accounts

Now you can add multiple WhatsApp Business accounts and subscription groups to each workspace. For a full walkthrough, see [Multiple WhatsApp Business accounts and phone numbers]({{site.baseurl}}/user_guide/message_building_by_channel/whatsapp/overview/multiple_subscription_groups/).

#### Read rates

WhatsApp is testing new approaches, starting with consumers in India, to create more valuable experiences and maximize engagement with businesses’ marketing conversations. This may include limiting the number of marketing conversations a person receives from any business in a given period, starting with a small number of conversations that are less likely to be read. For more information, see [Meta resources]({{site.baseurl}}/user_guide/message_building_by_channel/whatsapp/meta_resources/).

### Data flexibility

#### Sync Amazon S3 buckets to Braze

{% multi_lang_include release_type.md release="Early access" %}

You can now use Cloud Data Ingestion for S3 to directly integrate one or more S3 buckets in your AWS account with Braze. When new files are published to S3, a message is posted to SQS, and Braze Cloud Data Ingestion takes in those new files. For more information, see [File storage integrations
]({{site.baseurl}}/user_guide/data_and_analytics/cloud_ingestion/file_integrations/).

#### Shopify OAuth

{% multi_lang_include release_type.md release="General availability" %}

Shopify is a leading global commerce company providing trusted tools to start, grow, market, and manage a retail business of any size. Now when you set up Shopify for Braze, you can [enable OAuth for your workspace]({{site.baseurl}}/partners/message_orchestration/channel_extensions/ecommerce/shopify/setting_up_shopify/).

#### Use Expo for iOS push notifications

We [added instructions]({{site.baseurl}}/developer_guide/platform_integration_guides/react_native/push_notifications/?tab=expo) for integrating rich push notifications and push stories into your iOS app using Expo with React Native.

#### Remote start iOS live activities

Now you can remote start your live activities on iOS using the [`/messages/live_activity/start`]({{site.baseurl}}/api/endpoints/messaging/live_activity/start/) endpoint. For a full walkthrough, see [Live Activities: Start an Activity]({{site.baseurl}}/developer_guide/platform_integration_guides/swift/live_activities/live_activities/#step-2-start-the-activity).

### AI and ML automation

#### Item recommendations

{% multi_lang_include release_type.md release="Early access" %}

With Sage AI by Braze, you can now calculate the most popular products or create personalized AI recommendations for a specific catalog. For more information, see [About item recommendations]({{site.baseurl}}/user_guide/sage_ai/recommendations/about_item_recommendations/).

#### QA in-app message content

{% multi_lang_include release_type.md release="General availability" %}

Previously, you could QA your SMS and push notification content using Sage AI in the Braze dashboard. Now, you can [QA in-app message content]({{site.baseurl}}/user_guide/sage_ai/generative_ai/ai_content_qa/) too.

### New Braze partnerships

#### Census - Cohort Import

You can now [import cohort users from Braze to Census]({{site.baseurl}}/partners/data_and_infrastructure_agility/cohort_import/census/), a data activation platform that connects cloud data warehouses like Snowflake and BigQuery to Braze. Your marketing teams can unlock the power of their first-party data to build dynamic audience segments, sync customer attributes to personalize campaigns, and keep all their data in Braze up-to-date.

### SDK updates

The following SDK updates have been released. Breaking updates are listed below; all other updates can be found by checking the corresponding SDK changelogs.

- [React Native 9.1.0](https://github.com/braze-inc/braze-react-native-sdk/blob/master/CHANGELOG.md)
- Updated the minimum React Native version to 0.71.0.
- Updated the minimum iOS version to 12.0.
- Updated the iOS bindings to use Braze Swift SDK 8.1.0.
- Updated the Android bindings to use Braze Android SDK 30.1.1.

## March 5, 2024 release

### Google EU User Consent Policy
Expand Down Expand Up @@ -659,75 +724,4 @@ The following SDK updates have been released. Breaking updates are listed below;
- [Roku SDK 2.0.0](https://github.com/braze-inc/braze-roku-sdk/blob/main/CHANGELOG.md#200)
- `getFeatureFlag` will return invalid when the flag does not exist.
- `BrazeTask` now observes `BrazeFeatureFlagsUpdated` to know when feature flags refreshes succeed or fail. Data values may not always be different.

## August 22, 2023 release

## Shopify catalogs

Shopify catalogs allow you to import your products from your Shopify store into a Braze catalog, automating the process to bring in product data for deeper personalization of your messages. You can enrich your abandoned cart, order confirmation, and more with the most up-to-date product details and information.

### Merging users by email

You can now [merge users by email]({{site.baseurl}}/api/endpoints/user_data/post_users_merge/#merging-users-by-email) using the `/users/merge` endpoint.

{% alert important %}
Merging users by email and using `/users/merge` with mismatched identifiers are currently in early access. Contact your Braze account manager if you’re interested in participating in the early access.
{% endalert %}

## Best practices for WhatsApp

Before sending your WhatsApp messages, you can reference suggested [best practices]({{site.baseurl}}/user_guide/message_building_by_channel/whatsapp/whatsapp_best_practices/) to maintain a high phone quality rating, avoid blocks and reports, and opt-in and out-out users.

### Domain reputation

In the Deliverability Center, you can now view and monitor your [domain reputation]({{site.baseurl}}/user_guide/data_and_analytics/analytics/deliverability_center#domain-reputation) to help avoid being filtered into a spam folder.

### Customization guides

We're excited to introduce a reorganization of the Developer Portal. Now, customization options for our SDKs, starting with [Content Cards]({{site.baseurl}}/developer_guide/customization_guides/content_cards), are consolidated into dedicated customization guides. This change streamlines your access to detailed instructions, making it easier to tailor experiences to your specific needs.

### Card creation in Canvas

You can choose when Braze evaluates audience eligibility and personalization for new Content Card campaigns and Canvas steps by specifying when the card is created.

{% alert important %}
Control over card creation in Canvas steps is in early access. Contact your Braze account manager if you're interested in participating in the early access.
{% endalert %}

### Copying to workspaces

[Copying campaigns across a workspace]({{site.baseurl}}/copying_to_workspaces/) allows you to get a jumpstart on your message composition by starting with a copy of a campaign in a different workspace. This copy will remain as a draft until you edit and launch, helping you keep and build off your successful messaging strategies.

{% alert important %}
Copying campaigns across workspaces is currently in early access. Contact your Braze account manager if you’re interested in participating in this early access.
{% endalert %}

### Push Max

[Push Max]({{site.baseurl}}/user_guide/message_building_by_channel/push/android/push_max/) amplifies Android push notifications by tracking failed push notifications and resending the push when the user is more likely to receive it. Learn about Push Max and how you can use this feature to potentially improve the deliverability of Android push notifications to [Chinese OEM devices]({{site.baseurl}}/user_guide/message_building_by_channel/push/best_practices/chinese_push_deliverability/).

{% alert important %}
Push Max is currently in early access. Contact your Braze account manager if you're interested in participating in the early access.
{% endalert %}

### SDK updates

The following SDK updates have been released. Breaking updates are listed below; all other updates can be found by checking the corresponding SDK changelogs.

- [Xamarin SDK 2.0.0–2.0.1](https://github.com/braze-inc/braze-xamarin-sdk/blob/master/CHANGELOG.md)
- Updated the Android binding to use Braze Android SDK 26.3.2
- [Flutter SDK 6.0.1](https://pub.dev/packages/braze_plugin/changelog)
- Updated the native Android bridge from Braze Android SDK 26.1.0 to 26.1.1.
- [Android SDK 27.0.0](https://github.com/braze-inc/braze-android-sdk/blob/master/CHANGELOG.md)
- [Swift SDK 6.5.0–6.6.0](https://github.com/braze-inc/braze-swift-sdk/blob/main/CHANGELOG.md)
- Fixed an issue in HTML in-app messages where custom event and purchase properties would always convert values for `1` and `0` to become `true` and `false`, respectively. These property values will now respect their original form in the HTML.
- [React Native SDK 6.0.0–6.0.2](https://github.com/braze-inc/braze-react-native-sdk/blob/master/CHANGELOG.md)
- Updated the native Android bridge from Braze Android SDK 26.3.1 to 26.3.2.
- [Cordova SDK 6.0.0-6.0.1](https://github.com/braze-inc/braze-cordova-sdk/blob/master/CHANGELOG.md)
- Updated the native Android version from Braze Android SDK 26.3.1 to 26.3.2
- [Expo Plugin 1.1.2](https://github.com/braze-inc/braze-expo-plugin/blob/1.1.2/CHANGELOG.md)
- [Unity 4.3.0](https://github.com/braze-inc/braze-unity-sdk/blob/master/CHANGELOG.md)
- [Segment Kotlin 1.4.1](https://github.com/braze-inc/braze-segment-kotlin/blob/main/CHANGELOG.md)
- [Segment-Android 15.0.1](https://github.com/Appboy/appboy-segment-android/blob/master/CHANGELOG.md)

<br><br>
3 changes: 3 additions & 0 deletions _docs/_help/release_notes/2024.md
Expand Up @@ -19,4 +19,7 @@ guide_menu_list:
- name: March 5, 2024
link: /docs/help/release_notes/2024/3_5_24/
fa_icon: fas fa-birthday-cake
- name: April 2, 2024
link: /docs/help/release_notes/2024/4_2_24/
fa_icon: fas fa-tint
---

0 comments on commit b970a58

Please sign in to comment.