> Synerise Documentation — Use Cases (Part 3 of 3) > > This is part 3 of 3 of the "Use Cases" section. To reconstruct the full section, fetch all 3 parts in order (part 1, part 2, …) and concatenate them. Each article begins with a top-level "# " heading. The manifest listing all sections is at https://hub.synerise.com/llms-full.txt # Call center dashboard Creating a dashboard for call center is a great way for call center epmloyees to monitor day-to-day operations, customer buying history as well as their satisfaction based on various metrics and KPIs. In this use case you will design a dashboard for call center personnel. It will be a reporting tool that shows call center-related analytics so you can monitor, optimize and improve contact with your customers. The goal of the visual presentation is to make analysis simpler by cutting down the time it takes to ingest information from hours to seconds.
Call center dashboard
## Prerequisites --- - Implement a [tracking code](/developers/web/installation-and-configuration) on your website. - Implement transaction events using [SDK](/developers/web/transactions-sdk) or [API](https://hub.synerise.com/api-reference/data-management#operation/CreateATransaction). - Add [custom events](https://hub.synerise.com/api-reference/data-management#operation/CustomEvent) and their [parameters](/docs/assets/events/adding-event-parameters) to save data to customers' profiles when they perform an activity. In this particular use case: - `product.return`, - `callcenter.call`. - Implement [OG tags](/developers/web/og-tags) on your website. ## Process --- In this use case, you will go through the following steps: 1. [Create expressions](#create-expressions) that return the date of transaction, returns and page visit. 2. [Create aggregates](#create-aggregates) for transactions, returns, visits to the website and call center history. 3. [Create metrics](#create-metrics) for bought products, returns, top visited brands, top visited products and queries. 2. [Create reports](#create-reports) for history of bought products, returns, top visited brands, top visited products and history of queries. 3. [Create trends](#create-trends) of history of calls. 4. [Create a dashboard](#create-a-dashboard) that gathers created analyses. 5. [Add the dashboard to customer profiles](#add-the-dashboard-to-customer-profiles).
These are just examples of analytics you can use, such a dashboard can be expanded with various other analytics suitable for your business needs.
## Create expressions --- In this part of the process, create two expressions for the following events: `transaction.charge` and `page.visit`. They will be later used in [aggregates](#create-aggregates) to return dates of specific events. 1. Go to Behavioral Data Hub icon **Behavioral Data Hub > Expressions > New expression**. 2. Enter the name of the expression. 3. Set the **Expression for** option to **Event**. 4. From the **Choose event** dropdown list, select `transaction.charge` event. 5. In the **Formula definition** section, click **Select**. 6. From the list that opens, select **Function > Regexp**. 7. In the brackets, click the **Select** button and from the list, select **Event attribute**. 1. Click the **Unnamed** node that appeared. 9. At the bottom of the page, click **Choose parameter**. 10. In the list of attributes, find and select **TIMESTAMP**. 8. Click the next **Select** button in the brackets and from the list, select **Constant**. 1. Click the **0** node that appeared. 2. At the bottom of the page, type `....-..-..` for date format. 9. Save the expression. 10. Create a second expression and repeat all steps for `page.visit` event.
The view of the configuration of the expression returning transaction date
Configuration of the expression returning transaction date
## Create aggregates --- In this part of the process, you will create a number of aggregates on transactions, returns, page visits and call center calls, which will be used in the dashboard in the further part of the process. ### Transactions Create aggregate that:
Returns the date of the first and last transaction made by a customer
  1. Go to Behavioral Data Hub icon Behavioral Data Hub > Live Aggregates > Create aggregate.
  2. As the aggregate type, select Profile.
  3. Enter a meaningful name of the aggregate.
  4. Switch the Show in profile card option on.
  5. Click Analyze profiles by and select First to return the date of first transaction.
  6. Click the Choose event dropdown list.
  7. From the dropdown list, select the `transaction.charge` event.
  8. Click choose parameter and search for the expression created in the previous part of the process regarding the chosen event.
  9. Using the date picker in the lower-right corner, set the time range to Lifetime.
  10. Click Apply.
  11. Save the aggregate.
  12. Create a second aggregate and repeat all steps for Last option, to return the date of last transaction.
The view of the configuration of the aggregate returning first transaction date
Configuration of the aggregate returning first transaction date
Returns the last product a customer bought
  1. Go to Behavioral Data Hub icon Behavioral Data Hub > Live Aggregates > Create aggregate.
  2. As the aggregate type, select Profile.
  3. Enter a meaningful name of the aggregate.
  4. Switch the Show in profile card option on.
  5. Click Analyze profiles by and select Last to return the name of the last bought product.
  6. Click the Choose event dropdown list.
  7. From the dropdown list, select the `product.buy` event.
  8. Click choose parameter and choose the `$name` parameter.
  9. Using the date picker in the lower-right corner, set the time range to Lifetime.
  10. Click Apply.
  11. Save the aggregate.
The view of the configuration of the aggregate returning the name of the last bought product
Configuration of the aggregate returning last brought product name
Returns last transaction value
  1. Go to Behavioral Data Hub icon Behavioral Data Hub > Live Aggregates > Create aggregate.
  2. As the aggregate type, select Profile.
  3. Enter a meaningful name of the aggregate.
  4. Switch the Show in profile card option on.
  5. Click Analyze profiles by and select Last to return the value of the last transaction customer made.
  6. Click the Choose event dropdown list.
  7. From the dropdown list, select the `transaction.charge` event.
  8. Click choose parameter and choose the `$totalAmount` parameter.
  9. Using the date picker in the lower-right corner, set the time range to Lifetime.
  10. Click Apply.
  11. Save the aggregate.
The view of the configuration of the aggregate returning the value of the last transaction made by a customer
Configuration of the aggregate returning customer's last transaction's value
Calculates the number of transactions for a customer
  1. Go to Behavioral Data Hub icon Behavioral Data Hub > Live Aggregates > Create aggregate.
  2. As the aggregate type, select Profile.
  3. Enter a meaningful name of the aggregate.
  4. Switch the Show in profile card option on.
  5. Click Analyze profiles by and select Count to return the number of all the transactions customer made.
  6. Click the Choose event dropdown list.
  7. From the dropdown list, select the `transaction.charge` event.
  8. Using the date picker in the lower-right corner, set the time range to Lifetime.
  9. Click Apply.
  10. Save the aggregate.
The view of the configuration of the aggregate returning the number of transactions made by a customer
Configuration of the aggregate returning the number of transactions made by a customer
Calculates the value of all transactions for a customer
  1. Go to Behavioral Data Hub icon Behavioral Data Hub > Live Aggregates > Create aggregate.
  2. As the aggregate type, select Profile.
  3. Enter a meaningful name of the aggregate.
  4. Switch the Show in profile card option on.
  5. Click Analyze profiles by and select Sum to return the value of all the transactions customer made.
  6. Click the Choose event dropdown list.
  7. From the dropdown list, select the `transaction.charge` event.
  8. Click choose parameter and choose the `$totalAmount` parameter.
  9. Using the date picker in the lower-right corner, set the time range to Lifetime.
  10. Click Apply.
  11. Save the aggregate.
The view of the configuration of the aggregate returning the value of all transactions made by a customer
Configuration of the aggregate returning the value of all transactions made by a customer
### Returns Create an aggregate that:
Which result is the name of the last returned product
  1. Go to Behavioral Data Hub icon Behavioral Data Hub > Live Aggregates > Create aggregate.
  2. As the aggregate type, select Profile.
  3. Enter a meaningful name of the aggregate.
  4. Switch the Show in profile card option on.
  5. Set the Analyze profiles by option to Last to display the last product a customer returned.
  6. Click the Choose event dropdown list.
  7. From the dropdown list, select the `product.return` event.
  8. Click choose parameter and choose the `name` parameter.
  9. Using the date picker in the lower-right corner, set the time range to Custom and set to 90 days.
  10. Click Apply.
  11. Save the aggregate.
The view of the configuration of the aggregate returning the name of the last product customer returned
Configuration of the aggregate returning the name of the last product customer returned
Which result is the price of the last returned product
  1. Go to Behavioral Data Hub icon Behavioral Data Hub > Live Aggregates > Create aggregate.
  2. As the aggregate type, select Profile.
  3. Enter a meaningful name of the aggregate.
  4. Switch the Show in profile card option on.
  5. Click Analyze profiles by and select Last to display the price of the last product a customer returned.
  6. Click the Choose event dropdown list.
  7. From the dropdown list, select the `product.return` event.
  8. Click choose parameter and choose the `price` parameter.
  9. Using the date picker in the lower-right corner, set the time range to Custom and set to 90 days or according to your business needs.
  10. Click Apply.
  11. Save the aggregate.
The view of the configuration of the aggregate returning the price of the last product customer returned
Configuration of the aggregate returning the price of the last product customer returned
### Web activities In this part of the process, create an aggregate that returns the date of the first or last visit to the web page. 1. Go to Behavioral Data Hub icon **Behavioral Data Hub > Live Aggregates > Create aggregate**. 2. As the aggregate type, select **Profile**. 2. Enter a meaningful name of the aggregate. 3. Switch the **Show in profile card** option on. 3. Click **Analyze profiles by** and select **First** or **Last** to return the date of the first or last date customer visited the web page. 4. Click the **Choose event** dropdown list. 5. From the dropdown list, select the `page.visit` event. 6. Click **choose parameter** and search for the [expression created in the previous part of the process](#create-expressions) regarding the chosen event. 7. Using the date picker in the lower-right corner, set the time range to **Lifetime**. 8. Click **Apply**. 9. Save the aggregate.
The view of the configuration of the aggregate returning the date of the first customer vist to the web page
Configuration of the aggregate returning the date of the first customer vist to the web page
### Contact Center In this part of the process, create aggregate that returns the time of call center calls. 1. Go to Behavioral Data Hub icon **Behavioral Data Hub > Live Aggregates > Create aggregate**. 2. As the aggregate type, select **Profile**. 2. Enter a meaningful name of the aggregate. 3. Switch the **Show in profile card** option on. 3. Click **Analyze profiles by** and select **Sum** to return the time of call center calls. 4. Click the **Choose event** dropdown list. 5. From the dropdown list, select the `callcenter.call` event. 6. Click **choose parameter** and choose the `callDuration` parameter. 7. Using the date picker in the lower-right corner, set the time range to **Custom** and set to **30 days** or according to your business needs. 8. Click **Apply**. 9. Save the aggregate.
The view of the configuration of the aggregate returning the duration of calls with call center
Configuration of the aggregate returning duration of calls with call center
## Create metrics --- In this part of the process, you will create five metrics for the following events: `product.buy`, `product.return`, `page.visit` and `item.search`. They will be later used in [reports](#create-reports). ### Number of bought products This metric will return the number of all products bought by a customer. 1. Go to Decision Hub icon **Decision Hub > Metrics > New metric**. 2. Enter the name of the metric. 3. As a metric kind, select **Simple metric**. 4. As the type, set **Event**. 5. As the aggregator, set **Sum**. 4. As the occurrence type, set **All**. 5. From the **Choose event** dropdown list, select `product.buy`. 6. Click where icon button. **Result**: The **Choose parameter** button appears. 7. From the **Choose parameter** dropdown list, choose `$quantity`. 8. To select a specific time range, click the calendar icon. In our case it will be **Lifetime**. Confirm your choice with the **Apply** button. 9. Click **Save**.
The view of the configuration of the metric returning the number of all bought products
Configuration of the metric returning the number of all bought products
### Number of returned products This metric will return the number of all products returned by a customer. 1. Go to Decision Hub icon **Decision Hub > Metrics > New metric**. 2. Enter the name of the metric. 3. As a metric kind, select **Simple metric**. 4. As the type, set **Event**. 5. As the aggregator, set **Count**. 4. As the occurrence type, set **All**. 5. From the **Choose event** dropdown list, select `product.return`. 6. To select a specific time range, click the calendar icon. In our case it will be **Lifetime**. Confirm your choice with the **Apply** button. 7. Click **Save**.
The view of the configuration of the metric returning the number of all returned products
Configuration of the metric returning the number of all returned products
### Number of page visits This metric will return the number of all page visits made by a customer. 1. Go to Decision Hub icon **Decision Hub > Metrics > New metric**. 2. Enter the name of the metric. 3. As a metric kind, select **Simple metric**. 4. As the type, set **Event**. 5. As the aggregator, set **Count**. 4. As the occurrence type, set **All**. 5. From the **Choose event** dropdown list, select `page.visit`. 6. To select a specific time range, click the calendar icon. In our case it will be **Lifetime**. Confirm your choice with the **Apply** button. 7. Click **Save**.
The view of the configuration of the metric returning the number of all page visits
Configuration of the metric returning the number of all page visits
### Number of visited products This metric will return the number of all products visited by a customer. 1. Go to Decision Hub icon **Decision Hub > Metrics > New metric**. 2. Enter the name of the metric. 3. As a metric kind, select **Simple metric**. 4. As the type, set **Event**. 5. As the aggregator, set **Count**. 4. As the occurrence type, set **All**. 5. From the **Choose event** dropdown list, select `page.visit`. 6. Click where icon button. **Result**: The **Choose parameter** button appears. 7. From the **Choose parameter** dropdown list, choose `product:retailer_part_no`. 5. From the **Choose operator** dropdown list, select **String** and **Is not empty**. 6. Using the date picker in the lower-right corner, set the time range to **Lifetime**. Confirm your choice with the **Apply** button. 7. Click **Save**.
The view of the configuration of the metric returning the number of all page visits
Configuration of the metric returning the number of all page visits
### Number of searched items This metric will return the number of all products searched by a customer. 1. Go to Decision Hub icon **Decision Hub > Metrics > New metric**. 2. Enter the name of the metric. 3. As a metric kind, select **Simple metric**. 4. As the type, set **Event**. 5. As the aggregator, set **Count**. 4. As the occurrence type, set **All**. 5. From the **Choose event** dropdown list, select `item.search`. 6. Using the date picker in the lower-right corner, set the time range to **Custom** and set to **30 days** or according to your business needs. Confirm your choice with the **Apply** button. 7. Click **Save**.
The view of the configuration of the metric returning the number of all item.search events
Configuration of the metric returning the number of all item.search events
## Create reports --- In this part of the process, you will create reports on transactions, returns and web activities which will be used in the dashboard in the further part of the process. ### History of bought products This report will return the name of all products bought by a customer and the time of their purchase. 1. Go to Decision Hub icon **Decision Hub > Reports > New report**. 2. Enter a meaningful name of the report. 3. Click the **Choose metric** and from the dropdown list, select [a metric for number of bought products, created in the previous part of the process](#number-of-bought-products). 4. From the **Range** dropdown list, select the number of top (the most frequently bought) products to be shown in the preview of the report. In this case it will be **TOP 5** products. 5. In the **Dimension** section, from the dropdown list, select **Event > Parameters**. To be able to show products name in the report, choose `$name`. 6. Click **Add dimension**. 1. Click **Choose dimension** and from the dropdown list, select **Event > Specials**. To be able to show when the product wast bought, choose `TIMESTAMP`. 8. Click **Enable filter**. 1. Click **Choose filter** and from the dropdown list, select **CLIENT_ID**. 2. Click **Choose operator** and from the dropdown list, select **Equal (String)**. 3. Change the type of value by clicking the icon until you get Dynamic key icon. 3. In the first field, write `clientId` and in the second field enter `.` 4. Click **Apply**.
The view of the configuration of the filter in report
Configuration of the filter in report
8. Using the date picker in the lower-right corner, set the time range to **Custom** and set to **90 days** or according to your business needs. Confirm your choice with the **Apply** button. 9. Save the report.
The view of the configuration of the report returning the name and the price of top 5 products bought by a customer
Configuration of the report returning the name and the price of top 5 products bought by a customer
### History of returned products This report will return the name of all products returned by a customer, their price and the time of return. 1. Go to Decision Hub icon **Decision Hub > Reports > New report**. 2. Enter a meaningful name of the report. 3. Click the **Choose metric** and from the dropdown list, select [a metric for number of returned products, created in the previous part of the process](#number-of-returned-products). 4. From the **Range** dropdown list, select the number of top (the most frequently returned) products to be shown in the preview of the report. In this case, it will be **TOP 3** products. 5. In the **Dimension** section, from the dropdown list, select **Event > Parameters**. To be able to show products name in the report, choose `name`. 6. Click **Add dimension**. 1. Click **Choose dimension** and from the dropdown list, select **Event > Parameters**. To be able to show what the product price is, choose `price`. 6. Click **Add dimension**. 1. Click **Choose dimension** and from the dropdown list, select **Event > Specials**. To be able to show when the product was returned, choose `TIMESTAMP`. 8. Click **Enable filter**. 1. Click **Choose filter** and from the dropdown list, select **CLIENT_ID**. 2. Click **Choose operator** and from the dropdown list, select **Equal (String)**. 3. Change the type of value by clicking the icon until you get Dynamic key icon. 3. In the first field, write `clientId` and in the second field enter `.` 4. Click **Apply**. 8. Using the date picker in the lower-right corner, set the time range to **Custom** and set to **90 days** or according to your business needs. Confirm your choice with the **Apply** button. 9. Save the report.
The view of the configuration of the report returning the name, price and time of return for top 3 products returned by a customer
Configuration of the report returning the name, price and time of return for top 3 products returned by a customer
### Top visited brands This report will return the name of the most frequently visited brands by a customer and the number of visits. 1. Go to Decision Hub icon **Decision Hub > Reports > New report**. 2. Enter a meaningful name of the report. 3. Click the **Choose metric** and from the dropdown list, select [a metric for number of all page visits, created in the previous step](#number-of-page-visits) 4. From the **Range** dropdown list, select the number of top (the most frequently viewed) products to be shown in the preview of the report. In this case it will be **TOP 5** products. 5. In the **Dimension** section, from the dropdown list select **Event > Parameters**. To be able to show product's brand in the report, choose `brand`. 8. Click **Enable filter**. 1. Click **Choose filter** and from the dropdown list, select **CLIENT_ID**. 2. Click **Choose operator** and from the dropdown list, select **Equal (String)**. 3. Change the type of value by clicking the icon until you get Dynamic key icon. 3. In the first field, write `clientId` and in the second field, enter `.` 4. Click **Apply**. 8. Using the date picker in the lower-right corner, set the time range to **Custom** and set to **30 days** or according to your business needs. Confirm your choice with the **Apply** button. 9. Save the report.
The view of the configuration of the report returning the top 5 product brands visited by a customer
Configuration of the report returning the top 5 product brands visited by a customer
### Top visited products This report will return the name of most visited products by a customer, their price, and the number of visits. 1. Go to Decision Hub icon **Decision Hub > Reports > New report**. 2. Enter a meaningful name of the report. 3. Click the **Choose metric** and from the dropdown list, select [a metric for number of all visited products, created in the previous step](#number-of-visited-products) 4. From the **Range** dropdown list, select the number of top (the most frequently visited) products to be shown in the preview of the report. In this case, it will be **TOP 5** products. 5. In the **Dimension** section, from the dropdown list, select **Event > Parameters**. To be able to show products name in the report, choose `title`. 6. 6. Click **Add dimension**. 1. Click **Choose dimension** and from the dropdown list, select **Event > Parameters**. To be able to show the product's price, choose `price`. 8. Click **Enable filter**. 1. Click **Choose filter** and from the dropdown list, select **CLIENT_ID**. 2. Click **Choose operator** and from the dropdown list, select **Equal (String)**. 3. Change the type of value by clicking the icon until you get Dynamic key icon. 3. In the first field, write `clientId` and in the second field, enter `.` 4. Click **Apply**. 8. Using the date picker in the lower-right corner, set the time range to **Custom** and set to **30 days** or according to your business needs. Confirm your choice with the **Apply** button. 9. Save the report.
The view of the configuration of the report returning the top 5 products visited by a customer
Configuration of the report returning the top 5 products visited by a customer
### Searched queries This report will return the name of the most frequently searched queries by a customer and the number of searches. 1. Go to Decision Hub icon **Decision Hub > Reports > New report**. 2. Enter a meaningful name of the report. 3. Click the **Choose metric** and from the dropdown list, select [a metric for number of all searched items, created in the previous step](#number-of-searched-items) 4. From the **Range** dropdown list, select the number of top (the most frequently searched) phrases to be shown in the preview of the report. In this case, it will be **TOP 10**. 5. In the **Dimension** section, from the dropdown list, select **Event > Parameters**. To be able to show the searched query in the report, choose `query`. 8. Click **Enable filter**. 1. Click **Choose filter** and from the dropdown list, select **CLIENT_ID**. 2. Click **Choose operator** and from the dropdown list, select **Equal (String)**. 3. Change the type of value by clicking the icon until you get Dynamic key icon. 3. In the first field, write `clientId` and in the second field, enter `.` 4. Click **Apply**. 8. Using the date picker in the lower-right corner, set the time range to **Custom** and set to **30 days** or according to your business needs. Confirm your choice with the **Apply** button. 9. Save the report.
The view of the configuration of the report returning the top 10 most searched queries
Configuration of the report returning the top 10 most searched queries
## Create trends --- In this part of the process, you will create trends on history of page visits and call center calls. ### Visits on the website This trend will show number of customer visits to the webiste over a specific time frame. 1. Go to Decision Hub icon **Decision Hub > Trends > New trends**. 2. Enter a meaningful name of the trend. 3. Click the **Choose event** button and from the dropdown list, select `page.visit`. 8. Click **Enable filter**. 1. Click **Choose filter** and from the dropdown list, select **CLIENT_ID**. 2. Click **Choose operator** and from the dropdown list, select **Equal (String)**. 3. Change the type of value by clicking the icon until you get Dynamic key icon. 3. In the first field, write `clientId` and in the second field, enter `.` 4. Click **Apply**. 9. Set the **Interval** in the lower-right conrer to **day**. 8. Using the date picker in the lower-right corner, set the time range to **Last 7 days** or according to your business needs. Confirm your choice with the **Apply** button. 9. Save the trend.
The view of the configuration of the trend of page visits in the last 7 days
Configuration of the trend of page visits in the last 7 days
### History of calls This trend will show the number of customer call center calls over a specific time frame. 1. Go to Decision Hub icon **Decision Hub > Trends > New trends**. 2. Enter a meaningful name of the trend. 3. Click the **Choose event** and from the dropdown list, select `callcenter.call`. 8. Click **Enable filter**. 1. Click **Choose filter** and from the dropdown list, select **CLIENT_ID**. 2. Click **Choose operator** and from the dropdown list, select **Equal (String)**. 3. Change the type of value by clicking the icon until you get Dynamic key icon. 3. In the first field write `clientId` and in the second field enter `.` 4. Click **Apply**. 9. Set the **Interval** in the lower-right conrer to **day**. 8. Using the date picker in the lower-right corner, set the time range to **Last 7 days** or according to your business needs. Confirm your choice with the **Apply** button. 9. Save the trend.
The view of the configuration of the trend of call center calls in the last 7 days
Configuration of the trend of call center calls in the last 7 days
## Create a dashboard --- In the final part of the process you will create a dashboard with [aggregates](#create-aggregates), [reports](#create-reports) and [trends](#create-trends) created in previous steps. 1. Go to Decision Hub icon **Decision Hub > Dashboards > Add dashboard**. 2. Enter the name of the dashboard. 3. To add a widget to the dashboard, click an icon on the The panel of analysis icons panel. The icons are (left to right): HTML code, text field, image, [segmentation](/docs/analytics/segmentations/creating-segmentations), [trend](/docs/analytics/trends/creating-trends), [funnel](/docs/analytics/funnels/creating-funnels), [metric](/docs/analytics/metrics/creating-simple-metrics), [histogram](/docs/analytics/histograms/creating-histograms), [aggregate](/docs/crm/aggregates/creating-profile-aggregates), [expression](/docs/crm/expressions), and a [report](/docs/analytics/reports/creating-reports).
You can create the dashboard by grouping the created analytics in sections: Transactions, Returns, Web Activities, Call Center. You can create custom template according to your business needs with the help of this [article](/docs/analytics/analytics-dashboard/creating-dashboards) or follow the sample instructions below.
4. Click the Text icon on the panel. **Result**: A **Text widget** will appear on the blank dashboard. 2. You can edit widget contents with the editor on the right. In the **Title** field type `Transactions`, you can add a **Description** below.
You can adjust the size of widgest by dragging their lower right corner.
The view of the configuration of the text widget on the dashboard
Configuration of the text widget
3. Add an aggregate by clicking the Aggregate icon on the panel. 4. Edit widgets contents with the editor on the right. In the **Aggregate** section choose the [aggregate that returns the date of the first transaction made by customer you have created in the previous part of the process](#transactions). You can change the title and description. Do the same for the following [aggregates created in the previous part of the process](#transactions): the date of the last transaction, last bought product, last transaction value, number of transactions, value of all transactions.
The view of the configuration of the text aggregate on the dashboard
Configuration of the aggregate widget
5. Add a report by clicking the Report icon on the panel. 6. Edit widgets contents with the editor on the right. In the **Report** section choose the [report on history of bought products you have created in the previous part of the process](#history-of-bought-products). You can change the title and description. 7. Click the **Style** section in the widget editor and change **Visualization type** to **Table**.
The view of the configuration of the report widget on the dashboard
Configuration of the report widget
8. Repeat steps **4 to 10** to create another sections: Returns, Web activities and Call Center.
You can look up the sample dashboard created in the Demo workspace [here](https://app.synerise.com/analytics/dashboards/33651c9f-666e-4a48-aa6d-7dc1cfd0d9f8/edit?clientId=0)
11. When you complete creating the dashboard, click **Save dashboard**.
By default, a new dashboard is private. If you want to share it with others, check the instruction [here](/docs/analytics/analytics-dashboard/sharing-dashboards).
## Add the dashboard to customer profiles --- Optionally, you can add the dashboard to customer profiles.
You can add a dashboard with dynamic data to a customer’s profile, only if at least one analysis inside the dashboard includes a dynamic key. To be able to display statistics about an individual customer, a dashboard must contain at least one analysis that uses the dynamic key - `clientId`. Aggregates and expressions don’t need `clientId` because they already contain it.
1. Go to Behavioral Data Hub icon **Profiles** and select a customer on the list. 2. On the top of the activity list, click **Statistics**. **Result**: A set of statistics appears. 4. On the top of statistics, click the Three-dot icon icon. **Result**: A dropdown list appears. 5. Select **Manage dashboards**. **Result**: A pop up appears. 6. On the top of the pop-up, click **Add dashboard**. **Result**: A dropdown list appears. 7. From the dropdown list, select a dashboard. 8. To confirm your choice, click **Add**. **Result**: The dashboard appears on the bottom of the list. 9. To manage the order of the dashboards added to the customer's profile, drag and drop them in the preferred order. 10. To save the changes, click **Apply**. ## Check the use case set up on the Synerise Demo workspace --- You can check all configurations directly in Synerise Demo workspace: - Expressions - [Transaction date](https://app.synerise.com/analytics/expressions/0d844720-6bb7-4776-a661-52cc81577b06) - [Page visit date](https://app.synerise.com/analytics/expressions/d31828b7-ef9c-4c7d-8316-3769eb8612c2) - Aggregates - [First transaction date](https://app.synerise.com/analytics/aggregates/7380e558-3d44-30b7-ac26-b1e233e9b16e) - [Last transaction date](https://app.synerise.com/analytics/aggregates/d6baacd7-684e-31f6-b3c4-76376090c061) - [Last bought product name](https://app.synerise.com/analytics/aggregates/ccbd08cc-1cd0-3b44-bc39-eb2dcd0998e5) - [Last transaction value](https://app.synerise.com/analytics/aggregates/8a459dea-e2e7-3c99-8e9b-1b7e12f850e0) - [Number of transactions](https://app.synerise.com/analytics/aggregates/24011aa2-632d-319f-9047-8f13712105c8) - [Sum of all transactions](https://app.synerise.com/analytics/aggregates/55cf86a5-acd9-3540-8293-13737a495300) - [Last returned product name](https://app.synerise.com/analytics/aggregates/d36783fa-382d-3141-8537-9c70ff53ba97) - [Last returned product price](https://app.synerise.com/analytics/aggregates/2aee5c1f-2cbc-3961-9d07-cc15ef8550e1) - [First page visit date](https://app.synerise.com/analytics/aggregates/b75f9b8f-01b8-3733-80cf-b31a35c46da7) - [Last page visit date](https://app.synerise.com/analytics/aggregates/3ff1c746-488c-3f4f-b0ef-2ca09f0b593a) - [Call center calls duration](https://app.synerise.com/analytics/aggregates/36bf88a6-e646-36cd-957e-a87c5f32a11e) - Metrics - [Bought products](https://app.synerise.com/analytics/metrics/077074e8-db7c-4e46-bd2e-24e292bee839) - [Returned products](https://app.synerise.com/analytics/metrics/5772cbe8-5cef-4659-b049-383747f4a355) - [Product page visits](https://app.synerise.com/analytics/metrics/ec561bb7-8227-4f56-9d9c-6979437fed51) - [Page visits](https://app.synerise.com/analytics/metrics/4afbcbc7-ab8f-4bc9-8b73-2547b2dfeee2) - [Number of searched items](https://app.synerise.com/analytics/metrics/e40f03f4-58d3-4156-9a41-776b3b2c2b24) - Reports - [History of bought products](https://app.synerise.com/analytics/reports/08639f32-0d6c-4b4b-a78e-4eec7a8d00cb) - [History of returned products](https://app.synerise.com/analytics/reports/9e92b281-ef93-4cfb-9fd0-916334ef8df9) - [Top visited brands](https://app.synerise.com/analytics/reports/2de0ad6c-3fb4-434f-8de9-1bf6b6528504) - [Top searched queries](https://app.synerise.com/analytics/reports/1c09d8b2-fdfe-465a-b030-78f3593860e9) - Trends - [Page visits](https://app.synerise.com/analytics/trends/1bfa16b9-9518-4c1a-af12-9c4671048800) - [Call center calls](https://app.synerise.com/analytics/trends/d813b0ae-aa02-4cb1-929b-de75fdbb46ac) - [Dashboard](https://app.synerise.com/analytics/dashboards/33651c9f-666e-4a48-aa6d-7dc1cfd0d9f8?clientId=0) If you’re our partner or client, you already have automatic access to the **Synerise Demo workspace (1590)**, where you can explore all the configured elements of this use case and copy them to your workspace. If you’re not a partner or client yet, we encourage you to fill out the contact [form](https://demo.synerise.com/request) to schedule a meeting with our representatives. They’ll be happy to show you how our demo works and discuss how you can apply this use case in your business. ## Generated events This use case does not generate any events. ## Read more --- - [Aggregates](/docs/crm/aggregates) - [Dashboards](/docs/analytics/analytics-dashboard) - [Expressions](/docs/crm/expressions) - [Metrics](/docs/analytics/metrics) - [Behavioral Data Hub](/docs/crm) - [Reports](/docs/analytics/reports) - [Trends](/docs/analytics/trends) # Personalized products on landing page Synerise allows you to prepare a dedicated landing page containing a **personalized offer of recommended products**. You can send it via email or web push to people who were on the site but did not buy anything or didn't even add anything to their cart. This will allow you to attract their attention again after leaving the site. Also you can add a tab in the menu, like **Chosen for you**, which will redirect to such a landing page with an offer suited for a particular user. ## Example of use - Home appliances industry Our client wanted to activate customers, who left an e-store but did not add anything to the shopping cart. They used automation to send an email message directing to the landing page with personalized recommendations after a customer had finished the session.
Screenshot presenting personalized landing page
Landing Page
**Results** - OR 25,2%, - CTR 21,8%, - Conversion 5,13%. ## Prerequisites --- To be able to implement this use case, you must: - [Implement a tracking code](/docs/settings/tool/tracking_codes) - [Track forms](/developers/web/tracking-form-data) - [Configure newsletter sign-up process](/docs/settings/configuration/newsletter-sign-up) - [Create a sender account](/docs/campaign/e-mail/configuring-email-account) ## Process --- Creating a landing page with personalized products, perform the steps in the following order: 1. [Prepare a subpage](/use-cases/landing-page-personalized#prepare-a-subpage). 2. [Prepare AI Recommendation](/use-cases/landing-page-personalized#prepare-ai-recommendation). 3. [Prepare Dynamic Content](/use-cases/landing-page-personalized#prepare-dynamic-content). ## Prepare a subpage --- Prepare an empty page within the website of your ecommerce store, for example, `www.yourdomain/recommended-for-you`, which will contain only header and footer – the rest will be added by Dynamic Content. ## Prepare AI Recommendation --- 1. Go to **Experience Hub > Recommendations** and click **Add Recommendation**. 2. Choose personalised recommendation type. 3. Select how many products the user should get – as it is a landing page, you can show them way more products than by email or a typical recommendation frame. 4. Add additional filters if needed.
`Screenshot presenting AI campaign`
AI recommendation
## Prepare Dynamic Content --- You can use Dynamic content to insert recommendations on the landing page. 1. Choose **Insert Object** type. 2. Select **everyone** in the Audience. 3. In Content select **Simple message**, and specify the CSS selector where you want to insert recommendations. 4. In the Content tab, click **Create Message**, insert Jinjava code with AI recommendation and add your own CSS. Let’s look at how to prepare the appropriate the jijnava code.
Check the jinja code
<!-- Downloading the AI campaign --> {% recommendations2 campaignId=cg3HBgRC5P2h %} {% for p in recommended_products2 %} <li data-snr-ai-product-id="{{p.productRetailerPartNo}}"> <a class="snrs-AI--item-link" href="{{p.link}}" title="{{p.title}}"> <img src="{{ p.imageLink }}" class="products-slider__item-image snrAI-product-image snrAI-product-image-{{p.productRetailerPartNo}}" width="90" alt="{{p.title}}" id="snrAI-image-{{p.productRetailerPartNo}}"> <h3 class="snrs-AI-product--product-name"> <span class="snrs-AI-product--name-first">{{p.title}}</span> </h3> </a> </li> {% endfor %} {% endrecommendations2 %}
5. Schedule when dynamic content is active. 6. In **Display settings**, specify that Dynamic contet has to be shown Always, On landing, or on a specific URL.
`Screenshot presenting display settings`
Display settings
Save the dynamic cotent, and use the ready recommendation in your landing page.
If you don’t want to use dynamic content, you can retrieve recommendations via API request [details](https://hub.synerise.com/api-reference/ai-recommendations#tag/Recommendations).
## Generated events This use case generates approximately 13 events per profile that completes the flow: [`session.end`](/docs/assets/events/event-reference/web-and-app#sessionend) (~1), [`automation.clientStartPath`](/docs/assets/events/event-reference/automation#automationclientstartpath) (~1), [`automation.clientPathStep`](/docs/assets/events/event-reference/automation#automationclientpathstep) (~1), [`automation.clientEndPath`](/docs/assets/events/event-reference/automation#automationclientendpath) (~1), [`message.send`](/docs/assets/events/event-reference/email#messagesend) (~1), [`newsletter.open`](/docs/assets/events/event-reference/email#newsletteropen) (~1), [`newsletter.click`](/docs/assets/events/event-reference/email#newsletterclick) (~1), [`landingpage.visit`](/docs/assets/events/event-reference/landing-page#landingpagevisit) (~1), [`dynamicContent.show`](/docs/assets/events/event-reference/dynamic-content#dynamiccontentshow) (~1), [`dynamicContent.click`](/docs/assets/events/event-reference/dynamic-content#dynamiccontentclick) (~1), [`recommendation.generated`](/docs/assets/events/event-reference/recommendations#recommendationgenerated) (~1), [`recommendation.view`](/docs/assets/events/event-reference/recommendations#recommendationview) (~1), [`recommendation.click`](/docs/assets/events/event-reference/recommendations#recommendationclick) (~1). ## Read more --- - [AI API recommendations](https://hub.synerise.com/api-reference/ai-recommendations#tag/Recommendations/) - [Dynamic content](/docs/campaign/dynamiccontent) - [Jinjava inserts](/developers/inserts/insert-usage) - [Personalized recommendations](/docs/ai-hub/recommendations-v2/recommendation-types#personalized) # Exporting reports to SFTP server The Reports feature in Synerise gives lots of opportunities to create custom reports adjusted to your business needs and the data you store in the workspace. Thanks to data transformation and automation, you can create the mechanism of exporting reports to your external resource cyclically. In this use case we will describe how to export a report to an SFTP server every day. We will also create a data transformation diagram which changes the name of a column in the report before sending it.
Completing this procedure requires some knowledge on sending API requests using cURL, Postman, or similar tools.
## Prerequisites --- - Create a catalog in your SFTP server in which your reports will be stored. - Create a [report](/docs/analytics/reports) that will be exported to the SFTP server.
The time scope of the report should be adjusted to the frequency of exporting data. For example, if you export the report every day, it should have the time scope set to **Yesterday** - thanks to this, you will export data each day from the previous day.
- Create a workspace [API key](/docs/settings/tool/api) with the permission required by [the "Preview report as CSV method](https://hub.synerise.com/api-reference/analytics-suite#operation/previewAllGroupingsCSVPOST_v4). ## Process --- 1. [Prepare a file with sample data](/use-cases/export-report-sftp#prepare-a-file-with-sample-data). 2. [Create data transformation diagram](/use-cases/export-report-sftp#create-data-transformation-diagram). 3. [Create a workflow](/use-cases/export-report-sftp#create-a-workflow). ## Prepare a file with sample data --- In this part of the process, you need to prepare a file with sample data which will be used to create Data Transformation later. 1. Go to Decision Hub icon **Decision Hub > Reports**. 2. From the list, select the report you created for exporting. 3. Click the **Preview** tab. 4. Click **Download CSV**. 5. Open the file in text editor and remove rows from it until 10 are left. This copy is only needed as a file sample for creating the Data Transformation. ## Create data transformation diagram --- In this part of the process, we define the rules of modifying data before sending it to the SFTP server. Each report exported from Synerise has a column named `Value`, which contains the value of metric used in the report. For the purposes of this use case, we will change the name of this column to `number of clicks`. The data transformation diagram which is the output of this part of the process is used later to [automate sending the data](/use-cases/export-report-sftp#create-a-workflow). 1. Go to Automation Hub icon **Automation > Data Transformation > Create transformation**. 2. Enter the name of the transformation. 3. Click **Add input**. ### Add file with sample data The **Data input** node allows you to add a data sample. In further steps, you define how the data must be modified. Later, when this transformation is used in the Automation workflow, the system uses the rules created with the sample data as a pattern for modifying actual data. 4. On the pop-up, click **Add example**. 5. Upload the file prepared in [this step](/use-cases/export-report-sftp#prepare-a-file-with-sample-data). 6. Change the default delimiter to `;`.
Data Transformation Data input node showing sample file upload with semicolon delimiter for SFTP report export
The configuration of the Data input node
6. Click **Generate**. ### Change the name of the column 7. On the canvas, click the right mouse button. 8. From the dropdown list, select **Rename column**. 9. Click the **Rename column** node. 10. In the configuration of the node: 1. Click **Add rule**. 2. Click **Add column**. 3. Select the **Value** column. 4. Under **Edit values by**, from the dropdown list, select **Replacing**. 6. In the text field, enter `number of clicks`.
The configuration of the Rename column node
The configuration of the Rename column node
7. Confirm by clicking **Apply**. ### Add the finishing node This node lets you preview the output of the modifications to the sample data. 14. On the canvas, click the right mouse button. 15. From the dropdown list, select **Data output**. 15. In the upper right corner, click **Save and publish**. **Result**: You have published a Data Transformation diagram and it can now be used in a Workflow.
Data Transformation diagram for exporting report data to SFTP server
The diagram of data transformation
## Create a workflow --- In this part of the process, you will create the workflow that exports report data to SFTP server every day at 6:00 AM. 1. Go to Automation Hub icon **Automation Hub > Workflows > New workflow**. 2. Enter the name of the workflow. ### Define the launch date 3. As the trigger node, add **Scheduled Run**. 4. In the configuration of the node: 1. Leave the **Run trigger** option at default (**all time**). 2. From the **Timezone** dropdown list, select the time zone consistent with the timezone selected for your workspace. 3. Define the frequency of the workflow. In this use case, it's every day at 6:00 AM. The workflow will automatically launch everyday at 6:00 AM.
Automation Hub Scheduled Run node configuration for triggering scheduled report export via SFTP
The configuration of the Scheduled Run node
4. Confirm by clicking **Apply**. ### Define the report that will be exported In this part of the process, we need to define an HTTPS request in the **Get File** node which retrieves a CSV file with report data. The full documentation of this request is available [here](https://hub.synerise.com/api-reference/analytics-suite#operation/previewAllGroupingsCSVPOST_v4). 1. Click **THEN** and from the dropdown list, select **HTTPS > Get File**. 2. In the configuration of the node: 1. From the **Method** dropdown menu, select **POST**. 2. Enter the **URL**: `https://api.synerise.com/analytics/analytics/v4/reports/preview-csv` 3. From the **File format** dropdown menu, select **CSV**. 4. Change the default **Delimiter** to `;`. 5. Add the JSON body of the request: 1. In a new browser tab, open the report you want to export. 2. Open the browser's developer tools and go to the tab where you can preview HTTP requests. 3. In the report, go to the **Preview** tab. 4. In the developer tools, locate the request to the `analytics/v4/reports/preview-csv` endpoint and copy its request body. 5. Paste the request body into the **Body** field of the automation node.
You can also build the request body manually, according to the [documentation](https://hub.synerise.com/api-reference/analytics-suite#operation/previewAllGroupingsCSVPOST_v4).
6. In the **Authorization** section, choose the API key with the required permissions (according to the [documentation](https://hub.synerise.com/api-reference/analytics-suite#operation/previewAllGroupingsCSVPOST_v4)). 7. Leave the rest of the settings as default.
The configuration of the Get File node
The configuration of the Get File node
3. Confirm by clicking **Apply**. ### Select the data transformation rules 1. Add a **Data Transformation** node. 2. In the configuration of the node, select the [data transformation you have created before](/use-cases/export-report-sftp#create-data-transformation-diagram).
The configuration of the Data Transformation node
The configuration of the Data Transformation node
3. Confirm by clicking **Apply**. ### Configure settings for SFTP protocol In this part of the process, we will configure the settings for an SFTP connection so that your report, after passing through transformation rules, can be stored in the external resource. 1. Add the **Send File** node by clicking **THEN > SFTP**. 2. In the configuration of the node: 1. Enter the path to your server. 2. Select the port. 3. Enter the path to the directory. 4. Enter the name of the file that the report will be saved as. 5. If needed, in the **File name suffix**, select the suffix of the file name.
We recommend choosing the **Date** suffix, which adds the current date to the file name, so that the names of your files do not repeat in the catalog (files will be sent every day) and are easier to browse.
6. From the **File format** dropdown list, select the **CSV** format. 7. Change the default **Delimiter** to `;`. 8. In the **Authentication** section, select the method of authentication. 9. Confirm by clicking **Apply**. ### Add the finishing node 1. Add the **End** node. 2. In the upper right corner, click **Save & Run**.
Automation Hub workflow for exporting a report via SFTP
The workflow configuration
You can monitor the flow of the workflow in the **Transformation logs** tab. It contains information about each execution of the workflow.
Automation Hub Transformation logs tab showing workflow execution history
The logs for the workflow
## Check the use case set up on the Synerise Demo workspace --- You can check the configuration of use case in Synerise Demo workspace: - [Created workflow](https://app.synerise.com/automations/automation-diagram/ddd30f46-9f9f-4427-a835-97324ffd3da1) - [Data transformation rules](https://app.synerise.com/automations/data-transformation/04802b73-f425-494e-9a5d-c1e807b1d0e7). If you’re our partner or client, you already have automatic access to the **Synerise Demo workspace (1590)**, where you can explore all the configured elements of this use case and copy them to your workspace. If you’re not a partner or client yet, we encourage you to fill out the contact [form](https://demo.synerise.com/request) to schedule a meeting with our representatives. They’ll be happy to show you how our demo works and discuss how you can apply this use case in your business. ## Generated events This use case generates approximately 5 events per workflow execution: [`automation.clientStartPath`](/docs/assets/events/event-reference/automation#automationclientstartpath) (~1), [`automation.clientPathStep`](/docs/assets/events/event-reference/automation#automationclientpathstep) (~3), [`automation.clientEndPath`](/docs/assets/events/event-reference/automation#automationclientendpath) (~1). ## Read more --- - [Automation Hub](/docs/automation) - [Data Transformation](/docs/automation/data-transformation-and-imports/introduction) - [Reports](/docs/analytics/reports) # In-app Memo Game Gamification is an effective way to increase user engagement, boost session duration, and make in-app experiences more memorable. By combining a simple interactive game with product discovery, brands can capture user attention while promoting key products in an enjoyable and interactive way. In this use case, you’ll create an in-app memo game (3x3 grid) where the tiles feature images of your most viewed products from the last 30 days. This approach blends entertainment with commerce — users play to match pairs while naturally discovering your bestsellers. The in-app will be activated after every transaction, giving user the chance to gain the discount for the next shopping. The game dynamically loads product images using a predefined recommendation frame. When a player completes the game, they can be rewarded with a discount code for your bestsellers for the next transaction. It’s built on a ready-to-use template, so you don’t need any coding skills to set it up — the layout and logic are preconfigured.
UC - In app Memo
## Prerequisites --- - [Implement Synerise SDK in your mobile app](/developers/mobile-sdk). - [Configure AI engine](/docs/settings/configuration/ai-engine-configuration/engine-configuration-for-search). Enable the **Top items** model. - [Configure an item catalog for recommendations](/docs/settings/configuration/ai-engine-configuration/engine-configuration-for-recommendations). Select the **Top items** model to train the feed. - Create a [promotion](/docs/ai-hub/promotions) code which will enable a discount when finalizing the purchase. ## Process --- In this use case, you will go through the following steps: 1. [Create AI recommendations](/use-cases/in-app-memo#create-ai-recommendations) with top items. 2. [Create an in-app campaign](/use-cases/in-app-memo#create-an-in-app-campaign) with a memo game with top products. ## Create AI recommendations --- In this step, create an AI recommendation campaign that will be used to display products in your in-app memo game. 1. Go to AI Hub icon **AI Hub > (AI Recommendations) Models > Add recommendation**. 2. Enter the name of the recommendation (it is only visible on the list of recommendations). 3. In the **Type & Items feed** section, click **Define**. 4. From the **Items feed** dropdown list, select a product feed. 6. Choose the **Top items** recommendation type. 8. Click **Apply**. 9. In the **Items** section, click **Define**. 10. Click **Add slot**. 11. Define the minimum and maximum number of products that will be recommended to the user. In our example, it is from 3 (minimum) to 3 (maximum). 12. Optionally, add a **Static filter**.
Learn about the differences between [elastic, static filters](/docs/ai-hub/recommendations-v2/creating-recommendation-campaign#select-conditions-of-displaying-items), and [distinct filters](/docs/ai-hub/recommendations-v2/creating-recommendation-campaign#distinct-filter).
*. 21. In the **Boosting** section, you can enable [boosting](/docs/ai-hub/recommendations-v2/creating-recommendation-campaign#define-the-boosting-factors). 22. In **Additional settings**, you can exclude already bought products. 23. Save the recommendation by clicking **Save**. ## Create an in-app campaign --- In this part of the process, you will create an in-app campaign, presented after the user makes a transaction. 1. Go to Experience Hub menu icon **Experience Hub > In-app messages > Create new** 2. Enter a meaningful name for the in-app campaign. ### Define the audience --- 1. In the **Audience** section, click **Define**. 2. Select the **Everyone** tab. 3. Click **Apply**. ### Define content --- 1. In the **Content** section, click **Define**. 2. Click **Create message** and from the list of template folders, select **Predefined templates**. 3. Select **Memo game**. **Result:** You are redirected to the code editor.
You can edit the template in two ways, by editing the code of the template ([add inserts](/docs/campaign/in-app-messages/creating-inapp-templates/creating-inapp-template#adding-a-snippet-to-the-template-code), [add variables](/docs/campaign/in-app-messages/creating-inapp-templates/creating-inapp-template#adding-a-variable)) and/or by filling out the form in the **Config** tab. In this use case, we will use the capabilities of the predefined **Config** tab.
#### Edit form in the Config tab --- The **Config** tab already has default values filled in. You can keep them or change them to fit your business needs.
In-app memo message Config tab with General Settings section
In-app configuration
1. In the **General Settings** section: 1. In the **Brand name** field, enter the name of your brand (for example, Synerise). 2. In the **Promotion code** field, enter the discount code displayed after the game is completed, created as a part of [prerequisites](#prerequisites). 3. In the **Promotion name** field, type the campaign name, presented in the middle box in the game. 4. In the **Picture source** field, select the source of images for the cards: - Hardcoded URLs – enter image links manually. - AI Recommendations – dynamically load images from an existing recommendation campaign (like in this case).
If you select AI Recommendations, enter the AI Recommendations Campaign ID in the dedicated field in the last section (for example, 5tf3u77lj3Hq).
2. In the **Game Settings** section: 1. Set up the time limit. To remove the time limit, enter `0` 2. If you want to allow users to replay the game, enable the **Show Restart button** option. 3. In the **Win Modal** section, enter the success message displayed after the user completes the game. Optionally, you can include a link or CTA to redirect users to a product page or a personalized offer. 4. In the **Hardcoded Pictures** section (optional): If you selected Hardcoded URLs as your picture source, paste the image links for each card in the fields provided. 5. In the **Colors** section, define your game’s color scheme. 6. In the **Layout** section, personalize the layout of the game. 7. In the **AI Recommendations** section, confirm that the AI Recommendations Campaign ID field contains the ID of the campaign you have created in the [previous step](#create-ai-recommendations) (for example, 5tf3u77lj3Hq). This setup ensures that images in the memo game come directly from your recommendation frame — for instance, Top Viewed Products – Last 30 Days. 8. After you make changes to the template, you can check the preview. 1. Click the **Preview** button on the upper left side. 2. Enter the ID of a customer or a product. 3. Click **Apply**.
Considering that the in-app is very interactive, the preview in the platform may not be enough to test the in-app performance. That's why we suggest checking how this campaign displays altogether directly in the mobile app.
9. If the template is ready, in the upper right corner, click **Save this template > Save as**. 10. On the pop-up: 1. In the **Template name** field, enter the name of the template. 2. From the **Template folder** dropdown list, select the folder where the template will be saved. 3. Confirm by clicking **Apply**. 11. Click **Next** to continue the process of configuring the in-app campaign. 12. Click **Apply** to save your content changes. ### Select events that trigger the in-app message display --- In this part of the process, define the event that triggers the display of the in-app message. In our case, the trigger is `transaction.charge` event. 1. In the **Trigger events** section, click **Define**. 2. Click **Add event** and from the dropdown list, choose the `transaction.charge` event. 3. Click the **+ where** button and as the parameter, choose `source`. 4. As the logical operator, select **Equal** and as the value add `MOBILE`. 5. Click **Apply**. ### Schedule the message and configure display settings --- As the final part of the process, you need to set the schedule, display settings configuration, capping, priority of the message among other in-app messages. 1. In the **Schedule** section: 1. Click **Define**. 2. Choose **Run immediately** option. 3. Click **Apply**. 2. In the **Display settings** section: 1. Click **Define**. 2. Define the **Delay display** as **0** and **Priority index** as **1**. 5. Click **Apply**. 3. Optionally, you can define the UTM parameters in the **UTM & URL parameters** section. Otherwise, click **Skip step**. 4. Optionally, you can add the custom parameters in the **Additional parameters** section. Otherwise, click **Skip step**. 3. To start your campaign, click **Activate**. ## What's next --- Use the data collected from the memo game to: - Retarget players who completed the game but did not make another purchase. - Create follow-up in-app or email campaigns featuring items from the memo grid. - Rotate the recommendation type (e.g., “Top purchased” or “Trending now”) to keep the game fresh. ## Check the use case set up on the Synerise Demo workspace --- You can check the configuration of the campaign components directly in Synerise Demo workspace: - [AI recommendation configuration](https://app.synerise.com/ai-v2/recommendations/tvHzWPoH4YfY), - [In-app campaign](https://app.synerise.com/communications/in-app/0ff7a956-4372-45f2-8c4b-9b8c13798e1d) If you’re our partner or client, you already have automatic access to the **Synerise Demo workspace (1590)**, where you can explore all the configured elements of this use case and copy them to your workspace. If you’re not a partner or client yet, we encourage you to fill out the contact [form](https://demo.synerise.com/request) to schedule a meeting with our representatives. They’ll be happy to show you how our demo works and discuss how you can apply this use case in your business. ## Generated events This use case generates approximately 4 events per profile that completes the flow: [`transaction.charge`](/docs/assets/events/event-reference/items#transactioncharge) (~1), [`inApp.show`](/docs/assets/events/event-reference/inapp#inappshow) (~1), [`inApp.click`](/docs/assets/events/event-reference/inapp#inappclick) (~1), [`recommendation.generated`](/docs/assets/events/event-reference/recommendations#recommendationgenerated) (~1). ## Read more --- - [In-app messages](/docs/campaign/in-app-messages) - [Using in-app template builder](/docs/campaign/in-app-messages/creating-inapp-templates/creating-inapp-template) - [Mobile campaigns](/docs/campaign/Mobile) - [Recommendations](/docs/ai-hub/recommendations-v2) # Sending reminder about recently visited category at the very best time A properly personalized campaign can encourage the customer to make a purchase - but it is even more effective if it is sent at the very best time. For this purpose, it is worth using the time optimizer, a solution that allows you to send campaigns at the time best suited to the activity of a specific customer. Thanks to this option, you can be sure that the campaign will reach them during the time of their activity and will not go unnoticed. Using time optimizer, you increase the chances that the customer will read the communication, use the discount, and finalize the purchase. In this use case, we will present sending a reminder to a customer with the information about promotion for a specific product category which they visited 7 days before and did not make a purchase. The email will be sent based on the time optimizer to reach each customer at the time when they open emails most often. We consider the time range between 8-22, during the specific day. ## Prerequisites --- - Configure an [email account](/docs/campaign/e-mail/configuring-email-account). - [Enable time optimizer](/docs/settings/configuration/time-optimizer#enabling-time-optimizer) in Synerise settings. - [Create an Email mode](/docs/settings/configuration/time-optimizer#creating-modes) for time optimizer that will analyze the customer’s activity time in the email channel. - Create an [email template](/docs/campaign/e-mail/creating-email-templates) with information about promotions for specific product category.
Optionally you can implement [coupons](/docs/assets/code-pools) which you can import and add to your email template as the [insert](/developers/inserts/insert-usage#code-pools).
- Implement transaction events using [SDK](/developers/web/transactions-sdk) or [API](https://hub.synerise.com/api-reference/data-management#operation/CreateATransaction). Make sure that you implement `category` parameter in the transaction events. - Implement [Synerise JS SDK](/developers/web/installation-and-configuration) on your website. - Implement [OG tags](/developers/web/og-tags). Thanks to this, the `product:category` parameter will be available in the `page.visit` events. We will later use this parameter to determine which product category the customer visited. ## Create a workflow --- Prepare a workflow that sends an email with the information about discount for the product category, which customer visited 7 days before but have not made the purchase since then. In our case, it will be a promotion for the `decorations` category. The workflow starts every day at 8 A.M. and it is targeted to people who meet the conditions above. Then, the time optimizer chooses the best time to deliver the email for the next 14 hours for every customer and then, the email is send. 1. Go to Automation Hub icon **Automation Hub > Workflows > New workflow**. 2. Enter the name of the workflow. ### Define the Audience node --- Choose the **Audience** node as the trigger. In this step, you will select the group of customers who have visited the `decorations` category exactly 7 days before but did not make a purchase since then. 1. Start the workflow with the **Audience** node. 2. In the configuration of the node, set the **Run trigger** option to **repeatable**. 3. Set the interval to 1 per day. 4. Choose the day and time when the process starts. Choose 8 A.M. to provide plenty of time for the time optimizer to choose the best time for a particular customer. 5. Select the time zone. 6. In **Define audience**, choose **New Audience** and click **Define conditions**. 1. As the first condition, from **Choose filter** dropdown menu, choose `page.visit` event. 2. Click the **+ where** button, choose **product:category**, and then select **Equal**. As the value, enter the name of the category. In our case it is `decorations`. 3. Set the time range to **Last 1 day before 7 days**. 4. As the second condition, from **Choose filter** dropdown menu, choose the `product.buy` event. 5. Click the **+ where** button, choose **category**, and then select **Equal**. As the value, enter the category `decorations`. 6. Set the time range to **Last 8 days** to exclude the customers who have not made a purchase since the last visit in a specific category. 7. Change the **Profiles matching funnel** option to **Profiles not matching funnel** by clicking the **matching** word. 8. Click **Apply**.
Automation Hub Audience node configuration filtering customers with recent category visits and no recent purchases
Configuration of the Audience node
### Define the Optimize Time node --- In this step you will set up the time optimizer, which will select the best time to send email for every customer. 1. Add the **Optimize Time** node. 2. From the **AI optimization mode** dropdown, choose **Mail**. 3. In **Time period to analyze**, choose the best moment to activate the node that follows the Optimize Time node. In our case it will be **Custom time period**. 4. In the **Time period** field, enter `14`, to be sure that the message will be sent between 8 and 22, and the best time for every customer will be narrowed to this period. 5. Click **Apply**.
Configuration of the Optimize Time node
Configuration of the Optimize Time node
You can choose the time period for sending your campaign based on your business needs. You can choose a wider range with the end date, and additional exclusions, for example - for weekends or night hours.
### Define the Send Email node --- In this step, select the email template with information about the promotion for products from the `decorations` category and set up the final sending settings. 1. Add the **Send Email** node. 1. In the **Sender details** section, choose the email account from which the email is sent. 2. In the **Content** section, select the template that you prepared as a part of the prerequisites with information about current promotion for specific product category. Add the subject of the email. 3. In the **UTM & URL parameters** section, define the UTM parameters added to the links included in the email. 4. In the **Additional parameters** section, optionally describe campaigns with [additional parameters](/docs/campaign/e-mail/creating-email-campaigns#adding-custom-parameters). 5. Click **Apply**.
Screenshot selecting the appropriate email account
Send Configuration of the Send Email node
### Prepare the final settings --- 1. Add the **End** node. 2. Optionally, add titles to each node so the workflow will be more understandable to your colleagues. 3. Name the workflow. 4. To save it as a draft, click **Save** it or activate by clicking **Save & Run**.
Automation Hub workflow for optimizing email sending time
Configuration of the workflow
## Check the use case set up on the Synerise Demo workspace --- You can check the [workflow configuration](https://app.synerise.com/automations/automation-diagram/4b934898-00ef-49fb-927d-6bb3aff7e39a) directly in Synerise Demo workspace. If you’re our partner or client, you already have automatic access to the **Synerise Demo workspace (1590)**, where you can explore all the configured elements of this use case and copy them to your workspace. If you’re not a partner or client yet, we encourage you to fill out the contact [form](https://demo.synerise.com/request) to schedule a meeting with our representatives. They’ll be happy to show you how our demo works and discuss how you can apply this use case in your business. ## Generated events This use case generates approximately 8 events per profile that completes the flow: [`automation.clientStartPath`](/docs/assets/events/event-reference/automation#automationclientstartpath) (~1), [`automation.clientPathStep`](/docs/assets/events/event-reference/automation#automationclientpathstep) (~2), [`automation.clientEndPath`](/docs/assets/events/event-reference/automation#automationclientendpath) (~1), [`snr.ate.prediction`](/docs/assets/events/event-reference/predictions#snrateprediction) (~1), [`message.send`](/docs/assets/events/event-reference/email#messagesend) (~1), [`newsletter.open`](/docs/assets/events/event-reference/email#newsletteropen) (~1), [`newsletter.click`](/docs/assets/events/event-reference/email#newsletterclick) (~1). ## Read more --- - [Automation Hub](/docs/automation) - [Coupons](/docs/assets/code-pools) - [Email campaigns](/docs/campaign/e-mail) - [Time optimizer](/docs/settings/configuration/time-optimizer) # Find profiles who will buy a specific item In today's fast-paced business landscape, accurate predictions hold the key to informed decision-making and sustainable growth. As companies strive to stay ahead, they understand the pivotal role predictions play in optimizing their strategies. Across industries, there exists a multitude of scenarios where predictions offer a competitive advantage. The nature of these scenarios is diverse and varies according to each company's unique objectives. Synerise simplifies prediction adoption with predefined templates, allowing businesses to swiftly integrate cutting-edge predictions into their strategies without the need for extensive data expertise. These templates span various goals, from reducing churn to predicting buying behavior and lifetime value. In this use case, we focus on predicting buying behavior. Specifically, we'll follow a scenario aimed at finding customers who are willing to buy a specific product. You will discover how to effortlessly harness our templates and align them with your business goals. ## Prerequisites --- - [Enable the "Propensity" prediction type](/docs/ai-hub/predictions/enabling-predictions#enabling-propensity-and-best-fit-predictions). - The `itemID` attribute (the unique identifier attribute of an item) must be added to [filterable attributes](/docs/ai-hub/ai-search/define-attributes#filterable-attributes) in the item feed that you want to use for the prediction. - Create the segmentation for which you want to create a prediction. You can also create an entirely new segmentation while creating the prediction. ## Create a prediction using a predefined template --- In this use case, we will use a predefined scenario for the business goal of predicting buying behavior, specifically finding profiles that are willing to buy a certain item. 1. Go to Prediction icon **> New prediction** and select **Use Predefined scenarios**.
Screenshot of two paths for creating predictions
Two paths for creating predictions
### Define the business objective and the scenario you want to follow --- In this part of the process, you need to select the business objective and its corresponding variant. 1. Define the prediction name. 2. On the left side of the screen, from the list of business objectives, select **Predict buying behavior**. 3. Select the **Find profiles who will buy a specific item, brand or category** scenario. 4. Click **Continue**.
Definition of the business objective and specific scenario
Definition of the business objective and specific scenario
### Select an item feed to use as the source of items/item attributes --- 1. Click **+ Choose item feed**. 2. From the drop-down list, select the item feed. 3. Select an item for which you want to create a prediction. In this use case, select the default **Title / ID** option and click the **+ Select item** field. 4. From the list of all items, select the items for which the prediction will be created. 5. Click **Continue**.
Selection of item feed and specific items for prediction
Selection of item feed and specific items for prediction
### Select segmentation --- In this part of the process, you need to select a group of profiles to examine their propensity to buy an item selected in the previous step. 1. Click **+ Select Segmentation**. 2. From the drop-down list, select the segmentation you created earlier as a part of prerequisites. 3. Click **Continue**.
Selection of the segmentation for which the propensity to buy the product will be calculated
Selection of the segmentation for which the propensity to buy the product will be calculated
### Define final settings --- Configure the [additional settings](/docs/ai-hub/predictions/propensity#additional-settings) (or leave them at default) and click **Continue**.
Final setup screen
Final setup screen
### Summary check --- This is the final part of the process, where you can check all the settings configured during the prediction setup. If you want to make any changes, you can go back to the required step using the **Back** button and make the necessary modifications. If no changes are required, click the **Save and Calculate** button.
Prediction summary
Prediction summary
## What's next --- After the calculation is completed, a `snr.propensity.score` event is saved in the profiles of each customer in the audience. The event data includes detailed results of the prediction. Based on the `snr.propensity.score` event, you can create segmentations of customers with different propensity and use those segmentations as campaign targets: - [email](/docs/campaign/e-mail) - [SMS](/docs/campaign/SMS) - [web push](/docs/campaign/Webpush) - [mobile push](/docs/campaign/Mobile) - [dynamic content](/docs/campaign/dynamiccontent) - [screen views](/docs/campaign/screen-views) Email, SMS, web push and mobile push can be sent manually or you can launch them by using [Automation Hub](/docs/automation). ## Check the use case set up on the Synerise Demo workspace --- You can check the configuration of the [Propensity prediction](https://app.synerise.com/ai-v2/predictions/propensity/ovwcgaomjlwu) directly in Synerise Demo workspace. If you’re our partner or client, you already have automatic access to the **Synerise Demo workspace (1590)**, where you can explore all the configured elements of this use case and copy them to your workspace. If you’re not a partner or client yet, we encourage you to fill out the contact [form](https://demo.synerise.com/request) to schedule a meeting with our representatives. They’ll be happy to show you how our demo works and discuss how you can apply this use case in your business. ## Generated events This use case generates 1 event per profile that completes the flow: [`snr.propensity.score`](/docs/assets/events/event-reference/predictions#snrpropensityscore) (~1). ## Read more --- - [Predictions](/docs/ai-hub/predictions) # Send a mobile push at the best time Sometimes push notifications can end up annoying customers when sent at the wrong time. You can optimize time of sending push notifications with the help of our time optimizer and connect with your customers at the right time. This use case describes a workflow that sends a mobile push notification encouraging to purchase when a customer adds a product to a wishlist. The sending time is adjusted to the customers' activity in the mobile app. ## Prerequisites --- - [Implement Synerise SDK in your mobile application](/developers/mobile-sdk). - Implement mobile push notifications in your mobile application: [iOS](/developers/mobile-sdk/configuring-push-notifications/ios), [Android](/developers/mobile-sdk/configuring-push-notifications/android). - Implement the add to wishlist event in your [mobile application](/developers/mobile-sdk/event-tracking#product-added-to-favorites). - [Create a mobile push template](/docs/campaign/Mobile/creating-mobile-push). ## Process --- 1. [Enable time optimizer](/use-cases/send-mobile-push-with-time-optimizer#enable-time-optimizer). 2. [Create a custom mode](/use-cases/send-mobile-push-with-time-optimizer#create-a-custom-mode) in time optimizer. 3. [Create a workflow](/use-cases/send-mobile-push-with-time-optimizer#create-a-workflow) to send the mobile push at the best time. ## Enable time optimizer --- 1. Go to **Settings > AI Engine Configuration**. 2. Select **Time optimizer** tab. 3. Click **Define**. 4. Switch the toggle on. ## Create a custom mode --- In this part of the process, create a custom time optimizer mode which you will use in the workflow in further part of the process. In this use case, the idea is to define the events that will be taken into account by the time optimizer while calculating the best time to send the message. In our case, it will be the `screen.view` event, so the optimizer will choose the time when the customer is most active in the application (when the customer generates the `screen.view` events the most). 1. Go to **Settings > AI Engine Configuration**. 2. Select the **Time optimizer** tab. 3. Click **Define**. 4. Click **Add new node**. 5. Select **Custom** to create a new mode: 1. In the **Mode name** field enter the name for the custom mode. 2. From the **Predicted event** dropdown list, select the `screen.view` activity to calculate the most probable time of occurrence. 3. From the **Input events** dropdown list, select the event `screen.view`, based on which the engine will perform the predictions. 4. Click **Apply**. 6. Click **Apply** to save the new mode.
To keep the time optimizer enabled, at least one mode must be active.
An example of a segmentation of male customers
Configuration of custom mode in time optimizer
## Create a workflow --- As the second part of the process, create a workflow that manages the push notifications. 1. Go to **Automation Hub > Workflows > New workflow**. 2. Enter the name of the workflow. 3. As the first node of the workflow, add **Profile Event**. In the node settings: 1. In the **Define conditions** field, select the `addToWishlist` event. 8. Confirm by clicking **Apply**. 4. Add an **Optimize Time** node. In the configuration of the node: 1. Select the [custom mode](/use-cases/send-mobile-push-with-time-optimizer#create-a-custom-mode) you created in previous part of the process. 2. Set the time period to analyze according to your business needs. 3. Confirm by clicking **Apply**. 4. Add **Send Mobile Push** node. In the configuration of the node: 1. Define the **Template type**. 2. Select the **Push template** you have created. 3. Confirm by clicking **Apply**. 5. Add the **End** node to finish the workflow. 6. To run the workflow, click **Save & Run**.
Automation Hub workflow for sending mobile push notifications with time optimizer
The final configuration of the workflow
## Check the use case set up on the Synerise Demo workspace --- You can check the [workflow configuration](https://app.synerise.com/automations/automation-diagram/d12e52a8-5827-4fca-b064-9b21d6f4c536) directly in Synerise Demo workspace. If you’re our partner or client, you already have automatic access to the **Synerise Demo workspace (1590)**, where you can explore all the configured elements of this use case and copy them to your workspace. If you’re not a partner or client yet, we encourage you to fill out the contact [form](https://demo.synerise.com/request) to schedule a meeting with our representatives. They’ll be happy to show you how our demo works and discuss how you can apply this use case in your business. ## Generated events This use case generates approximately 9 events per profile that completes the flow: `product.addToWishlist` (~1), [`automation.clientStartPath`](/docs/assets/events/event-reference/automation#automationclientstartpath) (~1), [`automation.clientPathStep`](/docs/assets/events/event-reference/automation#automationclientpathstep) (~2), [`automation.clientEndPath`](/docs/assets/events/event-reference/automation#automationclientendpath) (~1), [`snr.ate.prediction`](/docs/assets/events/event-reference/predictions#snrateprediction) (~1), [`push.send`](/docs/assets/events/event-reference/mobile-push#pushsend) (~1), [`push.view`](/docs/assets/events/event-reference/mobile-push#pushview) (~1), [`push.click`](/docs/assets/events/event-reference/mobile-push#pushclick) (~1). ## Read more --- - [Configuring mobile notifications](/docs/campaign/Mobile/mobile_campaign) - [Time optimizer](/docs/settings/configuration/time-optimizer) - [Workflow settings](/docs/automation/creating-automation) # Create Search Rules to Filter Products Based on Price Keywords “Cheap” presumably isn’t a value of any attribute of the indexed products. You can set a rule to properly handle a query phrase entered by the customer. Filtering will be used to ensure that only products that meet the “cheap” requirement are returned. The range considered cheap depends on your business, but for the purpose of this example let’s consider any price below $50 cheap. We will set a rule, where if the word “cheap” appears in the query the returned products will be filtered to the ones that have prices of $50 or less.
The query rule view before changing its default settings
The query rule view before changing its default settings
## Requirements --- - The Search Engine must be enabled for your workspace. - The "price" attribute must be added to filterable attributes. ## How to do it --- 1. Go to **AI Hub > Indexes**. 2. Choose the **Index** for which you want to apply the rule. 3. Go to the **Rules** tab. 4. Click **Add rule**. 5. In the **Conditions** section click the **Define** button. 6. The **Query** option is selected by default. From the **If query** dropdown menu, select **contains**. 7. In the **Phrase** input, type `cheap`. 8. Click **Apply**. 9. In the **Consequences** section, click the **Define** button. 10. Click **Add consequence** and from the dropdown menu choose **Filter query results**. 11. Click **Add filter** and from the dropdown menu choose the attribute that contains the price of your products. 12. From the dropdown menu to the right of the attribute, choose **Less than or equals**. 13. In the next input, specify the maximum price of items displayed in the search results. In our example, it is 50. 14. Click **Apply**. 15. Optionally, you can schedule your rule to be active from a start date to an end date. To do so, click **Define** in the **Schedule** section. Otherwise, your rule will be active immediately, with no end date. 16. In the top left corner of the screen, name your rule. 17. In the top right corner of the screen, click **Save & Publish** button. ## Check the use case set up on the Synerise Demo workspace --- You can check the [query rules settings](https://app.synerise.com/ai-v2/search/indices/98167fa2726dc2460deb41870c0e6d1c1729168383/query-rules/35414) directly in Synerise Demo workspace. If you’re our partner or client, you already have automatic access to the **Synerise Demo workspace (1590)**, where you can explore all the configured elements of this use case and copy them to your workspace. If you’re not a partner or client yet, we encourage you to fill out the contact [form](https://demo.synerise.com/request) to schedule a meeting with our representatives. They’ll be happy to show you how our demo works and discuss how you can apply this use case in your business. ## Generated events This use case generates approximately 2 events per profile that completes the flow: [`item.search`](/docs/assets/events/event-reference/search#itemsearch) (~1), [`item.search.click`](/docs/assets/events/event-reference/search#itemsearchclick) (~1). ## Read more --- Read more about [rules](/docs/ai-hub/ai-search/query-rules). # Using Rules to Boost Specific Brands and Products in Search Results You can promote brands in the search results using rules. For example, if you have a partnership with a certain brand, you might want to promote items from that brand for some queries. Another example of promoting is returning an item in a specified position in the search results. This is useful when you added a new item to your inventory and it lacks user interactions. You can promote that item to be the first in the search results for a given query. In this use case, we will show you how to combine both scenarios in one rule that is triggered when a customer searches for `4k UHD TV` (the rule requires exactly this query string): - `brandA` is promoted. - An item (called `item1` in this example) is shown as the first result of the search. ## Prerequisites --- - An item feed must be provided. - The attribute containing the item's brand must be added to [filterable attributes](/docs/ai-hub/ai-search/define-attributes#filterable-attributes). - The Search Engine must be enabled for your workspace. ## Creating the rule --- 1. Go to **AI Hub > Indexes**. 2. Choose the index for which you want to apply the rule. 3. Go to the **Rules** tab. 4. Click **Add rule**. 5. In the top left corner of the screen, enter the name of the rule. 6. In the **Conditions** section, click the **Define** button. 7. In the **Query** option (selected by default), leave the **If query** value at **is**. 8. In the **Phrase** input, type `4k UHD TV`. 9. Click **Apply**. 10. In the **Consequences** section, click the **Define** button. 11. Click **Add consequence** and from the dropdown menu choose **Promote item**. 12. In the **Item** input provide the item that will be promoted. In our example, it is `item1`. 13. Change the **Position** to the place in the search results that the item should be promoted to. In our case, it's `1`. 14. Click **Add consequence** and from the dropdown menu choose **Filter query results**.
The rule view for promoting an item. The selection menu for the second consequence is open.
Settings of the rule that promotes an item. The selection menu for the second consequence is open.
15. Click **Add filter**. **Result:** A dropdown menu and an input field appear above the **Add filter** button. 16. From the dropdown menu, choose the attribute that contains the brand of the items that you want to show in the results. 17. In the input field to the right of the dropdown, provide the brand that will be promoted. 18. Click **Apply**. 19. **Optional**: To schedule your rule to be active from a start date to an end date, click **Define** in the **Schedule** section. Otherwise, your rule will be active immediately, with no end date. 20. In the top right corner of the screen, click the **Save & publish** button. ## Generated events This use case generates approximately 2 events per profile that completes the flow: [`item.search`](/docs/assets/events/event-reference/search#itemsearch) (~1), [`item.search.click`](/docs/assets/events/event-reference/search#itemsearchclick) (~1). ## Read more --- - [AI Search](/docs/ai-hub/ai-search) - [Rules](/docs/ai-hub/ai-search/query-rules) # Automate Sending NPS Survey Results to Google BigQuery Integrating Synerise with Google BigQuery enables you to easily export data from Synerise to BigQuery tables using the **Upload Data to Table** node. This connection can be used to export various types of data, such as NPS survey data. By integrating with Google BigQuery, Synerise sends data to be directly uploaded into BigQuery tables, facilitating easy exportation and further analysis. The uploaded data can also be used in other Google tools, such as Google Analytics. In this use case, we will create a workflow which sends information with NPS survey data to Google BigQuery using a dedicated node in our Automation. ## Prerequisites --- - Implement a custom event for NPS survey data, which will be available in the customer profile. In this example, the event is called `nps.send`. Implement custom events in your [mobile application](/developers/mobile-sdk/event-tracking#basic-custom-event) or website [Web](/developers/web/event-tracking#declarative-tracking-custom-events). You can learn more about NPS survey in [this use case](/use-cases/dynamic-nps). - Check [the requirements](/docs/automation/integration/google-bigquery/upload-data-to-bigquery#prerequisites) you must meet to integrate Synerise with BigQuery. ## Create a workflow --- Create a workflow which sends information with NPS survey data to Google BigQuery. Every time the `nps.send` event is generated, the data from the event is sent automatically to BigQuery. 1. Go to Automation Hub icon **Automation Hub > Workflows > New workflow**. 2. Enter the name of the workflow. ### Define the Profile Event trigger node --- At this stage, we will configure conditions that launch the workflow. As a trigger, we will use the `nps.send` event. 1. As the first node of the workflow, add **Profile Event**. In the configuration of the node: 1. Enter the following title to the node: `nps survey`. 2. From the **Choose event** dropdown menu, choose the `nps.send` event. 2. Confirm by clicking **Apply**
Click here to see example event and its parameters for an example customer
{ "time": "2023-02-15T15:24:49Z", "action": "nps.sent", "label": "", "client": { "id": 5092159999, "email": "e0097757-d1e2-44ac-ba3c-d97979a354c1@anonymous.invalid", "uuid": "e0097757-d1e2-44ac-ba3c-d97979a354c1" }, "params": { "eventCreateTime": "2023-02-15T15:25:08.861Z", "name": "John", "surname": "Doe", "location": "Warsaw", "age": "23", "feedback": "Great customer serviece and product selection." } }
### Configure the Upload Data to Table node --- At this stage, we will configure the BigQuery node. 1. As the next node, add **Google BigQuery > Upload Data to Table**. 2. Click **Select connection**. 3. From the dropdown list, select the connection. - If no connections are available or you want to create a new one, see [Create a connection](/docs/automation/integration/google-bigquery/upload-data-to-bigquery#create-a-connection). - If you selected an existing connection, proceed to defining the integration settings. 4. In the configuration of the node: 1. In the **Project ID** field, enter the unique identifier of your project in Google BigQuery. You can learn how to find the project ID [here](https://support.google.com/googleapi/answer/7014113). 2. In the **Dataset ID** field, enter the unique identifier of the dataset in the BigQuery project. 3. In the **Table ID** field, enter the unique identifier of the table in the dataset. 4. In the **Rows** field, enter JSON that extracts name, surname, location and the contents of feedback from the event selected in the **Profile Event** node. The example body contains the [Automation inserts](/developers/inserts/automation) that retrieve data from the event included in the **Profile Event** node.
In this JSON you define only those parameters you want to send to BigQuery.
[
    {
      "insertId": "{{ currentStep.actionId }}",
      "json": {
        "name": "{{ automationPathSteps['nps survey'].event.params.name }}",
        "surname": "{{ automationPathSteps['nps survey'].event.params.surname }}",
        "location": "{{ automationPathSteps['nps survey'].event.params.location }}",
        "feedback": "{{ automationPathSteps['nps survey'].event.params.feedback }}"
      }
    }
]
### Add the finishing node --- 1. Add the **End** node. 2. In the upper right corner, click **Save & Run**.
Automation Hub workflow for sending NPS events to BigQuery
The workflow configuration
## Check the use case set up on the Synerise Demo workspace --- You can check the [workflow configuration](https://app.synerise.com/automations/automation-diagram/c1765019-5e46-46c9-bf5d-2def3b13d2c2) directly in Synerise Demo workspace. If you’re our partner or client, you already have automatic access to the **Synerise Demo workspace (1590)**, where you can explore all the configured elements of this use case and copy them to your workspace. If you’re not a partner or client yet, we encourage you to fill out the contact [form](https://demo.synerise.com/request) to schedule a meeting with our representatives. They’ll be happy to show you how our demo works and discuss how you can apply this use case in your business. ## Generated events This use case generates approximately 5 events per profile that completes the flow: `nps.send` (~1), [`automation.clientStartPath`](/docs/assets/events/event-reference/automation#automationclientstartpath) (~1), [`automation.clientPathStep`](/docs/assets/events/event-reference/automation#automationclientpathstep) (~1), [`automation.clientEndPath`](/docs/assets/events/event-reference/automation#automationclientendpath) (~1), [`bigQuery.uploadData`](/docs/assets/events/event-reference/integration#bigqueryuploaddata) (~1). ## Read more --- - [Automation Hub](/docs/automation) - [Uploading data to BigQuery](/docs/automation/integration/google-bigquery/upload-data-to-bigquery) # Subscription for a product in mobile app The advantage of creating a subscription model in your mobile commerce is that users can enjoy discounted rates on their desired products, which they buy regularly. This option is also beneficial for offline store owners, as it increases customer loyalty and encourages customers to visit more frequently and make more purchases. In this use case we will create a subscription service mechanism based on Synerise's promotions and analytics. The subscription allows to collect one coffee a day for the next 30 days, 30 coffees in total. Customer pays upfront and the price per item is lower than if bought separately. ## Prerequisites --- - Integrate Synerise [promotions](/docs/ai-hub/promotions) - Implement subscription status management using your billing system or payment gateway: - When the subscription is enabled (customer paid for a monthly subscription): 1. Send a `subscription.status` event with the `segment_enabled` parameter set to `1` This parameter is used to track if a customer is eligible for a coffee on each day. It is changed with a workflow after the client buys coffee and resets at midnight. 2. Update the customer's profile with the `subscription.active` attribute set to `1` This attribute is used to track if the monthly subscription is paid and active. - When the subscription ends or is disabled, update the customer's profile with the `subscription.active` attribute set to `0` In this example, Synerise doesn't de-activate the subscription after its period runs out. Your mobile application must do this. ## Security configuration --- Before you start working with this hub, if you are a Synerise customer or partner, consider reading [the section about denylisting events](/docs/settings/tool/api#denylist). This natively accessible configuration will allow you to manage the restrictions in points management that may help you prevent fraud. ## Process --- In this use case, you will go through the following steps: 1. [Create an aggregate](/use-cases/subscription#create-an-aggregate) checking the subscription status. 2. [Create a segmentation](/use-cases/subscription#create-a-segmentation) eligible for the subscription based on the previously created aggregate. 4. [Create a promotion](/use-cases/subscription#create-a-promotion) in Synerise, that reduces the subscribed item's price to zero for the customer. 3. [Create a workflow that tracks redemptions](/use-cases/subscription#create-a-workflow-that-tracks-redemptions) when the customer redeems a coffee. This is needed to track if a coffee was already picked up on a particular day (by using the aggregate created earlier). 5. [Create a workflow which checks the subscription status daily](/use-cases/subscription#create-a-workflow-which-checks-the-subscription-status-daily). ## Create an aggregate --- In this part of the process, create an aggregate that returns the customer's daily redemption status from the most recent `subscription.status` event.
It is important to collect on the client-side transactional information about buying a subscription by customer. In this situation you should generate on your side event (in this case it is `subscription.status`) with the parameter (in this case named `segment_enabled`) with information if the customer is eligible for their daily coffee and send this event to Synerise (the value should be `1` if yes, or `0` if not).
1. Go to Behavioral Data Hub icon **Behavioral Data Hub > Live Aggregates > Create aggregate**. 2. As the aggregate type, select **Profile**. 2. Enter the name of the aggregate. 3. Click **Analyze profiles by** and select **Last**. 4. From the **Choose event** dropdown list, select the `subscription.status` event. 5. As the event parameter, select **segment_enabled**. 5. Click **+where** and choose the **segment_enabled** parameter. 9. From the **Choose operator** dropdown list, select **Equal**. 6. As the value set up `1` (it means that it is active). 6. Define the period from which the aggregate will look up event data - in this case, it is **Lifetime**. 7. Click **Save**.
Decision Hub Last aggregate returning the segment_enabled parameter of the most recent subscription.status event with value 1 over a customer's lifetime
Configuration of the aggregate
## Create a segmentation --- Create a segmentation of customers based on the results of [the aggregate you created](/use-cases/subscription#create-an-aggregate) in the previous part of the process. This segmentation shows the customers who did not redeem a coffee on a particular day. 1. Go to Decision Hub icon **Decision Hub > Segmentations > New segmentation**. 2. Enter the name of the segmentation. 3. Click **Choose filter**. 4. From the dropdown list, select the [aggregate you created before](/use-cases/subscription#create-an-aggregate). 5. As the logical operator, select **Equal**. 6. In the text field, enter `true`. 7. Save the segmentation.
Segment settings
Segment settings
## Create a promotion --- In this step, create a promotion that reduces the subscribed product’s price to zero and can be redeemed 30 times. 1. Go to AI Hub icon **AI Hub > Regular Promotions > Add promotion**. 2. Select the **For selected items** option. 3. In the **Audience** section: 4. Choose the [segment created previously](/use-cases/subscription#create-a-segmentation). 5. Click **Apply**. 4. In the **Content** section: 2. Add the name in the **Display name**. 2. In the **Price** field, enter `0`. 3. In the **Long description** add the names and SKU's of products which price should be reduced to zero (in this case coffees). 4. Define the name and description of the promotion. 3. Confirm the settings by clicking **Apply**. 4. In **Type & limits** section: 1. Choose the **Custom** type. 2. Choose the **Multibuy** sub-type. 4. Define the number of usages per activation as `1`. 6. Define distribution period in the **Schedule** section and publish the promotion to apply all changes and run the promotion. 7. After buying the subscription the promotion created above should be activated on the client side - **for 30 times** (because it is the promotion for 30 coffees). Check the [first](https://hub.synerise.com/api-reference/loyalty-and-engagement#operation/ActivateAPromotion) or [second](https://hub.synerise.com/api-reference/loyalty-and-engagement#operation/BatchActivate) option which help you in activation of the promotion in our documentation. ## Create a workflow that tracks redemptions --- In this step create a workflow that generates the event which informs that user collecting his daily coffee. In this workflow, after the promotion is redeemed by customer who has subscription - `client.removePoints` event is generated. This event is the trigger of the described workflow, which removes a customer from the segment for one day (they will not be able to use this subscription two times a day). 1. Go to Automation Hub icon **Automation Hub > Workflows > New workflow**. 2. Enter the name of the workflow. ### Define the Profile Event trigger node --- At this stage, you configure the workflow to be triggered by a `client.removePoints` event. 1. As the first node of the workflow, add **Profile Event**. In the configuration of the node: 1. From **Choose event** dropdown menu, choose `client.removePoints` event. 2. Click the + where button, from the **Choose parameter** dropdown menu, choose **promotionUuid**. 3. From the **Choose operator** dropdown, choose **Equal (String)**. 4. In the next field, type the UUID of the promotion that you created earlier. 2. Confirm by clicking **Apply**. ### Define the Generate Event node --- At this stage, an event is generated which is then used to exclude this profile from the segmentation of customers who did not pick up a coffee on this day. 1. As the second node of the workflow, add **Generate Event**. 2. In the **Event name**, enter `subscription.status`. 4. In the **Body** section, define the parameters of this event. In this case it is: ``` {"segment_enabled": "0"} ``` This removes the customer from the segment of customers eligible for a coffee on this day. 5. Click **Apply**. ### Add the finishing node --- 9. Add the **End** node. 10. In the upper right corner, click **Save & Run**.
Automation Hub workflow for tracking coffee subscription redemptions and resetting daily eligibility
The workflow configuration
## Create a workflow which checks the subscription status daily --- In this step create a workflow that checks the current subscription status. It is triggered by the **Audience** node, which starts the automation every day at 00:00. This way, customers who picked up their daily coffee and were removed from the segment of eligible customers the day before, are re-added to the segment and can use the promotion during the next day. They must also have an active subscription. ### Define the Audience trigger node --- At this stage, you configure the conditions that trigger the workflow. 1. As the trigger node, add an **Audience** node. 2. In the configuration of the node: 1. Set the **Run trigger** option to **repeatable**. 2. Set the interval to 1 per day. 3. As the time when the process starts, Choose 0:00 A.M. to make sure that the automation will check the customer status at the beginning of each day. 4. Select the time zone. 6. In **Define audience**, choose **New Audience** and click **Define conditions**. 1. As the first condition, from the **Choose filter** dropdown menu, choose the `subscription.status` event. 2. Click the **+ where** button, choose **segment_enabled**, and then select **Equal**. As the value, enter `0` 6. Set the time range to **Last 1 day before 1 day**. 3. As the second condition, from **Choose filter** dropdown menu, choose the `subscription.active` attribute and then select **Equal**. As the value, enter `1`. 8. Click **Apply**.
The configuration of the Audience node
The configuration of the Audience node
### Define the Generate Event node At this stage, an event with information that the customer has an active subscription and should be added to the segment again is generated. Based on that, the customer will be able to redeem another coffee during this day. 1. As the second node of the workflow, add **Generate Event**. 2. In the **Event name**, enter `subscription.status`. 4. In the **Body** section, define the parameters of this event. In this case, it is: ```json {"segment_enabled": "1"} ``` This re-adds the customer to the segment of customers eligible for a coffee on this day. 5. Click **Apply**. ### Add the finishing node --- 9. Add the **End** node. 10. In the upper right corner, click **Save & Run**.
Automation Hub workflow for checking subscription status daily and re-adding eligible customers to the subscription segment
The workflow configuration
## Request from cash register --- After using one of the [method](/use-cases/subscription#create-a-promotion)described in the promotion section - when customer buy a coffee, the cash register sends a request about promotions ([read more](https://hub.synerise.com/api-reference/loyalty-and-engagement#operation/GetClientPromotionsByACustomFilter)). If the cash register sees in the answer that customer has an active subscription, after processing the transaction, [redeem](https://hub.synerise.com/api-reference/loyalty-and-engagement#operation/RedeemAPromotion) the one promotion according to one of the methods above. ## What's next --- This promotion can be the first step towards a more advanced marketing strategy and possibilities. While collecting your primary subscription (in this case coffee) you can for example receive a gift once in a billing period - (for example free muffin or small coffee). ## Check the use case set up on the Synerise Demo workspace --- You can check the configuration directly in Synerise Demo workspace: - [aggregate](https://app.synerise.com/analytics/aggregates/9b44ca29-0f2b-3d63-94ba-d5903707472d) - [segmentation](https://app.synerise.com/analytics/segmentations/fdcf4f45-7268-49f1-b1dd-9d2add9f2723) - [workflow which generates the event informing about collecting the coffee on a specific day](https://app.synerise.com/automations/automation-diagram/2a0fc77a-4784-4a5c-a2a9-bb6e6f123094) - [workflow](https://app.synerise.com/automations/automation-diagram/5be43d01-05fd-4845-baa9-3d425f3196ab) which adds customers with active subscription to the segment again - [promotion](https://app.synerise.com/campaigns/promotions/7bc157e2-0e43-4072-b5f7-5f5e7db90352) If you’re our partner or client, you already have automatic access to the **Synerise Demo workspace (1590)**, where you can explore all the configured elements of this use case and copy them to your workspace. If you’re not a partner or client yet, we encourage you to fill out the contact [form](https://demo.synerise.com/request) to schedule a meeting with our representatives. They’ll be happy to show you how our demo works and discuss how you can apply this use case in your business. ## Generated events This use case generates approximately 42 events per profile that completes the flow: `subscription.status` (~3), [`client.activatePromotion`](/docs/assets/events/event-reference/loyalty#clientactivatepromotion) (~30), [`transaction.charge`](/docs/assets/events/event-reference/items#transactioncharge) (~1), [`product.buy`](/docs/assets/events/event-reference/items#productbuy) (~1), [`client.removePoints`](/docs/assets/events/event-reference/loyalty#clientremovepoints) (~1), [`automation.clientStartPath`](/docs/assets/events/event-reference/automation#automationclientstartpath) (~2), [`automation.clientPathStep`](/docs/assets/events/event-reference/automation#automationclientpathstep) (~2), [`automation.clientEndPath`](/docs/assets/events/event-reference/automation#automationclientendpath) (~2). ## Read more --- - [Aggregates](/docs/crm/aggregates) - [Automation Hub](/docs/automation) - [Loyalty programs basics](/use-cases/loyalty-programs-basics) - [Promotions](/docs/ai-hub/promotions) - [Segmentation](/docs/analytics/segmentations) # Web push with last visited product You can use web push notifications to remind customers of their last viewed products, helping them pick up where they left off and complete their purchase journey. Personalized push notifications can increase customer engagement, retention, and ultimately, sales. Reach your customers in a non-intrusive way and provide a seamless shopping experience that keeps your brand top of mind. In this use case, you will create a workflow sending a personalized web push with product recently viewed by customer. ## Prerequisites --- - [Implement a tracking code](/docs/settings/tool/tracking_codes). - [Implement OG tags](/developers/web/og-tags). Make sure that items include an image so webpush can render. - [Configure web push notifications](/docs/campaign/Webpush/configuring-web-push). ## Process --- In this use case, you will go through the following steps: 1. [Create aggregates](#create-aggregates) returning the tile, image and link of the last visited product. 2. [Create a web push template](#create-a-web-push-template) with aggregate inserts. 3. [Create a workflow](#create-a-workflow) to send customers a webpush. ## Create aggregates --- In this part of the process, create three aggregates that return title, image, and link of the last product customer had visited. ### Aggregate returning the title of the last visited product --- 1. Go to Behavioral Data Hub icon **Behavioral Data Hub > Live Aggregates > Create aggregate**. 2. As the aggregate type, select **Profile**. 2. Enter the name of the aggregate. 3. Click **Analyze profiles by** and select **Last**. 4. From the **Choose event** dropdown list, select the **Visited page** event. 5. As the event parameter, select **og:title** 6. Click the **+ where** button. 7. From the **Choose parameter** drop-down list, select the **product:retailer_part_no** parameter. 5. From the **Choose operator** dropdown list, select **String** and **Is not empty**. 6. Using the date picker in the lower-right corner, set the time range to **Custom > Last 12 hours**. Confirm your choice with the **Apply** button. 7. Click **Save**.
Decision Hub Last aggregate returning the og:title of the last visited product page in the past 12 hours
Configuration of the aggregate returing the title of the last seen product
### Aggregate returning the image of the last visited product --- 1. Go to Behavioral Data Hub icon **Behavioral Data Hub > Live Aggregates > Create aggregate**. 2. As the aggregate type, select **Profile**. 2. Enter the name of the aggregate. 3. Click **Analyze profiles by** and select **Last**. 4. From the **Choose event** dropdown list, select the **Visited page** event. 5. As the event parameter, select **og:image** 6. Click the **+ where** button. 7. From the **Choose parameter** drop-down list, select the **product:retailer_part_no** parameter. 5. From the **Choose operator** dropdown list, select **String** and **Is not empty**. 6. Using the date picker in the lower-right corner, set the time range to **Custom > Last 12 hours**. Confirm your choice with the **Apply** button. 7. Click **Save**.
Decision Hub Last aggregate returning the og:image URL of the last visited product page in the past 12 hours
Configuration of the aggregate returing the image of the last seen product
### Aggregate returning the link of the last visited product --- 1. Go to Behavioral Data Hub icon **Behavioral Data Hub > Live Aggregates > Create aggregate**. 2. As the aggregate type, select **Profile**. 2. Enter the name of the aggregate. 3. Click **Analyze profiles by** and select **Last**. 4. From the **Choose event** dropdown list, select the **Visited page** event. 5. As the event parameter, select **og:url** 6. Click the **+ where** button. 7. From the **Choose parameter** drop-down list, select the **product:retailer_part_no** parameter. 5. From the **Choose operator** dropdown list, select **String** and **Is not empty**. 6. Using the date picker in the lower-right corner, set the time range to **Custom > Last 12 hours**. Confirm your choice with the **Apply** button. 7. Click **Save**.
Decision Hub Last aggregate returning the og:url of the last visited product page in the past 12 hours
Configuration of the aggregate returing the link of the last seen product
## Create a web push template --- In this part of the process, you will create a web push template with [aggregate inserts you created in the previous part of the process](#create-aggregates). 1. Go to Experience Hub icon **Experience Hub > Web Push > Templates > Create new**. 2. Click **Drag&drop builder**. 3. Enter the name of the template. 4. In the **Title** field, define the title you want to display in the web push. 5. In the **Message** field, define the copy you want to appear in the web push. In our case it will be an insert with [aggregate returing the product title, created in the previous step](#aggregate-returning-the-title-of-the-last-visited-product). Enter the following code:
{% aggregate ae5d9077-d723-3649-8233-08fab406ec53 %}{{aggregate_result[0]}}{% endaggregate %}
Aggregate IDs are used as examples for the purpose of this use case.
6. In the **URL** field, define the link you want to display in the web push. In our case it will be an insert with [aggregate returing the product link, created in the previous step](#aggregate-returning-the-link-of-the-last-visited-product). Enter the following code:
{% aggregate 87eba5f7-40ab-3b24-98df-ae2ac6263474 %}{{aggregate_result[0]}}{% endaggregate %}
7. In the **Icon** field, define the image you want to display in the web push. In our case it will be an insert with [aggregate returing the product image, created in the previous step](#aggregate-returning-the-image-of-the-last-visited-product). Enter the following code:
{% aggregate 71293b39-ea01-310c-b887-3cb91b6645e3 %}{{aggregate_result[0]}}{% endaggregate %}
8. Optionally, you can define an image in the **Image** field.
The view of the web push template configuration
Web push template configuration
## Create a workflow --- The workflow will be triggered by the `session.end` event. The delay is set to 2 hours, after this time customer will receive a web push with the last seen product. 1. Go to Automation Hub icon **Automation Hub > Workflows > New workflow**. 2. Enter the name of the workflow. ### Define the trigger node --- 1. As the first node, add the **Profile Event**. In the settings of the node, select the **session.end** event. 2. Click **Apply**. ### Configure the Delay node --- 1. Add the **Delay** node. In the node settings: 1. In the **Delay** field, type `2`. 2. From the **Unit** dropdown list, choose **Hour**. 2. Click **Apply**. ### Configure the Send Web Push node --- 1. Add the **Send Web Push** node. In the node settings: 1. In the **Content** section, from the **Webpush template** dropdown, select [the template you created in the previous step](#create-a-web-push-template). 2. In the **Schedule** section, set the **Webpush lifespan (TTL)** according to your business needs. 3. You can describe campaigns with [additional parameters](/docs/campaign/Webpush/creating-webpush-campaigns#adding-custom-parameters). 2. Click **Apply**. ### Add the finishing node --- 1. Add the **End** node to the **Send Web Push** node. 2. In the upper right corner, click **Save & Run**.
Automation Hub workflow for sending web push notifications featuring last visited products
The workflow configuration
## Check the use case set up on the Synerise Demo workspace --- You can check the all the configurations directly in Synerise Demo workspace: - [Aggregate returning the name of the last visited product](https://app.synerise.com/analytics/aggregates/ae5d9077-d723-3649-8233-08fab406ec53) - [Aggregate returning an image of the last visited product](https://app.synerise.com/analytics/aggregates/71293b39-ea01-310c-b887-3cb91b6645e3) - [Aggregate returning a link of the last visited product](https://app.synerise.com/analytics/aggregates/87eba5f7-40ab-3b24-98df-ae2ac6263474) - [Workflow](https://app.synerise.com/automations/automation-diagram/8e027e43-2ac7-4e50-be0d-b4b6c4c5f469) If you’re our partner or client, you already have automatic access to the **Synerise Demo workspace (1590)**, where you can explore all the configured elements of this use case and copy them to your workspace. If you’re not a partner or client yet, we encourage you to fill out the contact [form](https://demo.synerise.com/request) to schedule a meeting with our representatives. They’ll be happy to show you how our demo works and discuss how you can apply this use case in your business. ## Generated events This use case generates approximately 8 events per profile that completes the flow: [`session.end`](/docs/assets/events/event-reference/web-and-app#sessionend) (~1), [`automation.clientStartPath`](/docs/assets/events/event-reference/automation#automationclientstartpath) (~1), [`automation.clientPathStep`](/docs/assets/events/event-reference/automation#automationclientpathstep) (~2), [`automation.clientEndPath`](/docs/assets/events/event-reference/automation#automationclientendpath) (~1), [`webpush.send`](/docs/assets/events/event-reference/webpush#webpushsend) (~1), [`webpush.show`](/docs/assets/events/event-reference/webpush#webpushshow) (~1), [`webpush.click`](/docs/assets/events/event-reference/webpush#webpushclick) (~1). ## Read more --- - [Automation Hub](/docs/automation) - [Jinjava inserts](/developers/inserts) - [Web push](/docs/campaign/Webpush) # Use cases # Item comparison recommendations on the website An overwhelming number of products can often discourage a customer from purchasing. An intelligent solution is to use product comparison recommendations to make the buying decision process smoother. Such offers make it easier for customers to decide when trying to choose between multiple models or styles of the same products to get a better idea of which option is best for them. But it also allows marketers to promote products with specific features. Such a solution is a great way to increase customer engagement and conversions. This use case describes the process of creating dress comparison recommendations for customers on the website. Item comparison recommendations ## Prerequisites --- - Implement [Synerise tracking code](/developers/web/installation-and-configuration) on your website. - Implement [OG Tags](/developers/web/og-tags) on your website. - [Prepare a product feed](/docs/ai-hub/recommendations-v2/item-feed-requirements) with attributes to be used in item comparison recommendations. - [Configure an item catalog for recommendations](/docs/settings/configuration/ai-engine-configuration/engine-configuration-for-recommendations). Enable the item comparison recommendations. - Meet the minimum data requirements of interactions and events. At least 10,000 item page visits for **Item comparison recommendations**. ## Create a recommendation --- 1. Go to AI Hub icon **AI Hub > (AI Recommendations) Models > Add recommendation**. 2. Enter a meaningful name of the recommendation. 3. In the **Type & Items feed** section, click **Define**. 1. From the **Items feed** dropdown list, select the catalog that contains items for the recommendation. 2. As the type, select **Item comparison**. 3. Click **Apply**. 4. In the **Compare attributes** section, click **Define**. 5. Click **Choose**. 6. Select the item attributes from the list of all available attributes to be compared in the recommendations. 6. Click **Apply**. 7. In the **Items** section, click **Define**. 1. Click **Add slot**. You can name the slot for later reference. 2. In the **Number of items** subsection, set the minimum and maximum number of items to `3`.
Setting the minimum and maximum number of items to the same number ensures that exactly this many items will appear in the slot.
3. In **Static filters** set the following parameters: 1. From the dropdown list, choose **Visual Builder**. 2. Click **Select attribute**. 3. From the dropdown list, choose the **category** attribute. 4. Click **Operator**. 5. From the dropdown list, choose **Equals**. 6. Click **Select value**. 7. From the dropdown list, choose the `dress` category. 8. On the bottom of the static filter, click **Apply**. 9. In the **Items** section, click **Apply**.
Learn about the difference among [elastic, static filters](/docs/ai-hub/recommendations-v2/creating-recommendation-campaign#select-conditions-of-displaying-items), and [distinct filters](/docs/ai-hub/recommendations-v2/creating-recommendation-campaign#distinct-filter).
8. Optionally, you can define the settings in the **Boosting** and **Additional settings** sections.
Learn more about [boosting](/docs/ai-hub/recommendations-v2/creating-recommendation-campaign#define-the-boosting-factors) and [additional settings](/docs/ai-hub/recommendations-v2/creating-recommendation-campaign#additional-settings).
9. Save the recommendation by clicking **Save**.
You can also check the recommendation configuration directly in Synerise Demo workspace at this [link](https://app.synerise.com/ai-v2/recommendations/psaucwbowxkX). If you’re our partner or client, you already have automatic access to the **Synerise Demo workspace (1590)**, where you can explore all the configured elements of this use case and copy them to your workspace. If you’re not a partner or client yet, we encourage you to fill out the contact [form](https://demo.synerise.com/request) to schedule a meeting with our representatives. They’ll be happy to show you how our demo works and discuss how you can apply this use case in your business.
## What's next --- You can display the recommendation to customers in a number of ways, for example by using the [recommendation insert](/developers/inserts/recommendations-v2) in [dynamic content](/docs/campaign/dynamiccontent/creating-dynamic-content). ## Generated events This use case generates approximately 3 events per profile that completes the flow: [`recommendation.generated`](/docs/assets/events/event-reference/recommendations#recommendationgenerated) (~1), [`recommendation.view`](/docs/assets/events/event-reference/recommendations#recommendationview) (~1), [`recommendation.click`](/docs/assets/events/event-reference/recommendations#recommendationclick) (~1). ## Read more --- - [Creating recommendations](/docs/ai-hub/recommendations-v2/creating-recommendation-campaign) - [Dynamic content campaigns](/docs/campaign/dynamiccontent/introduction-to-dynamic-content) - [Dynamic content inserts](/developers/inserts/dynamic-content) - [Filters in recommendations](/docs/ai-hub/recommendations-v2/recommendation-filters) - [Requirements for item feed](/docs/ai-hub/recommendations-v2/item-feed-requirements) # Send a mobile push to customers who are most likely to buy In order to increase conversions, you might look into the use of lookalike predictions to identify the customers comparable to prior successful target audiences. Lookalikes let you compare two segments of customers and find those who display similar qualities of performance. Marketers may extend reach of campaigns by incorporating these lookalike audiences into their communication. This use case describes a workflow that sends a mobile push notification to customers who did not receive it before, and might be likely to purchase after receiving it. Those customers are chosen using highest lookalike prediction score which is calculated on the basis of the segment of customers who reacted well to a previous iteration of that campaign. The workflow is triggered by the `session.start` event in the mobile application, and sends a mobile push after 48 hours if the customer did not make a purchase.
In this use case, we start from the assumption that we want to find customers similar to those who once made the desired conversion in a specific mobile push campaign. Therefore, we use the Lookalikes model. However, if we simply wanted to find customers with the highest probability of purchase, then we would use the propensity prediction model.
## Prerequisites --- - [Enable the Lookalike prediction type](/docs/ai-hub/predictions/enabling-predictions#enabling-lookalikes). - Select a campaign sent in the past, on the basis of which we will create a segment for lookalike prediction. - Implement [transaction events](https://hub.synerise.com/api-reference/data-management#operation/CreateATransaction). - [Implement Synerise SDK in your mobile application](/developers/mobile-sdk). - Implement mobile push notifications in your mobile application: [iOS](/developers/mobile-sdk/configuring-push-notifications/ios), [Android](/developers/mobile-sdk/configuring-push-notifications/android). - [Create a mobile push template](/docs/campaign/Mobile/creating-mobile-push). ## Process --- 1. [Create a lookalike prediction](/use-cases/send-mobile-push-customers-most-likely-to-buy#create-a-lookalike-prediction). 2. [Create a workflow](/use-cases/send-mobile-push-customers-most-likely-to-buy#create-a-workflow) that sends the mobile push. ## Create a lookalike prediction --- In this step, we will calculate the prediction. As a result, on the customers' profiles from the target segmentation a [`snr.lookalike.score`](/docs/assets/events/event-reference/predictions#snrlookalikescore) event will appear. It contains a `score.label` parameter, which determines the similarity between the customers in the target and the source segmentations. The workflow configuration, will be based on this parameter. We will select customers who have the highest similarity to people who previously converted after receiving a given campaign. 1. Go to AI Hub icon **AI Hub > (AI Predictions) Models > New prediction**. 2. Enter a meaningful name for the prediction. 2. In the **Select prediction type** window that appears, click **Lookalikes**. 3. Click **Apply**. ### Create a source segmentation A source segmentation is a group of model customers to whom you compare the target group of customers in order to find similar customers in the target group. In this scenario, customers who made a purchase during past marketing campaign will be the source segmentation. 1. In the **Audience** section, click **Define**. 2. In the **Source segmentation** sub-section, click **Choose segmentation**. 3. On the dropdown list, click **Create new**. 4. In the **Segmentation name** field, enter a meaningful name of the segmentation. 5. Click **Netx step**. 5. Click **Choose filter**: 1. From the dropdown list, select the [`push.view`](/docs/assets/events/event-reference/mobile-push#pushview) event. 2. Click the **+ and where** button and select `id`. 3. As the logical operator, select **Equal**. 4. Type the campaign ID. 6. Click **+ Add funnel step**. 7. Click **Choose filter**: 1. From the dropdown list, select the [`transaction.charge`](/docs/assets/events/event-reference/items#transactioncharge) event. 8. In the lower-right corner, click the clock icon. **Result**: **Completed within** section will appear. 9. Type `2` and from the dropdown list, select **Days**. 9. Using the date picker in the lower-right corner, select the **Lifetime** value. 6. Save the segmentation by clicking **Create segmentation**.
Source segmentation configuration
Source segmentation configuration
### Create a target segmentation A target segmentation is a group of customers among which you want to find customers who are similar to those included in the source group. In this scenario, we are looking for customers who visited a mobile application in the specified time period and did not receive the previous campaign. 1. In the **Audience** section, click **Define**. 2. In the **Target segmentation** sub-section, click **Choose segmentation**. 3. On the dropdown list, click **Create new**. 4. In the **Segmentation name** field, enter a meaningful name of the segmentation. 5. Click **Netx step**. 5. Click **Choose filter**: 1. From the dropdown list, select the `push.view` event. 2. Click the **+ and where** button and select `id`. 3. As the logical operator, select **Equal**. 4. Type the campaign ID. 5. Change **Profiles matching funnel** to **not matching**. 7. Using the date picker in the lower-right corner, specify the time period: 1. Set the time range in **Relative date range** to **Custom**. 2. Type 30 below, and from the dropdown list next to the field, choose **Days**. 3. Click **Apply**. 8. Click **Choose filter**: 1. From the dropdown list, select the [`session.start`](/docs/assets/events/event-reference/web-and-app#sessionstart) event. 2. Click the **+ and where** button and select `mobile`. 3. As the logical operator, select **Is true**. 9. Using the date picker in the lower-right corner, specify the time period: 1. Set the time range in **Relative date range** to **Last 7 d**. 2. Click **Apply**. 10. Click **Choose filter**: 1. From the dropdown list, select the attribute for push agreement. 2. As the logical operator, select **Is true**. 6. Save the segmentation by clicking **Create segmentation**. 7. Confirm the settings in the **Audience** section by clicking **Apply**.
Target segmentation configuration
Target segmentation configuration
### Configure further settings 1. In the **Settings** section, click **Change**. 2. Choose **Set up recurring prediction calculation**: 1. Set the frequence of model training to 7 days. 3. Change the scale from 5 point scale to 2. The scale a customer reached will be available in the `snr.lookalike.score` event, as the `score_label` parameter. 4. Confirm the changes in the Settings section by clicking **Apply**. 5. Click **Save & Calculate**. ## Create a workflow --- As the final part of the process, create a workflow that manages the push notifications. Visiting the mobile app triggers the start of the workflow. The push notification will be sent after 48 hours to customers with high prediction score and who didn't make a purchase. 1. Go to **Automation Hub > Workflows > New workflow**. 2. Enter the name of the workflow. ### Define the Profile Event trigger node At this stage, we will configure the conditions that launch the workflow. As a trigger, we will use the `session.start` event. 1. As the first node of the workflow, add **Profile Event**. In the node settings: 1. From the dropdown list, select the `session.start` event. 2. Click the **+ and where** button and from the dropdown list, select `mobile`. 3. As the logical operator, select **Is true**. 4. Click **Apply**. ### Configure Delay node This node will delay sending the push notification. 1. Add the **Delay** node. In the node settings: 1. In the **Delay** field, type `48`. 2. From the dropdown list, choose **Hour**. 2. Click **Apply**. ### Configure the Profile Filter node This node will filter the customers visiting the mobile application to those who received the `high` value of the `score.label` parameter and those who didn't make a purchase in the last 7 days. 1. As the next node, add **Profile Filter**. 2. In the setting of the node, click **Choose filter** and from the dropdown list, select the `snr.lookalike.score` event: 1. For the event parameter, click the **+ where** button and select `modelId`. 2. As the logical operator, select **Equal**. 3. Enter the ID of the [lookalike prediction](/use-cases/send-mobile-push-customers-most-likely-to-buy#create-a-lookalike-prediction) created in the previous step. 8. Click the **+ and where** button and select `score_label`. 9. As the logical operator, select **Equal**. 10. Type `high`. 9. In the calendar in the right bottom of the page, in the **Relative date range** section, select **Last 7 d**. 3. Click **Apply**. 3. Click **Choose filter** and from the dropdown list, select the transaction charge event: 1. Change the Profiles **matching** funnel to **not matching**. 2. In the calendar in the right bottom of the page, in the **Relative date range** section, select **Last 7 d**. 3. Click **Apply**.
Profile Filter node configuration
Profile Filter node configuration
4. For the **Not matched** path, add the **End** node . ### Configure settings for mobile push 1. As the next node for the **Matched** path, add the **Send Mobile Push** node. Configure it according to your business needs: 1. Select the template type of mobile push. 2. Select a template prepared earlier. 2. Confirm by clicking **Apply**. ### Add the finishing node and capping 1. Add the **End** node. 2. In the top right corner of the page, click the **Set capping** button. Define the settings: 1. Type as follows **Limit** 1 **Time** 7, and from the dropdown list choose **Day**. 2. Click **Apply**. 3. In the upper right corner, click **Save & Run**.
Automation Hub workflow for sending mobile push notifications to customers most likely to buy
The workflow configuration
## Check the use case set up on the Synerise Demo workspace --- You can check the configuration of the [workflow](https://app.synerise.com/automations/automation-diagram/a5388fc9-cf92-4fc2-9225-85e994162e87) in our Synerise Demo workspace: If you’re our partner or client, you already have automatic access to the **Synerise Demo workspace (1590)**, where you can explore all the configured elements of this use case and copy them to your workspace. If you’re not a partner or client yet, we encourage you to fill out the contact [form](https://demo.synerise.com/request) to schedule a meeting with our representatives. They’ll be happy to show you how our demo works and discuss how you can apply this use case in your business. ## Generated events This use case generates approximately 10 events per profile that completes the flow: [`snr.lookalike.score`](/docs/assets/events/event-reference/predictions#snrlookalikescore) (~1), [`session.start`](/docs/assets/events/event-reference/web-and-app#sessionstart) (~1), [`automation.clientStartPath`](/docs/assets/events/event-reference/automation#automationclientstartpath) (~1), [`automation.clientPathStep`](/docs/assets/events/event-reference/automation#automationclientpathstep) (~3), [`automation.clientEndPath`](/docs/assets/events/event-reference/automation#automationclientendpath) (~1), [`push.send`](/docs/assets/events/event-reference/mobile-push#pushsend) (~1), [`push.view`](/docs/assets/events/event-reference/mobile-push#pushview) (~1), [`push.click`](/docs/assets/events/event-reference/mobile-push#pushclick) (~1). ## Read more --- - [Configuring mobile notifications](/docs/campaign/Mobile/mobile_campaign) - [Lookalikes predictions](/docs/ai-hub/predictions/lookalikes) - [Predictions](/docs/ai-hub/predictions/predictions-introduction) - [Workflow](/docs/automation/creating-automation)