7.2.9 Setup Commitments

Commitments are financial agreements between publishers, customers, or/and your customers' agencies which you can track in ADvendio. They can be agreed to at the beginning of the year or even earlier at the end of the preceding year. A commitment manages the planned advertising spendings in order to achieve a certain discount or rebate in kind.

You can set up scaled discounts related to the amount the a publisher/agency spend in that year. Throughout the year ADvendio calculates the actual revenue figures for you. So this can be matched with the earlier commitment value to verify that numbers are reached and the "real" discounts need to be applied. 

Commitment Record Types

Version 2.99 and up

We have added record types to add new features in the future. Currently only Advertiser / Agency Discount and Master is working. So make sure to disable the others for all users.

  • Advertiser / Agency Discount is used for 'standard' Commitments.
  • Agency Earnings Commitments are Commitments ONLY for AE. You need to select an Agency and all conditions are only applied to agency earnings.
  • Same holds true for Third Party Commission Commitments are matching the Intermediary on the media campaign.

If you don't want to use the record types you can deactive them. Old commitments without record types will work just like Advertiser /Agency discounts. We recommend that you better sooner than later migrate to use record types though. 

Configure Custom Settings 

This can currently only be done by ADvendio. Please ask your TAM to perform the expected changes.

Here you can configure which amount field is used for your calculations and what the achievement status will be. These settings are optional. 

  1. Navigate to Setup - Develop - Custom Settings
  2. Create/Modify two Custom setting
    1. CommitmentsAmountField__c = Configures which Amount field you like to use for the calculation (B1, B2, B3, N1, N2, N3) (default is N3).
    2. CommitmentProbabilityThreshold__c = Configures which Status/Probability is used for Commitment achievement (75%/90%/100%). This will filter all media campaigns where the Stage__c field is >= this value. Therefore, it can help to reduce runtime. (default is 0%).

Configure Feature Settings

Navigate to the App Manager and search for Feature Settings. Then find the CommitmentConditionCriterionPriority record:

Make sure not to modify the syntax but just the weight (integer) for each type.



Depending on how you like your staff to use this feature make them navigate to the Overview Tab and open the Commitment object. Alternatively you can enable the related lists in the layouts for

  • Advertiser, 
  • Agencies and/or
  • Advertiser-Agency-Relation.

Schedule an APEX job to calculate your Commitments

To use Commitments you need to plan an APEX job, which counts all Campaign Items relevant to that Commitment and writes this information in the relevant Commitment Conditions. The APEX job also counts the number of Campaign Items spent (for Example Rebate in Kind Items) and writes that information into the Commitment Conditions. To activate the job use the following steps:

  1. From Setup, enter Apex Classes in the Quick Find box, select Apex Classes and then click Schedule Apex.
  2. Reference the Class "CommitmentsCountingBatch" in your Apex Class and set your schedule to what you need.

Version 2.109 and up: You can set up a list of email recipients for the result emails. Find out here how to: 7.2.19 Setup Email Recipients

Configure the APEX Batch Size

In order to improve the performance for business critical jobs, your admin can also limit the batch size for those jobs by configuring a Feature Setting. This will also help to avoid CPU Time Limit error messages. 

Launch the APEX job from a Process Flow (optionally)

Remember that process builder might create performance issues. Therefore Salesforce recommends to use only one flow per object. 

You can also start the APEX job from a process flow, for example each time a certain record is created.

  1. Start the Process Builder and create a new process
  2. Select a start object and entry criteria of your choice.
  3. To start the APEX job choose "Apex" as action type and enter "ADvendio__CommitmentsCountingBatch" as Apex Class

Commitment Counting

Attention: As the Apex Job goes through a lot of data (depending on the number of Media Campaigns with a Commitment connected), it might take some time. You need to wait for the job to be done, before earned or spent Campaign Items will be counted towards the relevant Commitment Conditions. This also concerns the number of Rebate in Kind items available and already spent. Please keep that in mind when planing your Media Campaigns.

Name Commitments using a Process Flow (optionally)

We have created a Process flow for you that waits for an hour after creating a Commitment and Commitment Condition to update the name from Commitment and Commitment Condition based on custom criteria. Ask your ADvendio consultant at Support@advendio.com to help you deploy this.