Skip to content

Commit

Permalink
Merge pull request #4874 from braze-inc/develop
Browse files Browse the repository at this point in the history
  • Loading branch information
bre-fitzgerald authored Feb 21, 2023
2 parents efb2a86 + 604f783 commit b63629a
Show file tree
Hide file tree
Showing 256 changed files with 18,411 additions and 16,439 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ Add Braze SDK import at the top of the `AppDelegate.swift` file:
import BrazeKit
```

In the same file, create the Braze configuration object in the `application:didFinishLaunchingWithOptions:` method and replace the API key and endpoint with your app's values. Then, create the Braze instance using the configuration, and create a static property on the AppDelegate for easy access:
In the same file, create the Braze configuration object in the `application(_:didFinishLaunchingWithOptions:)` method and replace the API key and endpoint with your app's values. Then, create the Braze instance using the configuration, and create a static property on the `AppDelegate` for easy access:

```swift
static var braze: Braze? = nil
Expand All @@ -76,7 +76,8 @@ func application(
apiKey: "<BRAZE_API_KEY>",
endpoint: "<BRAZE_ENDPOINT>"
)
// Enable logging or customize configuration here
// - Enable logging or customize configuration here
configuration.logger.level = .info
let braze = BrazePlugin.initBraze(configuration)
AppDelegate.braze = braze

Expand All @@ -90,7 +91,7 @@ Import `BrazeKit` at the top of the `AppDelegate.m` file:
@import BrazeKit;
```

In the same file, create the Braze configuration object in the `application:didFinishLaunchingWithOptions:` method and replace the API key and endpoint with your app's values. Then, create the Braze instance using the configuration, and create a static property on the AppDelegate for easy access:
In the same file, create the Braze configuration object in the `application:didFinishLaunchingWithOptions:` method and replace the API key and endpoint with your app's values. Then, create the Braze instance using the configuration, and create a static property on the `AppDelegate` for easy access:

```objc
- (BOOL)application:(UIApplication *)application
Expand All @@ -100,6 +101,7 @@ In the same file, create the Braze configuration object in the `application:didF
[[BRZConfiguration alloc] initWithApiKey:@"<BRAZE_API_KEY>"
endpoint:@"<BRAZE_ENDPOINT>"];
// - Enable logging or customize configuration here
configuration.logger.level = BRZLoggerLevelInfo;
Braze *braze = [BrazePlugin initBraze:configuration];
AppDelegate.braze = braze;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -216,14 +216,64 @@ cd ios && pod install
#### Step 2.2: Configure the Braze SDK

{% subtabs global %}
{% subtab SWIFT %}

Import the Braze SDK at the top of the `AppDelegate.swift` file:
```swift
import BrazeKit
```

In the `application(_:didFinishLaunchingWithOptions:)` method, replace the API key and endpoint with your app's values. Then, create the Braze instance using the configuration, and create a static property on the `AppDelegate` for easy access:

```swift
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
) -> Bool {
// Setup Braze bridge
let moduleInitializer = BrazeReactBridge() as? RCTBridgeDelegate
let bridge = RCTBridge(
delegate: moduleInitializer,
launchOptions: launchOptions)
let rootView = RCTRootView(
bridge: bridge,
moduleName: "<YOUR_PROJECT_NAME>",
initialProperties: nil)
self.bridge = rootView.bridge

// Configure views in the application
window = UIWindow(frame: UIScreen.main.bounds)
let rootViewController = UIViewController()
rootViewController.view = rootView
window.rootViewController = rootViewController
window.makeKeyAndVisible()

// Setup Braze
let configuration = Braze.Configuration(
apiKey: "<BRAZE_API_KEY>",
endpoint: "<BRAZE_ENDPOINT>")
// - Enable logging and customize the configuration here
configuration.logger.level = .info
let braze = BrazeReactBridge.initBraze(configuration)
AppDelegate.braze = braze

return true
}

// MARK: - AppDelegate.braze

static var braze: Braze? = nil
```

{% endsubtab %}
{% subtab OBJECTIVE-C %}

Import the Braze SDK at the top of the `AppDelegate.m` file:
```objc
@import BrazeKit;
```

In the `application:didFinishLaunchingWithOptions:` method, replace the API key and endpoint with your app's values. Then, create the Braze instance using the configuration, and create a static property on the AppDelegate for easy access:
In the `application:didFinishLaunchingWithOptions:` method, replace the API key and endpoint with your app's values. Then, create the Braze instance using the configuration, and create a static property on the `AppDelegate` for easy access:

```objc
- (BOOL)application:(UIApplication *)application
Expand All @@ -248,6 +298,7 @@ In the `application:didFinishLaunchingWithOptions:` method, replace the API key
BRZConfiguration *configuration = [[BRZConfiguration alloc] initWithApiKey:@"<BRAZE_API_KEY>"
endpoint:@"<BRAZE_ENDPOINT>"];
// - Enable logging and customize the configuration here
configuration.logger.level = BRZLoggerLevelInfo;
Braze *braze = [BrazeReactBridge initBraze:configuration];
AppDelegate.braze = braze;

Expand Down
11 changes: 11 additions & 0 deletions _docs/_partners/data_and_infrastructure_agility.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,5 +107,16 @@ valid_partner_list:
url: /docs/partners/data_and_infrastructure_agility/analytics/tellius/
- name: Contentsquare
url: /docs/partners/data_and_infrastructure_agility/analytics/contentsquare/
- name: Sisu Data
url: /docs/partners/data_and_infrastructure_agility/business_intelligence/sisu_data/
- name: ActionIQ
url: /docs/partners/data_and_infrastructure_agility/customer_data_platform/actioniq/
- name: Airbyte
url: /docs/partners/data_and_infrastructure_agility/workflow_automation/airbyte/
- name: Flywheel
url: /docs/partners/data_and_infrastructure_agility/workflow_automation/flywheel/
- name: Mozart Data
url: /docs/partners/data_and_infrastructure_agility/workflow_automation/mozart_data/


---
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
nav_title: Business Intelligence
article_title: Business Intelligence Partners
page_order: 3

page_type: landing
search_tag: Partner
description: "This page lists Braze partners (Alloys) that allow you you integrate with business intelligence products."

layout: partner_page
partner_api: "https://www.braze.com/api/v1/partners"
partner_path: "https://www.braze.com/product/alloys/partners/"

partner_top_header: "Business Intelligence"

valid_partner_list:
- name: Sisu Data
url: /docs/partners/data_and_infrastructure_agility/business_intelligence/sisu_data/

---
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
---
nav_title: Sisu Data
article_title: Sisu Data
description: "Sisu Data is the leader in cloud decision intelligence that uses ML to automatically segment metric performance and deliver fast, comprehensive, and actionable insights."
alias: /partners/sisudata
page_type: partner
search_tag: Partner
---

# Sisu Data

> [Sisu Data][2] is the leader in cloud decision intelligence that uses machine learning to automatically decompose metric performance and deliver fast, comprehensive, and actionable insights.
The Sisu Data and Braze integration allows you to understand across all campaigns or at a campaign level why metrics (e.g., open rate, click-through rate, conversion rate, etc.) are changing and what drives the most optimal outcomes. Once these segments are identified, Braze users can materialize the outputs in their data warehouse or send them directly from Sisu to Braze to retarget and reengage users.

## Prerequisites

| Requirement | Description |
| ----------- | ----------- |
| Sisu account | A [Sisu][3] account is required to take advantage of this partnership. |
| Braze REST API key | A Braze REST API key with `users.track` permissions. <br><br> This can be created within the **Braze Dashboard > Developer Console > REST API Key > Create New API Key**. |
| Braze REST endpoint | [Your REST endpoint URL][1]. Your endpoint will depend on the Braze URL for your instance. |
| Cloud warehouse | This integration assumes your Braze data is stored in a cloud warehouse (e.g., Snowflake, BigQuery). To streamline this integration process, we recommend utilizing Braze's native functionality via [Currents][4]. |
{: .reset-td-br-1 .reset-td-br-2}

## Integration

### Step 1: Prepare a dataset

The dataset should indicate the KPI you want Sisu to analyze. For instance, if you want to better understand why conversion rates dropped week-over-week, the reach record should represent a weekly conversion. The columns in the dataset should be potential reasons why the conversion rate could drop.

### Step 2: Create a metric

Once the dataset is prepped, you will need to create a metric that references an aggregated column. Since a dataset can power multiple metrics, the user can also curate a set of dimensions that should or shouldn't be part of all analyses by default. Note that users can always continue to curate at the analysis level.

![][6]

### Step 3: Create an analysis

There are different analyses that users can create in Sisu depending on the use case. One of the most common analyses is a period-over-period analysis to understand which segments have changed the most. Users can decide whether to analyze daily, weekly, monthly, or custom time periods by selecting the relative time periods.

For example, the user can create a month-over-month conversion rate analysis for a particular ad group and engagement channel and understand the top positive and negative drivers.

{% tabs %}
{% tab Top positive drivers %}

![]({% image_buster /assets/img/sisudata/kda_result_positive.png %})

{% endtab %}
{% tab Top negative drivers %}

![]({% image_buster /assets/img/sisudata/kda_result_negative.png %})

{% endtab %}
{% endtabs %}

From here, you can hone in on cohorts they may want to engage in or modify campaigns. For instance, Sisu has automatically identified that push notifications sent on Tuesdays and emails sent in large volumes severely affect the conversion rate.

![][9]

### Step 4: Write back the results to the data warehouse

Users can extract the results from Sisu using [Sisu's API][10] and materialize the segments in a data warehouse. Snowflake customers can activate these segments in Braze via [Cloud Data Ingestion][5].

For other data warehouses, users can leverage an existing activation solution or contact Sisu for additional help.

## Support

For questions about this integration, contact Sisu at partners@sisudata.com.

[1]: {{site.baseurl}}/developer_guide/rest_api/basics/#endpoints
[2]: https://sisudata.com/
[3]: https://sisudata.com/
[4]: {{site.baseurl}}/user_guide/data_and_analytics/braze_currents/setting_up_currents/
[5]: {{site.baseurl}}/user_guide/data_and_analytics/user_data_collection/cloud_ingestion/overview/
[6]: {% image_buster /assets/img/sisudata/metric_creation.png %}
[9]: {% image_buster /assets/img/sisudata/segment.png %}
[10]: https://docs.sisudata.com/docs/api/#tag/AnalysesService/operation/AnalysesService_AnalysisRunResults
Original file line number Diff line number Diff line change
Expand Up @@ -42,5 +42,9 @@ valid_partner_list:
url: /docs/partners/data_and_infrastructure_agility/customer_data_platform/dynamics_365_customer_insights/
- name: Octolis
url: /docs/partners/data_and_infrastructure_agility/customer_data_platform/octolis/
- name: ActionIQ
url: /docs/partners/data_and_infrastructure_agility/customer_data_platform/actioniq/



---
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
---
nav_title: ActionIQ
article_title: ActionIQ
description: "This article covers the Braze and ActionIQ integration. ActionIQ is a enterprise Customer Data platform for marketers, analysts, and technologists. This integration allows brands to sync and map their ActionIQ data directly to Braze."
alias: /partners/actioniq/
page_type: partner
search_tag: ActionIQ

---

# ActionIQ

> [ActionIQ][2] brings order to customer experience chaos. The ActionIQ Customer Experience (CX) Hub gives all teams direct but controlled self-service access to customer data to discover audiences and orchestrate experiences at scale.
The Braze and ActionIQ integration allows brands to sync and map their ActionIQ data directly to Braze, empowering the delivery of extraordinary customer experiences based on the entire breadth of their customer data. The integration enables the users to:
- Map audience segments or custom attributes to Braze directly from ActionIQ
- Forward the events tracked by ActionIQ to Braze in real time to trigger personalized and targeted campaigns

## Prerequisites

| Requirement | Description |
| ----------- | ----------- |
| ActionIQ account | An ActionIQ account is required to take advantage of this integration. |
| Braze REST API key | A Braze REST API key with `users.track` and `user.export.ids` permissions. <br><br> This can be created within the **Braze Dashboard > Developer Console > REST API Key > Create New API Key**. |
| Braze REST endpoint | [Your REST endpoint URL][1]. Your endpoint will depend on the Braze URL for your instance. |
{: .reset-td-br-1 .reset-td-br-2}

## Integration

### Connect ActionIQ to Braze

In ActionIQ, set up a Braze connection by providing your REST API key and Braze REST endpoint.

To match to consumers in the Braze platform, the following identifiers must be included in your activation setting:
- `braze_id`
- `external_id`

Once your integration has been connected, information will start sending to Braze.

#### Event integration

The ActionIQ platform can also be configured to receive event information via its streaming ingest service. This integration option forwards these events to Braze for marketers to use to orchestrate or trigger marketing campaigns. The event integration can send additional ActionIQ attributes as part of the properties within the event payload.

The events integration sends the following information to Braze:
- Event name
- Consumer identifier (either `braze_id` or `external_id`)
- Timestamp
- Event properties, which are populated by any additional attributes in the export setting

## Using this integration

Once your segments have successfully exported to Braze, you can find them as custom attributes on user profiles with the following naming convention:`AIQ_<Audience ID>_<Split ID>`.

Optionally, custom attributes used for message personalization can also be sent. Additional attributes included in the export will appear in Braze with the same name as the ActionIQ Attribute header.

To create a segment of these users, In Braze, navigate to **Segments**, create a new segment, and select **Custom Attributes** as your filter. From here, you can choose the ActionIQ custom attribute. Once created, you can select your segment as an audience filter when creating a campaign or Canvas.

[1]: {{site.baseurl}}/developer_guide/rest_api/basics/#endpoints
[2]: https://www.actioniq.com/
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,11 @@ valid_partner_list:
url: /docs/partners/data_and_infrastructure_agility/workflow_automation/hightouch/
- name: Census
url: /docs/partners/data_and_infrastructure_agility/workflow_automation/census/
- name: Airbyte
url: /docs/partners/data_and_infrastructure_agility/workflow_automation/airbyte/
- name: Flywheel
url: /docs/partners/data_and_infrastructure_agility/workflow_automation/flywheel/
- name: Mozart Data
url: /docs/partners/data_and_infrastructure_agility/workflow_automation/mozart_data/

---
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
nav_title: Airbyte
article_title: Airbyte
description: "This article covers the Braze and Airbyte integration. Airbyte is an open-source data integration engine that helps you consolidate your data in your data warehouses, lakes, and databases, forwarding real-time events from Airbyte to Braze."
alias: /partners/actioniq/
page_type: partner
search_tag: Airbyte

---

# Airbyte
[Airbyte](https://airbyte.com/) is an open-source data integration engine that helps you consolidate your data in your data warehouses, lakes, and databases.

The Braze and Airbyte integration allows users to create a data pipeline to collect and analyze Braze data by connecting all of your applications and databases to a central warehouse. Once data has been collected in the central warehouse, data teams can explore Braze data effectively using their preferred business intelligence tools.

## Prerequisites

| Requirement | Description |
| ----------- | ----------- |
| Airbyte Cloud account | An [Airbyte Cloud](https://cloud.airbyte.io/workspaces) account is required to take advantage of this integration. |
| Braze REST API key | A Braze REST API key with all permissions. <br><br> This can be created within the **Braze Dashboard > Developer Console > REST API Key > Create New API Key**. |
| Braze REST endpoint | [Your REST endpoint URL][1]. Your endpoint will depend on the Braze URL for your instance. |
{: .reset-td-br-1 .reset-td-br-2}

## Integration

1. In your Airbyte Cloud account, navigate to **Sources > + New Source > Set up the Source**.
2. Enter "Braze" as the source name and select **Braze** from the source dropdown.
3. Provide your endpoint URL, Braze REST API key, and start date. Click **Set up Source**.

### Supported sync modes

Airbyte's Braze source connector supports the following [sync modes](https://docs.airbyte.com/cloud/core-concepts#connection-sync-modes):
- **Full Refresh | Overwrite**: sync all records from the source and replace data in the destination by overwriting it.
- **Incremental Sync | Append**: Sync new records from the source and add them to the destination without deleting any data.

### Supported streams

- [`campaigns`](https://documenter.getpostman.com/view/4689407/SVYrsdsG?version=latest#f3b0b3ef-04fb-4a31-8570-e6ad88dacb18)
- [`campaigns_analytics`](https://documenter.getpostman.com/view/4689407/SVYrsdsG?version=latest#c07b5ebd-0246-471e-b154-416d63ae28a1)
- [`canvases`](https://documenter.getpostman.com/view/4689407/SVYrsdsG?version=latest#e6c150d7-fceb-4b10-91e2-a9ca4d5806d1)
- [`canvases_analytics`](https://documenter.getpostman.com/view/4689407/SVYrsdsG?version=latest#0fd61e93-7edf-4d87-a8dc-052420aefb73)
- [`events`](https://documenter.getpostman.com/view/4689407/SVYrsdsG?version=latest#93ecd8a5-305d-4b72-ae33-2d74983255c1)
- [`events_analytics`](https://documenter.getpostman.com/view/4689407/SVYrsdsG?version=latest#0bd1ab63-d1a5-4301-8d17-246cf24a178c)
- [`kpi_daily_new_users`](https://documenter.getpostman.com/view/4689407/SVYrsdsG?version=latest#07756c39-cfa0-40a0-8101-03f8791cec01)
- [`kpi_daily_active_users`](https://documenter.getpostman.com/view/4689407/SVYrsdsG?version=latest#90a64560-65aa-4f71-a8ef-1edf49321986)
- [`kpi_daily_app_uninstalls`](https://documenter.getpostman.com/view/4689407/SVYrsdsG?version=latest#59c4d592-3e77-42f8-8ff1-d5d250acbeae)
- [`cards`](https://documenter.getpostman.com/view/4689407/SVYrsdsG?version=latest#9fa7a3bc-4a02-4de2-bc4c-8f111750665e)
- [`cards_analytics`](https://documenter.getpostman.com/view/4689407/SVYrsdsG?version=latest#9cdc3b1e-641e-4d62-b9e8-42d04ee9d4d8)
- [`segments`](https://documenter.getpostman.com/view/4689407/SVYrsdsG?version=latest#1349e6f4-3ce7-4e60-b3e9-951c99c0993f)
- [`segments_analytics`](https://documenter.getpostman.com/view/4689407/SVYrsdsG?version=latest#62d9d142-cdec-4aea-a287-c13efea7415e)

{% alert note %}
Rate limits differ depending on the stream. Visit the [rate limits table](https://www.braze.com/docs/api/api_limits/#rate-limits-by-request-type) for more information.
{% endalert %}
Loading

2 comments on commit b63629a

@vercel
Copy link

@vercel vercel bot commented on b63629a Feb 21, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Successfully deployed to the following URLs:

braze-docs-fr – ./

braze-docs-fr-git-master-braze.vercel.app
braze-docs-fr.vercel.app
braze-docs-fr-braze.vercel.app

@vercel
Copy link

@vercel vercel bot commented on b63629a Feb 21, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Successfully deployed to the following URLs:

braze-docs-en – ./

braze-docs-en.vercel.app
braze-docs-en-braze.vercel.app
braze-docs-en-git-master-braze.vercel.app

Please sign in to comment.