Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 9 Next »

Item Configuration Setting

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.

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.

[
   {
      "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.

["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

 

 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

[
  {
    "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:

[{"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):

  • {"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.

  • No labels