Table of Contents |
---|
Campaign Builder Item Configuration Setting
Info |
---|
The setup of the Campaign Builder is currently not covered by a UI. We are working on this. Please take not that the setup might require some technical understanding and the use of a json formatter, such as this one: JSON Formatter & Validator |
The object “Item Configuration Settings” keeps all configurations needed to run the Campaign Builder and is also allowing to define certain fields and their state to be shown based on conditions.
...
Note |
---|
Please take note that the setting will need to be created manually if there is no record existing in your org yet. App Launcher > Item Configuration Settings > New record Tabs and Columns: [{"name":"Period","columns":[{"fieldpath":"ADvendio__from_Date__c"},{"fieldpath":"ADvendio__until_Date__c"},{"fieldpath":"ADvendio__LineDescription__c"}]},{"name":"Pricing","columns":[{"fieldpath":"ADvendio__Quantity__c"},{"fieldpath":"ADvendio__Frequency__c"},{"fieldpath":"ADvendio__Sales_Price__c"},{"fieldpath":"ADvendio__SurchargeSalesPrice__c"},{"fieldpath":"ADvendio__SurchargeSalesPricePct__c"},{"fieldpath":"ADvendio__Amount_B3__c"}]},{"name":"Surcharges","columns":[{"fieldpath":"advendio__amount_b3__c"},{"fieldpath":"advendio__surchargeb3__c"},{"fieldpath":"advendio__surchargeb3abs__c"},{"fieldpath":"advendio__amount_b2__c"},{"fieldpath":"advendio__surchargeb2__c"},{"fieldpath":"advendio__surchargeb2abs__c"},{"fieldpath":"advendio__amount__c"}]},{"name":"Discounts","columns":[{"fieldpath":"ADvendio__Quantity_Discount_custom__c"},{"fieldpath":"ADvendio__RateDiscount1AbsCustom__c"},{"fieldpath":"advendio__rate_discount_2_custom__c"},{"fieldpath":"advendio__ratediscount2abscustom__c"},{"fieldpath":"advendio__rate_discount_3_custom__c"},{"fieldpath":"advendio__ratediscount3abscustom__c"},{"fieldpath":"advendio__rate_discount_4_name__c"},{"fieldpath":"advendio__rate_discount_4__c"},{"fieldpath":"advendio__ratediscount4abscustom__c"},{"fieldpath":"advendio__amount_net__c"}]},{ "name":"Targeting", "columns":[ { "fieldpath":"targeting" } ] },{ "name":"Price Rules", "columns":[ { "fieldpath":"price_rules" } ] }] Static Columns: ["name","advendio__billing_category__c","availability"] Tab Rules: [{"readonlyFields":["advendio__sales_price__c"],"name":"Make Sales Price read only","logicalConnector":"AND","conditions":[{"value":"true","operator":"==","fieldpath":"user.isactive"}]},{"name":"Print products hide fields","logicalConnector":"AND","hiddenFields":["targeting"],"conditions":[{"value":"Print","operator":"==","fieldpath":"ADvendio__Ad_Price__r.ADvendio__Ad_Spec__r.ADvendio__Ad_Type__r.RecordType.DeveloperName"},{"value":"ADvendio","operator":"==","fieldpath":"ADvendio__Ad_Price__r.ADvendio__Ad_Spec__r.ADvendio__Ad_Type__r.RecordType.NamespacePrefix"}]},{"name":"Make targeting hidden in package headers","logicalConnector":"AND","hiddenFields":["targeting"],"conditions":[{"value":"Packet","operator":"==","fieldpath":"ADvendio__Ad_Price__r.ADvendio__Ad_Spec__r.RecordType.DeveloperName"},{"value":"ADvendio","operator":"==","fieldpath":"ADvendio__Ad_Price__r.ADvendio__Ad_Spec__r.ADvendio__Ad_Type__r.RecordType.NamespacePrefix"}]}] Page Size: 40 |
The following information can be set in the Item Configuration Settings:
Tabs and Columns: set up which tabs and which fields per tab will be shown.
Static Columns: to define which fields should be shown as a part of every tab in the beginning.
Tab Rules: to define certain fields and their state to be shown based on conditions.
Page Size: to define pagination being used to handle big campaigns with a better overview. The number defines how many items will be shown per page (packages count as 1 item).
Adding special features
There are a few special fields which are needed to be added to enable certain Campaign builder features. For each of those, you need to add the code below in your Configuration settings. For example:
To add our Targeting component to the setup, you can simply enter the name “targeting” behind the fieldpath.
To add our Price Rule component to the setup, you can simply enter the name “price_rules” behind the fieldpath and so on.
...
Feature
...
Fieldpath
...
Targeting and Content
...
{"fieldpath":"targeting"}
...
Availability check
...
{"fieldpath":"availability"}
...
Price Rules
...
{"fieldpath":"price_rules"}
...
Publication dates
...
{"fieldpath":"publication_dates" }
...
Dates Range
...
{"fieldpath":"from_until" }
Tabs and Columns
The code block below shows a short example of a possible tab and column setup value. The names define the tab names and the columns contain the field names of the relevant fields you would like to show. Please make sure to add the "fieldpath"
in front of every field you would like to add and take also note that the API name needs to be added for the fields.
Code Block |
---|
[
{
"name":"Tab 1",
"columns":[
{
"fieldpath":"ADvendio__from_Date__c"
},
{
"fieldpath":"ADvendio__until_Date__c"
},
{
"fieldpath":"ADvendio__Quantity__c"
}
]
},
{
"name":"Tab 2",
"columns":[
{
"fieldpath":"targeting"
}
]
}
]
|
Static Columns
These define which static columns you would like to show as a part of every tab in the beginning.
The block below shows a short example of a possible static column value. You can add more fields by adding a comma after the last field and setting the API name framed in quotes.
Code Block |
---|
["Name","ADvendio__Billing_Category__c"] |
Page Size
Defines the number of records to be shown on a page. Package Items are considered as one record, regardless of the number of components. Please enter a number depending on your needs.
Tab Rules
The Tab Rules define if certain fields should be hidden under conditions or if certain fields should be shown as read-only or required under certain conditions.
The conditions will be connected with the logical Connector AND or OR.
Tab Rules Information
What information Tab Rule is containing:
Basis
name
conditions
subConditions
logicalConnector
subLogicalConnector
Field settings
readonlyFields
hiddenFields
requiredFields
allFieldsReadonly
applyRuleInChildItem
Action settings
hiddenActions
Tab Rules Fields
In which fields Tab Rule contains information:
...
Field
...
Required
...
Description
...
Example
...
fieldpath
...
Yes
...
Field to evaluate
...
If it is a field from Campaign Item
advendio__ad_price__r.advendio__ad_spec__r.recordtype.developername
If it is a field from current User, add the user. prefix
user.isactive
...
operator
...
Yes
...
The following operators are supported:
equal
not equal
contains
does not contain
...
equal: “==
"
not equal: “!=
"
contains: “CONTAINS
"
does not contain: “NOTCONTAINS
“
...
value
...
Yes
...
Value to match
...
...
fieldType
...
No
...
Reserved or internal use
...
Info |
---|
Currently the Campaign Builder manages some Tab Rules fixed in background, not available to be edited by the user to cover logic for linear packages. |
Tab Rules Example
In the following example, we have one rule:
Hide Sales Price
with logicalConnector AND:
when the condition is met:
user.isactive
==
true
hide the following field:
advendio__sales_price__c
Code Block |
---|
[
{
"name": "Hide Sales Price",
"logicalConnector": "AND",
"conditions": [
{
"fieldpath": "user.isactive",
"operator": "==",
"value": "true"
}
],
"hiddenFields": [
"advendio__sales_price__c"
]
}
]
|
You can start the field path for the conditions either from the user object as in the example above or from the campaign item with the first relevant field, e.g. "advendio__ad_price__r.advendio__ad_spec__r.advendio__distribution__c
Additional settings for Price Rules
Please take note that two new checkboxes were added to change settings for Price Rules:
The checkbox “Hide Apply Price Rules modal“ can be set to hide the modal which will be shown as a reminder that Price Rules will be applied while saving.
...
The checkbox “Display Apply Price Rules button“ is needed to be set to enable the Apply Price Rules button to be shown in the Campaign Builder.
Targeting Settings
If you want to hide specific targeting settings on the campaign builder, you need to modify the field: Targeting Settings, from the item configuration setting record (ICS*).
The Targeting Settings field will be used to hide the specified targetings on the campaign builder based on the defined conditions and logical connectors.
...
The Targeting Settings field input expects a JSON array (will be checked before saving).
Each element of the JSON string should use a structure similar to the one in the following example:
Code Block |
---|
[{"name":"Make geo hidden",
"logicalConnector":"AND",
"targetings":["Geography"],
"conditions":[{"value":"true","operator":"==","fieldpath":"user.isactive"}]}] |
name: can be any text, used to describe and differentiate each targeting setting.
logicalConnector: can be only one of the following values: “AND“ or “OR“, this attribute is used to decide if each condition should be connected by an “AND“ or “OR” operator when evaluating.
targetings: a list of text values. It should contain the names of the targetings that you want to hide when the result of the evaluation of the conditions is true
The targetings names added to the targetings array should use the following names:
Connection
Content
Devices
AdServerExclusions
FrequencyCapping
PostalCodeTargeting
Geography
Inventory
DayTimeTargeting
VideoContent
VideoPositions
Industry
KeyValue
AudienceSegments
SelectedTargetingSet
SelectedTargetingGroup
AdvertisedBrands
Blackouts
conditions: an array of conditions, each element (condition) should have the following structure (currently there is no proper setting for hiding certain targetings by default, instead you will need to use a generic condition like the one on the example):
Code Block {"value":"true", "operator":"==", "fieldpath":"user.isactive"}
value: string, is the expected value that will be compared to the value of the field defined on fieldpath using the operator defined on operator.
operator: string, operator that will be used to compare the expected value (value) with the actual value (fieldpath). Possible operators:
Equals:
'=='
Not equals:
'!='
Contains:
'CONTAINS'
Not contains:
'NOTCONTAINS'
fieldpath: string with the fieldpath (starting from campaign item) of the field that needs to be compared to the expected value (value), will be used to retrieve the value of the field from each campaign item.
Error Handling in Item Configuration Setting
When there is an error in one of the field values due to a wrong JSON you will get an error while saving. Errors are shown with the message: “Please check the json structure.”. If this is happening please check if the values you entered are valid following an online JSON formatter as mentioned above.
...
Starting from the 2.169 release, the setup process for Campaign Builder has become more user-friendly. This is due to the addition of a dedicated user interface. All the necessary configurations required to run the Campaign Builder are now grouped under "Item Configuration Settings". This wizard provides easy configuration of the Campaign Builder's settings and also enables you to specify particular fields and their display conditions based on specific criteria.
Campaign Builder User Interface Video
...
Campaign Builder User Interface Steps
Here are the steps to follow in order to use the Campaign Builder User Interface:
To access it, you need to go to the App Launcher and search for "Item Configuration Settings".
Search for an existing record in the list and click on “Edit” or hit the “New” button to configure your Campaign Builder UI settings.
...
You will see the Campaign Builder Setup interface with tabs.
Campaign Builder Setup Tabs
In the Campaign Builder Setup, there are several tabs where you can configure different settings for your Campaign Builder view.
1 - General Settings
This tab allows you to set general configurations for the Campaign Builder, including general settings like Page Size, Price Rules buttons and Enable Summary.
Page Size: Specifies the number of records to display per page. A package item is considered one record, regardless of its components.
Display Apply Price Rules button: Enables the Apply Price Rule action in the Campaign Builders upper right corner to let users start the application process.
Hide Apply Price Rules modal: Enables the hiding of the Price Rules option.
Enable Summary: Enables a summary box above the Campaign Builder table which summarizes the budget, budget reached as well and the current open budget. For more information please check this page out: 4.20.4 Campaign Summary for Campaign Builder
Enable Availability Mode Calendar: Enables the Publication Date selection calendar to show Availabilities. Otherwise, only publication dates are shown without checking their availability. For more information please check this page out: 4.20.2 How can Publication dates be selected in the Campaign Builder
...
2 - Tabs and Columns
Here, you can tailor the fields and column settings to suit your requirements. The Tabs and Columns tab provides the following functionalities:
Display of an existing tabs table with their names.
Creation, modification and deletion of field and column settings.
...
3 - Tab Rules
With Tab Rules you can set rules to control the visibility and accessibility of fields under certain conditions, such as making them hidden, read-only or required. The Rules tab and Actions button allow you to add, edit and delete Tab Rules columns.
To change Tab Rules data, use the actions buttons from the drop-down menu on your right:
...
Change and update information needed, press Confirm Changes and press Save and Back.
...
Note |
---|
Please note you have to press button Confirm Changes here before they can be saved. Otherwise, you will see a warning as per screenshot below: |
4 - Targeting Settings
In Targeting Settingsyou can set up rules to hide or disable targeting categories based on specific conditions. This helps you manage your targeting rules more easily.
The Targeting Settings field allows you to hide specific targetings in the campaign builder based on the conditions you have defined, and logical connectors.
...
5 - Actions Tab
The Actions tab allows you to customize the settings for action buttons in Campaign items and Package components. These buttons can perform tasks such as Copy, Delete, Copy Value, and Split. You can also enable or disable these buttons as needed:
...
6 - Static Columns Tab
The Static Columns Tab allows you to define static fields that remain fixed at the start of each Campaign Builder tab.
...
7 - Logic Fields
The Logic Fields tab can define logic fields in this tab that will be available in the background without being displayed. This is especially useful for custom logic applications and allows adding and removing rows, selecting fields, and custom fields for specific configurations.
...