Skip to content

Commit

Permalink
Merge pull request #4219 from braze-inc/develop
Browse files Browse the repository at this point in the history
  • Loading branch information
bre-fitzgerald authored Oct 11, 2022
2 parents 506bad2 + a37e258 commit bce57bb
Show file tree
Hide file tree
Showing 10 changed files with 44 additions and 25 deletions.
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
---
nav_title: Braze Cloud Data Ingestion
permalink: /cloud_ingestion/
nav_title: Cloud Data Ingestion
article_title: Braze Cloud Data Ingestion
alias: /cloud_ingestion/
description: "This reference article covers Braze Cloud Data Ingestion and how to sync relevant user data to your Snowflake integration."
hidden: true
page_order: 6.1
page_type: reference

---

# Braze Cloud Data Ingestion - Snowflake integration
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,11 @@ You can use Braze’s User Track REST API endpoint to record custom events, user

## CSV

You can also upload and update user profiles via CSV files from the **User Import** page. This feature supports recording and updating user attributes such as first name and email, in addition to custom attributes such as shoe size. There are two different ways you can approach a CSV import, depending on if your users have an `external_id` or not.
You can also upload and update user profiles via CSV files from the **User Import** page. This feature supports recording and updating user attributes such as first name and email, in addition to custom attributes such as shoe size. There are two different ways you can approach a CSV import: importing with an `external_id` or with a user alias.

{% alert note %}
If you are uploading a mix of users with an `external_id` and users without, you need to create one CSV for each import. One CSV can't contain both `external_ids` and user aliases.
{% endalert %}

### Importing with external ID

Expand Down Expand Up @@ -97,8 +101,8 @@ Setting `language` or `country` on a user via CSV import or API will prevent Bra
| USER PROFILE FIELD | DATA TYPE | INFORMATION | REQUIRED |
|---|---|---|---|
| `external_id` | String | A unique user identifier for your customer. | Yes, see the following note |
| `user_alias` | String | A unique user identifier for anonymous users. An alternative to the `external_id`. | No, see the following note |
| `user_alias_label` | String | A common label by which to group user aliases. | Yes if `user_alias` is used |
| `user_alias_name` | String | A unique user identifier for anonymous users. An alternative to the `external_id`. | No, see the following note |
| `user_alias_label` | String | A common label by which to group user aliases. | Yes if `user_alias_name` is used |
| `first_name` | String | The first name of your users as they have indicated (e.g., `Jane`). | No |
| `last_name` | String | The last name of your users as they have indicated (e.g., `Doe`). | No |
| `email` | String | The email of your users as they have indicated (e.g., `jane.doe@braze.com`). | No |
Expand All @@ -122,7 +126,7 @@ Setting `language` or `country` on a user via CSV import or API will prevent Bra
While `external_id` itself is not mandatory, you **must** include one of these fields:
- `external_id` - A unique user identifier for your customer <br> - OR -
- `braze_id` - A unique user identifier pulled for existing Braze users <br> - OR -
- `user_alias` - A unique user identifier for an anonymous user
- `user_alias_name` - A unique user identifier for an anonymous user
{% endalert %}

### Importing custom data
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,11 @@ Check out this table for a summary of differences between `canvas_entry_properti
| **Liquid** | `canvas_entry_properties` | `event_properties` |
| **Persistence** | Can be referenced by all [Message][1] steps for the duration of a Canvas for Canvas Flow only. | - Can only be referenced once. <br> - Cannot be referenced by any subsequent Message steps. |
| **Original Canvas behavior** | - Must have persistent entry properties enabled. <br> - Can only reference `canvas_entry_properties` in the first full step of a Canvas. The Canvas must be action-based or API triggered. | - Can reference `event_properties` in any full step that uses action-based delivery in a Canvas. <br> - Cannot be used in scheduled full steps other than the first full step of an action-based Canvas. However, if a user is using a [Canvas component][2] in the original Canvas editor, the behavior follows the Canvas Flow rules for `event_properties`. |
| **Canvas Flow behavior** | - Can only be used in in-app messages <br> - Can reference `canvas_entry_properties` in any step of a Canvas. | - Can reference `event_properties` in the first Message step **after** an [Action Paths][3] step where the action taken is a custom event or purchase event. <br> - Cannot be after the Everyone Else path of the Action Paths step. <br> - Can have other non-Message Canvas components in between the Action Path and Message step. If one of these non-Message Canvas components is an Action Paths step, the user can go through that Action Paths' Everyone Else path. |
| **Canvas Flow behavior** | Can reference `canvas_entry_properties` in any step of a Canvas. | - Can reference `event_properties` in the first Message step **after** an [Action Paths][3] step where the action taken is a custom event or purchase event. <br> - Cannot be after the Everyone Else path of the Action Paths step. <br> - Can have other non-Message Canvas components in between the Action Path and Message step. If one of these non-Message Canvas components is an Action Paths step, the user can go through that Action Paths' Everyone Else path. |
{: .reset-td-br-1 .reset-td-br-2 .reset-td-br-3}

{% alert note %}
For in-app message channels specifically, `canvas_entry_properties` can only be referenced in Canvas Flow and in the original Canvas editor if you have [persistent entry properties][5] enabled in the original editor as part of the previous early access.
For in-app message channels specifically, `canvas_entry_properties` can only be referenced in Canvas Flow and in the original Canvas editor if you have [persistent entry properties]({{site.baseurl}}/user_guide/engagement_tools/canvas/create_a_canvas/canvas_persistent_entry_properties/) enabled in the original editor as part of the previous early access.
{% endalert %}

## Example
Expand All @@ -52,6 +52,5 @@ Note that you’ll only have access to event_properties if your Message Step can
[1]: {{site.baseurl}}/user_guide/engagement_tools/canvas/canvas_components/message_step/
[2]: {{site.baseurl}}/user_guide/engagement_tools/canvas/canvas_components/
[3]: {{site.baseurl}}/user_guide/engagement_tools/canvas/canvas_components/action_paths/
[5]: {{site.baseurl}}/user_guide/engagement_tools/canvas/create_a_canvas/canvas_persistent_entry_properties/
[7]: {% image_buster /assets/img_archive/canvas_entry_properties1.png %}
[8]: {{site.baseurl}}/user_guide/engagement_tools/canvas/canvas_components/message_step/
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ tool: Canvas

# Cloning Canvases to Canvas Flow

By switching to the Canvas Flow workflow, you gain access to lightweight [Canvas components]({{site.baseurl}}/user_guide/engagement_tools/canvas/canvas_components), [persistent entry properties]({{site.baseurl}}/user_guide/engagement_tools/canvas/create_a_canvas/canvas_persistent_entry_properties/), and [post-launch editing]({{site.baseurl}}/post-launch_edits). If you have an existing Canvas from the original editor, you can clone this Canvas to create a copy in Canvas Flow. Your original Canvas will not be altered or deleted.
If you have an existing Canvas from the original editor, you can clone this Canvas to create a copy in Canvas Flow. By switching to the Canvas Flow workflow, you gain access to lightweight [Canvas components]({{site.baseurl}}/user_guide/engagement_tools/canvas/canvas_components), [persistent entry properties]({{site.baseurl}}/user_guide/engagement_tools/canvas/create_a_canvas/canvas_persistent_entry_properties/), and [post-launch editing]({{site.baseurl}}/post-launch_edits). Your original Canvas will not be altered or deleted.

To clone your Canvas, first go to the Canvas dashboard. Next, identify the Canvas you want to create a copy of in the Canvas Flow workflow. You can clone Canvases with a **Draft**, **Active**, or **Stopped** status. Click <i class="fas fa-ellipsis-vertical"></i> **More actions** and select **Clone to Canvas Flow**.

Expand All @@ -30,19 +30,26 @@ You've completed cloning your Canvas into the Canvas Flow workflow. Now, you can

## Limitations

If a Canvas has full steps that have exception events and uses the delay filter "in" or "on the next", then it can't be cloned to Canvas Flow.
When a Canvas has [branching]({{site.baseurl}}/user_guide/engagement_tools/canvas/create_a_canvas/branching/), the following criteria must be met in order for the Canvas to be cloned to Canvas Flow.
- Delay conditions of the branch are the same.
- Audience section is not empty.
- No exception events are used.
- The variant branches into multiple full steps (no full steps branch into multiple steps).

In order for a Canvas with branching to be cloned to Canvas Flow, all of the following has to be true:
- Delay conditions of the branch are the same
- Audience section is not empty
- No exception events are used
- The variant branches into multiple full steps (no full steps branch into multiple steps)
### Examples

Otherwise if a Canvas has branching and the aforementioned conditions are not meant, the Canvas can't be cloned to Canvas Flow.
If a Canvas has multiple steps that trace back to the variant (variant-level branching), it can't be cloned to Canvas Flow.

However, if a Canvas has variant-level branching, and this variant branches out into full steps with the criteria listed in the previous section, then this Canvas can be cloned to Canvas Flow.

![Example of a Canvas that branches out into two full steps from the variant.][4]{: style="max-width:50%;"}

As another example, if a Canvas has a full step that has exception events and this full step also uses the delay filter "in" or "on the next", then it can't be cloned to Canvas Flow. However, if a Canvas step uses exception events with any other delay type, then the Canvas can be cloned to Canvas Flow.

For more information about the differences between the original Canvas editor and Canvas Flow experience, check out [Canvas FAQs]({{site.baseurl}}/user_guide/engagement_tools/canvas/faqs/#what-are-the-main-differences-between-canvas-flow-and-the-original-canvas-editor).


[1]: {% image_buster /assets/img_archive/clone_to_v2_workflow.png %}
[2]: {% image_buster /assets/img_archive/clone_to_v2_modal.png %}
[3]: {% image_buster /assets/img_archive/clone_to_v2_dashboard.png %}
[4]: {% image_buster /assets/img_archive/clone_to_flow_variant.png %}
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,21 @@ You need to know if what you’re building is moving the needle. With Canvas ana

The top of the **Canvas Details** page contains topline Canvas statistics. These include the number of messages sent within the Canvas, the total number of times customers have entered the Canvas, how many have converted and your total rate, the revenue generated by the Canvas, and the estimated total audience.

This is a great place to get a high-level overview to check if your Canvas is performing against your goal.
This is a great place to get a high-level overview to check how your Canvas is performing against your goal.

![][24]

## Performance visualization

As you move down the **Canvas Details** page, you can see the performance for each component. These metrics include sends, unique recipients, conversion count, and revenue generated. You can click on a component to further breakdown your data and see channel-specific performance.
As you move down the **Canvas Details** page, you can see the performance for each component such as how many users entered, proceeded to the next step, or exited the Canvas.

![Two examples of performance details for Canvas components. On the left shows the performance details for a user path with one Canvas component. On the right shows performance details for an expanded Canvas component and for the nested Step 1, Step 2, and Step 3.][25]
{% alert note %}
For Canvas Flow, a user will exit the Canvas after entering and receiving the message payload in the last step of the user journey.
{% endalert %}

The metrics also include impressions, unique recipients, conversion count, and revenue generated. You can click on a component to further breakdown your data and see channel-specific performance.

![Two examples of performance details for Canvas components. On the left shows the performance details for a user path with one Canvas component. On the right shows performance details for an expanded Canvas component and a nested step that shows the in-app message impression count.][25]

## Performance breakdown by variant

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ This guide uses a button [on-click behavior](#button-actions) that is only suppo

###### Android

- Android 13 and under - implementing push primers is not recommended because push is opted-in by default.
- Android 14 and above - if and wish to see the prompt several times while testing, go into device settings and disable push for the app to allow the primer to display again.
- Android 12 and under - implementing push primers is not recommended because push is opted-in by default.
- Android 13 and above - if you'd like to see the prompt several times while testing, go into device settings and disable push for the app to allow the primer to display again.

###### iOS
- The iOS prompt can be displayed only **once** per install, enforced by the operating system.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ channel:

# Link Shortening

> Link shortening and click tracking allow you to automatically shorten URLs contained in SMS messages and collect open-rate analytics, providing additional engagement metrics to help understand how your users are engaging with your SMS campaigns.
> Link shortening and click tracking allow you to automatically shorten URLs contained in SMS messages and collect click-through-rate analytics, providing additional engagement metrics to help understand how your users are engaging with your SMS campaigns.
{% alert important %}
Link Shortening is currently in early access. Please contact your Braze account manager if you are interested in participating in the early access.
Expand Down
2 changes: 1 addition & 1 deletion _docs/_user_guide/predictive_suite.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ page_order: 6.4
layout: featured

guide_top_header: "Predictive Suite"
guide_top_text: "The Braze Predictive Suite puts machine learning tools in the hands of marketers, enabling them to effectively leverage and act on data seamlessly within the Braze platform. As the first feature released in the Predictive Suite, Predictive Churn allows marketers to define and generate predictions, providing a proactive approach toward minimizing future churn. Learn more about the features by visiting the following articles!"
guide_top_text: "The Braze Predictive Suite puts machine learning tools in your hands without any additional engineering required. Predictive Churn and Predictive Purchases are customizable, on-demand predictive models you create in minutes to effectively leverage and act on data seamlessly within the Braze platform. Learn more about the features by visiting the following articles."
description: "This landing page is a place for all this predictive at Braze! The Braze predictive suite offers solutions for churn and purchase prediction within your Braze campaigns and Canvases."

guide_featured_title: "Features"
Expand Down
Binary file modified assets/img_archive/Journey_6.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/img_archive/clone_to_flow_variant.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

2 comments on commit bce57bb

@vercel
Copy link

@vercel vercel bot commented on bce57bb Oct 11, 2022

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 bce57bb Oct 11, 2022

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.