The Customer Data Platform for Developers
Website · Documentation · Community Slack
The Braze integration allows you to send your event data from RudderStack to Braze for customer engagement, marketing automation, and analytics.
This SDK fully supports both Swift and Objective-C and can be used seamlessly in either type of project.
Add the Braze integration to your Swift project using Swift Package Manager:
-
Enter the package repository URL:
https://github.com/rudderlabs/integration-swift-brazein the search bar -
Select the target to which you want to add the package
-
Finally, click on Add Package
Alternatively, add it to your Package.swift file:
// swift-tools-version:5.9
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
name: "YourApp",
products: [
.library(
name: "YourApp",
targets: ["YourApp"]),
],
dependencies: [
// Add the Braze integration
.package(url: "https://github.com/rudderlabs/integration-swift-braze.git", .upToNextMajor(from: "<latest_version>"))
],
targets: [
.target(
name: "YourApp",
dependencies: [
.product(name: "RudderIntegrationBraze", package: "integration-swift-braze")
]),
]
)This integration supports Braze iOS SDK version:
>=18.2.0, <19.0.0
Use Xcode 26 or later. See Migrating to 2.0.0 before upgrading from 1.x.
The integration supports the following platforms:
- iOS 15.0+
- tvOS 15.0+
Initialize the RudderStack SDK and add the Braze integration:
import RudderStackAnalytics
import RudderIntegrationBraze
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Initialize the RudderStack Analytics SDK
let config = Configuration(
writeKey: "<WRITE_KEY>",
dataPlaneUrl: "<DATA_PLANE_URL>"
)
let analytics = Analytics(configuration: config)
// Add Braze integration
analytics.add(plugin: BrazeIntegration())
return true
}
}Replace:
<WRITE_KEY>: Your project's write key from the RudderStack dashboard<DATA_PLANE_URL>: The URL of your RudderStack data plane
The integration can map supported RudderStack ecommerce track events to Braze recommended ecommerce events (ecommerce.*). This is opt-in via the useEcommerceRecommendedEvents destination flag (configured in the RudderStack dashboard) and defaults to off — when off, track handling is unchanged.
When enabled, the following events are mapped:
| RudderStack event | Braze event | action |
|---|---|---|
| Product Viewed | ecommerce.product_viewed |
— |
| Product Added | ecommerce.cart_updated |
add |
| Product Removed | ecommerce.cart_updated |
remove |
| Checkout Started | ecommerce.checkout_started |
— |
| Order Completed | ecommerce.order_placed |
— |
| Order Refunded | ecommerce.order_refunded |
— |
| Order Cancelled | ecommerce.order_cancelled |
— |
Notes:
- Event names match case-insensitively after trimming.
Cart ViewedandCart Updatedare not mapped and fall through to the generic custom-event path. - With the flag on,
Order Completedemitsecommerce.order_placedinstead of the legacy purchase call. - The mapping never drops or rejects an event: values are coerced to Braze's expected type where the conversion is lossless, unmapped properties are preserved under
metadata, and missing required fields or type mismatches are surfaced as warnings while the event is still sent.
For more information:
- Email us at docs@rudderstack.com
- Join our Community Slack

