Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions _docs/_user_guide/analytics/dashboard.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,8 @@ guide_featured_list:
- name: API Usage Dashboard
link: /docs/user_guide/analytics/dashboard/api_usage_dashboard/
image: /assets/img/braze_icons/trend-up-01.svg
- name: eCommerce Revenue Dashboard
link: /docs/ecommerce_revenue_dashboard/
image: /assets/img/braze_icons/line-chart-up-04.svg
---
<br><br>
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---
nav_title: eCommerce revenue dashboard
article_title: eCommerce revenue dashboard
alias: "/ecommerce_revenue_dashboard/"
page_order: 6
description: "This article provides an overview of the eCommerce Revenue - Last Touch Attribution dashboard."
---

# eCommerce revenue dashboard

> The **eCommerce Revenue - Last Touch Attribution** dashboard tracks last-touch attributed revenue for campaigns and Canvases using [eCommerce recommended events]({{site.baseurl}}/ecommerce_events/). Use this dashboard to understand which messages drive revenue and to monitor overall eCommerce performance over time.

{% alert note %}
eCommerce recommended events are currently in early access. Contact your Braze customer success manager if you’re interested in participating in this early access. <br><br>If you're using the new [Shopify connector]({{site.baseurl}}/partners/ecommerce/shopify/multiple_stores/?tab=shopify%20connector), these recommended events will be automatically available through the integration. Otherwise, these events must be implemented before data appears in this dashboard.
{% endalert %}

To view your eCommerce revenue dashboard, go to **Analytics** > **Dashboard Builder**, then select **eCommerce Revenue - Last Touch Attribution**. This dashboard reports on revenue attributed to the last campaign or Canvas a user interacted with before placing an order, within the selected conversion window.

## Available metrics

| Metric | Definition |
| --- | --- |
| eCommerce Revenue | Total last-touch attributed revenue based on the selected date range and conversion window. |
| Daily Orders Placed | The average number of distinct orders placed per day. |
| Average Daily eCommerce Revenue | Average attributed revenue per day for the selected time period. |
| eCommerce Revenue Over Time | A time series of attributed revenue in the selected date range. |
| eCommerce Revenue by Campaign | Attributed revenue broken down by campaign. |
| eCommerce Revenue by Canvas | Attributed revenue broken down by Canvas. |
{: .reset-td-br-1 .reset-td-br-2 role=“presentation”}

## Attribution model

The **eCommerce Revenue - Last Touch Attribution** dashboard uses last-touch attribution. This means revenue is attributed to the most recent Braze campaign or Canvas a user engaged with prior to placing an order.

{% alert important %}
Message interactions must have occurred within the selected conversion window. Orders without an eligible message interaction within the conversion window are not attributed.
{% endalert %}

## Included data

The **eCommerce Revenue - Last Touch Attribution** dashboard pulls in data from eCommerce recommended events:

- `ecommerce.product_viewed`
- `ecommerce.cart_updated`
- `ecommerce.checkout_started`
- `ecommerce.order_placed`
- `ecommerce.order_refunded`
- `ecommerce.order_cancelled`

Revenue and order counts use Braze standardized calculations.

| Metric | Calculation |
| --- | --- |
| Total Revenue | Sum of order placed values − Sum of refunded values |
| Total Orders | Distinct orders placed − Distinct orders cancelled |
{: .reset-td-br-1 .reset-td-br-2 role=“presentation”}

### Excluded data

Purchases logged using the legacy purchase event are not included. The **eCommerce Revenue - Last Touch Attribution** dashboard currently does not support features tied to legacy purchase events, such as LTV or revenue reporting within campaigns or Canvases.


## Currency handling

All revenue is displayed in USD. Non-USD currencies are converted to USD using the exchange rate on the date the event is reported. To prevent conversion, hardcode the currency to `USD` when sending events.
3 changes: 2 additions & 1 deletion _docs/_user_guide/brazeai/agents.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,8 @@ Agents are configured with instructions (system prompts) that define how they be
During the beta period, the following limitations apply:

- Each agent has a default daily execution limit of 50,000 runs, which can be increased up to a maximum of 100,000 runs per day.
- Each run must complete within 30 seconds. After 30 seconds, the agent will return a null response where it is used.
- By default, each run must complete within 15 seconds. After 15 seconds, the agent returns a `null` response where it is used.
- If your agents consistently time out, contact your Braze account manager to increase this limit.
- Input data is limited to 25 KB per request. Longer inputs are truncated.

## Next steps
Expand Down
5 changes: 4 additions & 1 deletion _docs/_user_guide/brazeai/agents/creating_agents.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,10 @@ For more details on prompting best practices, refer to guides from the following

### Output format

Use the **Output Format** field to organize and define the agent's output by manually structuring fields or using JSON.
Use the **Output Format** field to organize and define the agent's output by manually structuring fields or using JSON.

- **Fields:** A no-code way to enforce an agent output that you can use consistently.
- **JSON:** A code approach to creating a precise output format, where you can nest variables and objects within the JSON schema.

#### Fields

Expand Down
5 changes: 5 additions & 0 deletions _docs/_user_guide/brazeai/agents/deploying_agents.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,11 @@ After launching, the agent runs and evaluates each row, taking the selected colu

You can refresh and edit the fields in your catalog that use agents. To remove an agent from a column, unselect **Apply AI agent**. This reverts the column to a non-agentic column, and the fields retain the latest values the agent applied the last time it ran on the catalog.

Circular references in catalogs aren't supported, meaning the following scenario can't occur:

- Agentic Column 1 uses Agentic Column 2 as an input
- Agentic Column 2 uses Agentic Column 1 as an input

![The option to select "Apply AI agent" for a catalog field.]({% image_buster /assets/img/ai_agent/edit_agent_column.png %}){: style="max-width:80%;"}

{% alert note %}
Expand Down
4 changes: 2 additions & 2 deletions _docs/_user_guide/brazeai/predictive_events.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ search_rank: 1

## About Predictive Events

After a prediction is built, users are assigned a [likelihood score]({{site.baseurl}}/user_guide/brazeai/predictive_events/prediction_analytics/#purchase_score) between 0 and 100 denoting how likely they are to perform your selected event. The higher the score, the more likely a user is to perform that event. Users are also sorted by low, medium, and high likelihood categories.
After a prediction is built, users are assigned a [likelihood score]({{site.baseurl}}/user_guide/brazeai/predictive_events/analytics/#purchase_score) between 0 and 100 denoting how likely they are to perform your selected event. The higher the score, the more likely a user is to perform that event. Users are also sorted by low, medium, and high likelihood categories.

The real value of Predictive Events lies in using prediction results to create a segment or campaign. Marketers can build targeted campaigns directly on the **Prediction** page for immediate revenue-boosting results or save a segment for a future campaign or Canvas. Not sure who to target first? Read our [strategic considerations]({{site.baseurl}}/user_guide/brazeai/predictive_events/messaging_users/#strategy) for messaging users based on their likelihood score.

Expand All @@ -25,4 +25,4 @@ The **Predictions** page is located in the **Analytics** section. For full acces

Prior to purchasing this feature, it is available in preview mode. This will allow you to see a demo prediction with synthetic data as well as create one preview prediction model at a time. This prediction will be created based on your actual user data, but it will not allow you to target users for messaging according to their likelihood score. It will also not update regularly after creation.

With the Preview, you can also edit and rebuild this one prediction or archive it and create others to test the expected [prediction quality]({{site.baseurl}}/user_guide/brazeai/predictive_events/prediction_analytics/#prediction_quality) of [different audiences]({{site.baseurl}}/user_guide/brazeai/predictive_events/creating_an_event_prediction/#audience) and become familiar with the analytics.
With the Preview, you can also edit and rebuild this one prediction or archive it and create others to test the expected [prediction quality]({{site.baseurl}}/user_guide/brazeai/predictive_events/analytics/#prediction_quality) of [different audiences]({{site.baseurl}}/user_guide/brazeai/predictive_events/creating_an_event_prediction/#audience) and become familiar with the analytics.
2 changes: 1 addition & 1 deletion _docs/_user_guide/data/braze_data_platform.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ By using a combination of features in the Braze Data Platform, you can leverage

## Unify your data

Collect and consolidate first-party data from any source using [APIs] and [SDKs]. You can also use built-in ingestion tools like [Cloud Data Ingestion]({{site.baseurl}}/user_guide/data/unification/cloud_ingestion) to create a direct integration from your data warehouse or file storage solution to Braze, or use [Data Transformation]({{site.baseurl}}/user_guide/data/unification/data_transformation) to build and manage webhook integrations for transferring data into Braze.
Collect and consolidate first-party data from any source using [APIs]({{site.baseurl}}/api/home) and [SDKs]({{site.baseurl}}/developer_guide/sdk_integration). You can also use built-in ingestion tools like [Cloud Data Ingestion]({{site.baseurl}}/user_guide/data/unification/cloud_ingestion) to create a direct integration from your data warehouse or file storage solution to Braze, or use [Data Transformation]({{site.baseurl}}/user_guide/data/unification/data_transformation) to build and manage webhook integrations for transferring data into Braze.

## Activate your data

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,7 @@ These customer data platforms collect and route information from multiple source
These partners specialize in product analytics and business intelligence and can help you interact with your users based on their actions.

* [Amplitude]({{site.baseurl}}/partners/data_and_analytics/customer_data_platform/amplitude/amplitude_for_currents/)

* [Mixpanel]({{site.baseurl}}/partners/data_and_analytics/analytics/mixpanel/)

* [Heap]({{site.baseurl}}/partners/data_and_analytics/analytics/heap/heap_cohort_import/)


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@ This feature allows you to target users who complete the following interactions
- Click content card
- Dismiss content card

{% alert important %}
Campaign Connector triggers cannot be used to trigger in-app message campaigns. In-app messages can only be triggered by SDK events, such as custom events or session start. For more information, see [Create an in-app message]({{site.baseurl}}/user_guide/message_building_by_channel/in-app_messages/traditional/create/).
{% endalert %}

### Delivery rules

Note that you can't use Campaign Connector to send a message to a user after they have completed an interaction with a campaign. For example, if you're running a marketing campaign for nine weeks and set up a follow-on campaign that uses Campaign Connector at the beginning of week four, the follow-on campaign will only deliver messages to users that interacted with the marketing campaign after the follow-on campaign was published (weeks 4-9). Therefore, in order to ensure that your follow-on campaigns reach every user that you are targeting, you should:
Expand Down Expand Up @@ -77,7 +81,5 @@ You can use Campaign Connector to target users who engage or do not engage with

For example, you might choose to target users who clicked on a promotional push message that advertised free shipping so that you can send them a promotional push message advertising 15% off a purchase.

Or, you might follow up with users who clicked a deep link in an onboarding in-app message by sending them another in-app message that highlights additional features. This way, you can target users that have demonstrated that they are interested in learning more about the features of your application and avoid annoying the users that prefer to discover these features by themselves.

Campaign Connector can also target users who receive a push notification reminding them that they have abandoned their cart. For example, you might want to resend the notification to users who did not directly open it. However, you'll likely want to exclude users that have made a purchase since you send the original notification, even if they did not directly open it. You can achieve this use case by adding a "Received push notification" trigger for the campaign "Abandoned Cart," setting a schedule delay and adding "Makes Purchase" and "Directly opened push notifications" as exceptions.

Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ You must decide what data the agent should receive at runtime. The following opt
- **Provide values:** Pass only selected properties, such as a user’s first name or favorite color. Choose this option to only give the agent access to the values you assign here. For each **Key**, enter the [Liquid tag]({{site.baseurl}}/user_guide/personalization_and_dynamic_content/liquid/supported_personalization_tags) that defines the specific user profile field or context variable.

{% alert note %}
Braze will only pass the first 10 KB of content to the agent. Providing values that have a total value of more than 10 KB will result in truncation. To help save costs, Braze Agents in Canvas use short-lived caches for LLM responses for identical inputs. Including all Canvas Context increases the likelihood that cached results cannot be used, which might increase your LLM costs.
Braze passes the first 10 KB of content to the agent. Providing values that have a total value exceeding 10 KB results in truncation.
{% endalert %}

### Step 5: Test the agent
Expand All @@ -77,8 +77,10 @@ After setting up your Agent step, you can test and preview the output of this st
## Error handling

- If the connected model returns a rate limit error, Braze retries up to five times with exponential backoff.
- If the agent fails for any other reason (such as invalid API key), the output variable is set to `null`.
- Responses are cached for identical inputs to reduce repeated invocations.
- If the agent fails for any other reason (such as invalid API key), the output variable is set to `null`.
- If an agent reaches its daily invocation limit, the output variable is set to `null`. If you're using an agent's output in a Message step, consider using Liquid abort logic.
- Responses are cached for identical inputs and may be reused for repeated identical invocations within a few minutes.
- Responses that use cached values do still count towards total and daily invocations.

## Analytics

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,9 +81,21 @@ You can track eCommerce recommended event volume in the [Custom Events report]({

### Conversions report

When you launch a campaign or Canvas using the Places Order conversion event, you can create a corresponding [Conversion report]({{site.baseurl}}/user_guide/analytics/dashboard/conversions_dashboard#conversions-dashboard) to track performance.
### Custom Events report

![Conversion Details table with statistics on different campaigns and Canvases.]({% image_buster /assets/img/ecommerce/conversion_details.png %})
To create a [Custom Events report]({{site.baseurl}}/user_guide/data_and_analytics/custom_data/custom_events#analytics) based on who has performed an event supported through the integration, you can specify the specific [event name]({{site.baseurl}}/shopify_data_features/).

### Dashboards

#### Conversions dashboard

To gain insights into the trends related to orders placed from your launched Canvases, set up a [Conversions dashboard]({{site.baseurl}}/user_guide/data_and_analytics/analytics/conversions_dashboard#conversions-dashboard) and specify your Canvases.

#### eCommerce revenue dashboard

To gain insights into revenue attributed to the last campaign or Canvas a user interacted with before placing an order, use the [eCommerce revenue dashboard]({{site.baseurl}}/ecommerce_revenue_dashboard/) and select a conversion window.

### Query Builder

### Revenue report

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ Refer to the following table for common geofence terms and their descriptions.
|---|---|
| Latitude and longitude | The geographic center of the geofence. |
| Radius | The radius of the geofence in meters, measured from the geographic center. We recommend setting a minimum radius of 100–150 meters for all geofences. |
| Cooldown | Users receive geofence-triggered notifications after performing enter or exit transitions on individual geofences. After a transition occurs, there is a pre-defined time during which that user may not perform the same transition on that individual geofence again. This time is called the "cooldown" and is pre-defined by Braze, and its main purpose is to prevent unnecessary network requests. |
| Cooldown | Users receive geofence-triggered notifications after performing enter or exit transitions on individual geofences. After a transition occurs, there is a pre-defined time during which that user may not perform the same transition on that individual geofence again. This time is called the "cooldown" and is pre-defined by Braze. By default, the cooldown is 6 hours. The main purpose of the cooldown is to prevent unnecessary network requests. |
{: .reset-td-br-1 .reset-td-br-2 role="presentation" }

## Manually create geofences
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ It is possible that the number of total users is different than the number of us
![A table displaying total reachable users broken down by users reachable by email, iOS push, Android push, web push, and Kindle push.]({% image_buster /assets/img_archive/segmenter_reachable_users.png %})

For a user to be listed as reachable through a certain channel, the user must have both:
* A valid email address or push token associated with their profile; and
* Opted in or subscribed to your app.
* A valid email address or push token associated with their profile, and
* Opted-in or subscribed to your app.

A single user may belong to different reachable user groups. For example, a user might have both a valid email address and valid Android push token and be opted in to both, but have no associated iOS push token. The gap between the total reachable users and the sum of the different channels are the number of users who qualified for the segment but they are not reachable through those communication channels.

Expand Down Expand Up @@ -75,6 +75,17 @@ For a user to be listed as reachable through a certain channel, the user must ha
- A valid email address or push token associated with their profile, and
- Opted-in or subscribed to your app.

#### Applied filters for channel-specific reachable users

The following filters are applied for each channel when determining reachable users.

| Channel | Filter |
| --- | --- |
| Email | **Email Available** is true. |
| Push | **Foreground Push Enabled** is true. |
| SMS | **Subscription Group** is any SMS subscription group. **Invalid Phone Number** is false. |
{: .reset-td-br-1 .reset-td-br-2 role="presentation" }

## Calculating exact statistics

To view an accurate count of the number of users in your segment, select **Calculate exact stats** in the **Reachable users** pane.
Expand Down
Loading