Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Challenge:

When using our Self Service, customers can face the challenge of customizing it according to their specific requirements. They need a way to configure various components and elements to create a tailored Self Service experience.

Solution:

To address this challenge, we have developed multiple components that can be reused in Flows in order . These components provide flexibility and allow customers to customize your their Self -Service as desired.
Below we explain to you everything that can be configured.We started delivering the components in our release version 2.135 and more will be added in every upcoming release.Service to suit their needs. In the following section, we will explain all the configurable options available:

Version

2.135 and up

License

Self - Service

Table of Contents

Please find a full list of the components below:

Component

PurposeDelivery

Campaign creation

Set campaign parameters such as name, campaign goal, runtime and budget.delivered in 2.135

Audience selection

Define the audiences you would like to reach with your ads.delivered in 2.135

Result list

Receive products that fit to your search criteria and add them to your basket.

delivered in 2.138

Shopping cart

Get an overview of your basket and make some last minute changes such as quantities or removing products from the basket.delivered in 2.138

Payment

Get an invoice in order to pay the invoice.delivered in 2.140invoice.

Create records / Save

Simplifying the save process and taking care of saving applied Commitment Conditions as well as Targeting Groups (audiences) which were matched. delivered in 2. 156

You can start setting up your Self Service by creating a Digital Experience. Please find the steps right here: 9.1 Create a Portal (Digital Experience)

...

Create a new flow and select the type screen flow. You can select a layout type. Choose whatever you prefer.

Campaign creation

The first step is to add a new screen component to the flow.

...

Input/Output

Required?

Parameter

Meaning

Value format

Default value

Input

no

Budget Selection

Please select the budget selection mode that should be used in the campaign creation.

Possible values are:

  • Input

  • Slider

This will result in showing either a sliding bar or a text input field for you to specify your budget amount/impressions.

text

slider

Input

no

Budget Type

Please select the budget type that should be used in the campaign. You can take the decision for the user already or leave the choice to him.

Possible values are:

  • Impression

  • Revenue

  • Impression & Revenue

text

Revenue

Input

no

budgetMax

Set the maximum number of revenue budget that should be selectable.

number

20,000

Input

no

budgetMin

Set the minimum number of revenue budget that should be selectable.

number

500

Input

no

budgetStep

Set the step value for revenue budget that should be applied while using the slider.

number

500

Input

no

goals

Enter a custom setup of the Campaign Goals to customize them for your needs.

JSON string

please see below the table

Input

no

impressionsBudgetMax

Set the maximum number of impression budget that should be selectable.

number

20,000

Input

no

impressionsBudgetMin

Set the minimum number of impression budget that should be selectable.

number

500

Input

no

impressionsBudgetStep

Set the step value for impression budget that should be applied while using the slider.

number

500

Input

no

Info Text

Enter an info text that will be shown below the budget in order to give a hint to the user.

text

empty

Input

no

Media Campaign Id

If you are working with already saved campaigns please set the Media Campaign id here.

id of a Media Campaign

empty

Input

yes

mediaCampaign

Enter the variable of a Media Campaign that can be used for saving the Media Campaign to be configured virtually.

record variable of data type Media Campaign

empty

Output

yes

mediaCampaign

Enter the variable of the Media Campaign from above in order to hand over the entered parameters to the next component.

record variable of data type Media Campaign

empty

...

After adding the component to your screen flow connect an arrow from the start object to the Campaign Creation component.

...

Audience

The second step is to add a new screen component to the flow.

On the left side under the section, Custom you will find the component Audience. Add it to the screen.

...

Available filters

There is a total of 5 available filters for your Audience. Available filters are Media Type, Formats, Ad Type, Impressions and Price.

...

Input/Output

Required?

Parameter

Meaning

Value format

Default value

Input

yes

Media Campaign

Enter the variable of the Media Campaign from the first component to take over the Media Campaign parameters.

record variable of data type Media Campaign

empty

Input

yes

Selected Targeting Groups

Enter a variable for Targeting Groups in order to load the entered parameterswhen parameters when navigating between different screens.

collection (Allow multiple values) variable of data type Targeting Group

empty

Input

no

Media Campaign Id

If you are working with already saved campaigns please set the Media Campaign id here.

id of a Media Campaign

empty

Input

no

Targetings

Enter a custom setup of the Audience selection to customize it for your needs.

JSON string

please see below

Output

no

Media Campaign

Enter the variable of the Media Campaign from the first screen in order to hand over the parameters to the next component.

record variable of type Media Campaign → should be left empty

empty

Output

no

Media Campaign Id

(not relevant for now)

id of a Media Campaign

empty

Output

yes

Selected Targeting Groups

Enter a variable of Targeting Groups in order to hand over the entered parameters to the next component.

collection (Allow multiple values) variable of data type Targeting Group

empty

...

After adding the component to your screen flow connect an arrow from the Campaign Creation component to your newly created Audience component.

...

Select Products

The third step is to add another new screen component to the flow.

On the left side under the section, Custom you will find the component Result List. Add it to the screen.

...

Linear split

When the Linear split is enabled, it helps distribute the budget quantity evenly across campaign items, see Linear Split Enabled below:

...

Input/Output

Required?

Parameter

Meaning

Value format

Default value

Input

yes

campaignItems

Enter a variable to save the Campaign Items that will start to be created in this component.

collection (Allow multiple values) variable of data type Campaign Item

empty

Input

no

Check Availability Enabled

Please enter a value that defines if an availability check should be done when starting the Result List or not.

Info

The availability check will be done for digital items as well as exclusive items.

boolean

false

Input

no

Items per Check Availability Job

This value defines how many items will be included in one availability job at the same time. The number affects the speed how fast results are coming in. The default of 10 is a well balanced value between not waiting too long but putting enough items together to not have too many jobs running in the end.

number

10

Input

yes

Media Campaign

Enter the variable of the Media Campaign from the first component to take over the Media Campaign parameters.

record variable of data type Media Campaign

empty

Input

no

Media Campaign Id

If you are working with already saved campaigns please set the Media Campaign id here.

id of a Media Campaign

empty

Input

yes

Targeting Group Ids

Enter the existing variable for Targeting Groups in order to load the entered parameters on this screen.

collection (Allow multiple values) variable of data type Targeting Group

empty

Output

yes

Campaign Item Related List

The variable to hold all the information about Campaign items with related records, e.g. applied Commitment Conditions, Contents or Targeting Groups.

text variable

empty

Output

yes

campaignItems

Enter the variable from the Input parameters again to hand over the Campaign Items in the basket to the next component.

collection (Allow multiple values) variable of data type Campaign Item

empty

Output

yes

Media Campaign

Enter the variable of the Media Campaign from the first screen in order to hand over the parameters to the next component.

record variable of type Media Campaign

empty

Output

no

Media Campaign Id

(not relevant for now)

id of a Media Campaign

empty

Output

yes

Targeting Group Ids

Enter the existing variable of Targeting Groups in order to hand over the values to the next component.

collection (Allow multiple values) variable of data type Targeting Group

empty

...

Shopping cart

The fourth step is to add another new screen component to the flow.

...

  • either set manually the needed information in the virtual Media Campaign by using an assignment component (Fields to be set then are the debtor and depending on your VAT set up the following: VAT Rate % Type 1A, Type 1B, Type 2A and Type 2B).

  • or you could also receive the relevant details by creating the Media Campaign before getting to the screen and then query the calculated details for the VAT calculation before starting the summary screen. You would still need to define the debtor to be set in the Media Campaign before creation.

...

Creating records

Now you might want to create the records in order to prepare everything for the payment.

...

  • Save the Media Campaign (if not done before)

  • Save the Campaign Items related to the Media Campaign

  • Save related Targeting Groups (and their connected Contents if applicable)

  • Save related Commitments conditions (if applicable)

...

Payment

The next step is to add another new screen component to the flow.

...

Input/Output

Required?

Parameter

Meaning

Value format

Default value

Input

yes

Campaign Items

Enter the variable from the third screen to load the basket items into this component.

collection (Allow multiple values) variable of data type Campaign Item

empty

Input

yes

Media Campaign

Enter the variable of the Media Campaign from the first component to take over the Media Campaign parameters.

record variable of data type Media Campaign

empty

Input

no

Media Campaign Id

(not relevant for now)

id of a Media Campaign

empty

Input

yes

Targeting Group Ids

Enter the existing variable for Targeting Groups in order to load the entered parameters on this screen.

collection (Allow multiple values) variable of data type Targeting Group

empty

Output

yes

Campaign Items

Enter the variable from the third screen to hand over the Campaign Items in the basket to the next component.

collection (Allow multiple values) variable of data type Campaign Item

empty

Output

no

Debtor Account

In case you needed to complete the billing address in the component this will deliver the updated debtor account that will need to be updated in the flow directly afterwards.

record variable of data type Account

empty

Output

yes

Media Campaign

Enter the variable of the Media Campaign from the first screen in order to hand over the parameters to the next component.

record variable of type Media Campaign

empty

Output

no

Media Campaign Id

(not relevant for now)

id of a Media Campaign

empty

Output

yes

Targeting Group Ids

Enter the existing variable of Targeting Groups in order to hand over the values to the next component.

collection (Allow multiple values) variable of data type Targeting Group

empty

...

Create Invoices

After the user decided how he wants to pay in the next step the invoices need to be created so that the user receives the invoice via mail and can download it directly into the system.

...

The parameters on the right-hand side of the component are explained below. The output parameters need to be defined by setting the checkbox “Manually assign variables (advanced)” to true in the Advanced section for the component. You should also set the radio button in the “Revisit Screen Values” section to true saying “Refresh inputs to incorporate changes elsewhere in the flow”.

...

After this, you can simply save and activate your flow. Now the last step is to place your flow in your Self Service portal (Site) at the right place.

...

Error Handling

A good user experience is essential to keep your users on the page. Good error handling is needed to give the customer a good feeling when using the Self Service. In order to enable good error handling we suggest the improvements which are pointed out below for your flow. We ensure good error handling while using the screens. Nevertheless, you might need to work with enhancements, e.g. to validate given inputs.

Validate inputs

Some fields may be marked as required but the navigation to the next page is still possible. In order to disable this you will need to use decision elements that guide the user back to the original screen showing an error at the top or bottom of the page.

Faults for DML operations

For the creation of records, Salesforce offers by default to add a second “fault” path for your element (Create, Update or Delete records). You should use this in order to show validation rules or similar errors a user could run into.

Faults in the Invoicing Process

The invoicing process can throw a few errors when the given data are not complete as expected. In these cases, you should use the status output as well as the message/error outputs in order to decide if an error message is needed or if the user can proceed with the flow.

...