Search
Clear search
Close search
Google apps
Main menu

This help center content is for DFP sales management, which might not be enabled in your network.

Best practices creating workflows

Learn how to create the best rules for your organization

DFP admin content This article is for DFP administrators or roles with similar permissions

This article provides guidance on how to write effective messages and how to configure good rules. You'll find tips on making sure you're the messages you compose make sense to people in your DFP network, and you'll find best practices to make sure the rules you create apply to the right situations.

We'll cover the following:

Writing effective messages

When creating workflow rules, you need to form statements that, when true, trigger an action. Some of these actions require you to write a message. In the case of validation rules, these actions are to show an error or to show a warning. The message you write for these actions appear in the DFP user interface when sales representatives validate or submit proposals to workflow. Rules formed for workflow steps allow you to trigger a notification as an action. The message you write for a notification appear either in an email, in the DFP alert box, or both.

Writing effective messages helps the people in your DFP network by giving them the information they need to complete their task. A poorly written message can result in confusion and lower productivity. No matter how good a rule you form, if the message doesn't make sense to people, the rule is ineffective at achieving the desired result.

Here are some tips to guide you as you craft a message:

  • Avoid jargon and acronyms. Use simple words that everyone knows. People in your network might not know abbreviations or industry terminology.
  • Be concise. Keep sentences short and to the point. Omit unnecessary phrases. Fewer words are better but only if you aren't sacrificing clarity.
  • Describe the problem and the solution. People who read your message do not know what triggered it. When composing a message, try to anticipate and answer questions. Be sure to:

    • Describe why the warning or error occurred or why the notifications was sent.
    • Explain the next step or how to solve the problem.

Note that DFP displays validation errors alongside DFP system errors. From the perspective of the person who sees these errors, there's no distinction: they are just things that need to be corrected before they can move to the next task. Validation warnings are prefixed with "Warning" to distinguish them from errors.

Both validation warnings and errors are denoted in the user interface with an asterisk ("*"). This asterisk refers to a note in the user interface for people who see validation warnings and errors. The note in the user interface lets people know that the validation warning or error is specific to their DFP network and created by a DFP administrator.

Forming good rules

Statements you form in a rule are related to fields, menus, or other settings in proposals, proposal line items, or packages. These fields, menus, or settings might have dependencies on other fields, menus, or settings. A good rule takes into account these dependencies.

For example, billing source when set to "Contracted quantity" is dependent on certain rate types. Those rate types, in turn, are only available for certain products. To ensure your rule only applies to the right proposals or proposal line items, statements mentioning "Contracted quantity" should also mention the relevant rate types and products. In this case, a good rule should also mention that the products be of the "DFP ads", "Non-DFP ads", or "Offline charge" types and that the rate be of the "CPC", "CPM", "CPD", "Cost per unit" or "Viewable CPM" types.

These statements essentially exclude one and only one kind of proposal line item: those that came from a product type "Offline charge" with a "Flat fee" rate type. These proposal line items' billing source must be and always is "Contracted revenue". Forming a complete set of statements in this way ensures that only proposals or proposal line items using "Contracted quantity" fall under the rule. There is an example of this configuration in Contracted quantity.

If you don't mention dependent fields, menus, or settings, DFP might apply the rule to an unintended proposal, proposal line item, or package. This can cause confusion for people in your DFP network, delay negotiation, and force you to troubleshoot.

Available billing sources

In addition to accounting for depending fields, under DFP sales management, you can also configure billing sources available to sales representatives. This feature allows you to select which billing sources are available to sales representatives when building proposals. If you've removed certain billing sources from use in your DFP network, ensure that you do not create rules that mention these billing sources or and other related settings depending on these billing sources.

Table of dependencies

The table below lists items you might need to mention in a rule and their dependencies. In order to form a good rule, your statements need to take into account these dependencies. Click the name of an item for an example.

Item Dependency
Buffer Line item type: "Standard" AND
Rate type: "CPC" 
- OR -
Rate type: "Viewable CPM" or "CPM" 
Contracted quantity Product type: "DFP ads" or "Non-DFP ads" or "Offline charge" AND
Rate type: "CPC" or "CPD" or "CPM" or "Cost per unit" or "Flat fee" or "Viewable CPM"
Deliver impressions Product type: "DFP ads" or "Non-DFP ads" AND
Line item type:"Standard" or "Bulk"
Display companions Product type: "DFP ads" or "Non-DFP ads" AND
Product template: all "master/companion roadblock" product templates or all "video VAST" product templates
Display creatives Product type: "DFP ads" or "Non-DFP ads" AND
Line item type:""Sponsorship", "Standard", "Network", "Bulk", "Price priority", or "House" AND
Environment:"Display"
Rotate creatives Product type: "DFP ads" or "Non-DFP ads"
Frequency Product type: "DFP ads" or "Non-DFP ads" AND
Line item type:""Sponsorship", "Standard", "Network", "Bulk", "Price priority", or "House"
Billing schedule Billing source: "Contracted"
Caps and rollovers Billing source: "Actual (DFP volume)" or "Actual (third-party volume)"
Key-values and audience segments Product type: "DFP ads" or "Non-DFP ads" AND
Product template: all product templates where key-values and audience segments are customizable by the sales representative

Example statements

Below are some common cases and example statements in rules.

When accounting for dependencies, statements should be conjoined in AND relationships. So, for instance, if you want to account for the dependency between the billing source and billing schedule, you might form the statements with "AND" in the following way:

  • Proposal line item billing source is "Contracted" AND Proposal line item billing schedule is "End of campaign".

When you create a rule, you can join groups of statements in one of two ways. "May match ANY" means that groups of OR statements are in AND relationships. "Must match ALL" means that groups of AND statements are in OR relationships. See How to join workflow statements for more details.

Given this structure, you need to take slightly different approaches when accounting for the relationship between dependent fields. If you need to use "May match ANY", you can form a rule with statements separated by "AND" in the following way:

May match ANY of the following:
Statement related to Field A that depends on Field B.
AND ANY of the following:
Statement related to Field B that depends on Field A.
AND ANY of the following:
Statement for the business rule you want to enforce.
ACTION:
Action you want to occur

However, if you need to use "Must match ALL", the groups of statements are separated by "OR, while the statements with the group are separated by "AND". This means that for every set separated by "OR", you will need to account for the dependent fields in each set:

Must match ALL of the following:
Statement related to Field A that depends on Field B AND Statement related to Field B that depends on Field A AND Statement for the business rule 1 you want to enforce.
OR ALL of the following:
Statement related to Field A that depends on Field B AND Statement related to Field B that depends on Field A AND Statement for the business rule 2 you want to enforce.
OR ALL of the following:
Statement related to Field A that depends on Field B AND Statement related to Field B that depends on Field A AND Statement for the business rule 3 you want to enforce.
ACTION:
Action you want to occur

In most of the examples following, we show rules using "May match ANY" to enforce a single business rule. Simply note that when using "Must match ALL", you need to account for dependent fields in each group of statements.

Positive and negative statements

In many cases, you can indicate positive or negative statements in a rule. If you are trying to isolate a certain field, menu, or setting, you can do so by explicitly mentioning the item you are trying to isolate or by mentioning its contrary values in a negative statement.

For example, there are several "Display creatives" possible selections: "Only one", "One or more", "As many as possible", "All", and "Creative set". If you're trying to isolate a rule to proposal line items set to any of these except "All", you can form a positive statement like this:

  • Proposal line item display creatives is "Only one", "One or more", "As many as possible", or "Creative set"

Alternatively, you can achieve the same result by stating the contrary values in a negative statement:

  • Proposal line item display creatives is not "All"

In either case, be mindful that DFP sometimes introduces new values, which may require an audit of existing rules to ensure that they still capture the business rule you want to enforce.

Delivery volume

Buffer

Enforcing a rule related to buffer (percentage applied to contracted quantity to ensure delivery as contracted) requires you to create two separate rules if you set the rule to "May match ANY". Rate types possible are "CPC", "CPM", "CPD", "Flat fee", "Cost per unit", and "Viewable CPM". The buffer percentage field is only available for the rate types "CPM, "Viewable CPM" and, in the rate type "CPC" only if the line item type is "Standard".

In this example, suppose you simply want to enforce the business rule that a buffer percentage cannot be greater than %20. To capture every case where a buffer percentage can be entered, but isolate the rule to only the relevant proposal line items, two rules are required when you set rules to "May match ANY". Here is the first rule:

May match ANY of the following:
Proposal line item rate type is "Viewable CPM" or "CPM"
AND ANY of the following:
Proposal line item buffer is greater than "20%"
ACTION:
Show error

Here is the second required rule:

May match ANY of the following:
Proposal line item rate type is "CPC"
AND ANY of the following:
Proposal line item type is "Standard"
AND ANY of the following:
Proposal line item buffer is greater than "20%"
ACTION:
Show error

Alternatively, you could capture these two rules in one rule if you set the rule to "Must match ALL".

Must match ALL of the following:
Proposal line item rate type is "CPC" AND Proposal line item type is "Standard" AND Proposal line item buffer is greater than "20%"
OR ALL of the following:
Proposal line item rate type is "Viewable CPM" or "CPM" AND Proposal line item buffer is greater than "20%"
ACTION:
Show error
 

Contracted quantity

For rules that enforce contracted quantity values, ensure that the rule also isolates the appropriate product type and rate type. Product types possible are "DFP ads", "Non-DFP ads", and "Offline charge". Rate types possible are "CPC", "CPM", "CPD", "Flat fee", "Cost per unit", and "Viewable CPM".

Being able to enter a contracted quantity is possible for proposal line items with a product types "DFP ads" and "Non-DFP ads" and with the rate types of "CPC", "CPM", "Viewable CPM", or "Cost per unit". Contracted quantity is not available for proposal line items with a product type "Offline charge" or with those having a rate type of "CPD" or "Flat fee".

Suppose in this example that you want to ensure that campaigns booked over a contracted quantity of 500,000 impression execute a forecast to ensure that inventory is available and warn the sale representative of there might not be enough available inventory. In this example, we use negative statements mentioning contrary values. Here's how you could set this up:

May match ANY of the following:
Proposal line item product type is not "Offline charge"
AND ANY of the following:
Proposal line item rate type is not "Flat fee"
AND ANY of the following:
Proposal line item contracted quantity is greater than "500,000" impressions
AND ANY of the following:
Proposal line item inventory availability is "Available"
ACTION:
Show warning

Delivery options

Deliver impressions

The deliver impressions setting is only available for line item types "Standard" and "Bulk". These line item types are, in turn, only true for proposal line items that were based on products of the "DFP ads" or "Non-DFP ads" types. To enforce a rule for delivery impressions, you'll want to mention both these dependent settings in the rule.

In this simple example, you simply want to show a warning to a sales representative who uses this "As fast as possible" setting for deliver impressions.

May match ANY of the following:
Proposal line product type is "DFP ads" or "Non-DFP ads"
AND ANY of the following:
Proposal line item line item type is "Standard" or "Bulk"
AND ANY of the following:
Proposal line item deliver impressions is "As fast as possible"
ACTION:
Show warning
 

Display companions

The display companion setting is only available for master/companion roadblocks or video VAST proposal line items. As a result, you want to ensure that rules related to display companion only apply to proposal line items that resulted from product of these two kinds. To do so, specify any product templates in DFP whose inventory size category are set to either "Master/companion roadblock" or "Video VAST". In addition, the display companion setting is only available to product types that are either "DFP ads" or "Non-DFP ads".

In this example, you want to ensure that the product adjustment (a kind of discount) for proposal line items set to "All" for display companion does not go over a 25%.

May match ANY of the following:
Proposal line item product type is "DFP ads" or "Non-DFP ads"
AND ANY of the following:
Proposal line item product template is <select all "master/companion roadblock" product templates> or <select all "video VAST" product templates>
AND ANY of the following:
Proposal line item display companion is "All"
AND ANY of the following:
Proposal line item product adjustment greater than "25%"
ACTION:
Show error
 

Display creatives

The display creatives settings is available for both "DFP ads" and "Non-DFP ads" but not for the "Offline charge" product type. The display creative is also available for all line item types except "Click-tracking only". In addition, you want to ensure that you limit this rule to only display campaigns and not video, so the environment type should be explicitly mentioned.

Suppose that you want to show a warning to sales representatives that use the "All" setting for display creatives. Since line items only serve if all of its creatives can be delivered to the page at once for this setting, you want to make sure that the sales representative has targeted the right inventory.

May match ANY of the following:
Proposal line product type is "DFP ads" or "Non-DFP ads"
AND ANY of the following:
Proposal line item line item type is "Sponsorship", "Standard", "Network", "Bulk", "Price priority", or "House"
AND ANY of the following:
Proposal line item environment is "Display"
AND ANY of the following:
Proposal line item display creatives is "All"
ACTION:
Show warning
 

Rotate creatives

For the rotate creatives setting, you only need to isolate proposal line items that were created based on the "DFP ads" or "Non-DFP ads" product types. Possible settings for rotate creatives include "Evenly", "Optimized", "Weighted", and "Sequential".

Proposal line items that are set to "Weighted" requires additional configuration for traffickers under the "Creatives" tab. In this example, you want to show a warning for the sales representative to note the advertisers desired weighting instructions and pass them on to trafficking.

May match ANY of the following:
Proposal line item product type is "DFP ads" or "Non-DFP ads"
AND ANY of the following:
Proposal line item rotate creatives is "Weighted"
ACTION:
Show warning
 

Frequency

The frequency settings allows sales representatives to limit how often an line item can be delivered to each user. The ways that sales representatives can set frequency are many. Rules that enforce frequency only check if frequency is being used but not particular configurations for frequency. This settings, like the display creatives settings, is limited to the "DFP ads" for "Non-DFP ads" and is isolated to all line item types except "Click-tracking only".

In this example, you want to ensure that the frequency settings is used only for certain products. To do so, you mention the product template of the products intended for frequency settings.

May match ANY of the following:
Proposal line product type is "DFP ads" or "Non-DFP ads"
AND ANY of the following:
Proposal line item line item type is "Sponsorship", "Standard", "Network", "Bulk", "Price priority", or "House"
AND ANY of the following:
Proposal line item product template is <Add product templates whose product are meant for frequency settings>
AND ANY of the following:
Proposal line item frequency "is not empty"
ACTION:
Show warning

Billing options

Ensure that you do not from a statement that conflicts with the billing sources available in your DFP network.

Billing schedule

If you want to enforce a rule related to billing schedule, include the condition that "Contracted" must be the billing source. Possible values that can be set for billing schedule are "Prepaid", "Prorated", "Straightline", and "End of campaign".

In this example, suppose you want make sure that campaigns exceeding a certain cost could not be set to "End of the campaign" as their billing schedule. In this case, you would show an error if the net cost of a proposal line item exceeded that amount and the billing schedule were "End of campaign".

Here is how you would form the statement:

May match ANY of the following:
Proposal line item billing source is "Contracted"
AND ANY of the following:
Proposal line item billing schedule is "End of campaign"
AND ANY of the following:
Proposal line item "net cost" is greater than 100,000 USD
ACTION:
Show error
 

Caps and rollovers

To enforce a rule related to settings for caps and rollovers, ensure that you include a statement the indicates the billing source must be either "Actual (DFP volume)" or "Actual (third-party volume)". Possible settings for caps and rollovers are "No cap", "Capped cumulative", "Capped per billing cycle", "Capped cumulative per billing cycle", or "Capped with rollovers per billing cycle".

Suppose in this case you wanted to make sure that campaigns that were less than a certain contracted quantity (10,000 impressions) and set to deliver as quickly as possible did not also have "Capped cumulative" as their caps and rollover settings. The "Capped cumulative" settings means that you would not be able to bill over the contracted quantity for the lifetime of the campaign, regardless of how long it runs.

If a campaign had long run dates, a low contracted quantity, and was set to "Capped cumulative", your network could serve many unbillable impressions. A campaign, in this case, might be able to delivery well over its contracted quantity of 10,000 impressions but you would only be able to bill against 10,000 impressions. A rule like this, therefore, monitors for campaigns with this kind of risk.

Note that the deliver impressions setting the contracted quantity have dependencies of their own. In this example, the dependences for these two settings are also captured.

May match ANY of the following:
Proposal line item billing source is "Actual (DFP volume)" or "Actual (third-party volume)"
AND ANY of the following:
Proposal line item caps and rollovers is "Capped cumulative"
AND ANY of the following:
Proposal line product type is "DFP ads" or "Non-DFP ads"
AND ANY of the following:
Proposal line item line item type is "Standard" or "Bulk"
AND ANY of the following:
Proposal line item deliver impressions is "As fast as possible"
AND ANY of the following:
Proposal line item rate type is not "CPD" or "Flat fee"
AND ANY of the following:
Proposal line item contracted quantity is less than "10,000" impressions
ACTION:
Show error

Testing rules

Testing your rules before releasing them to your DFP network is always a good idea if the rules are complex, have many dependencies, or you're uncertain if they'll have unintended results.

Testing rules can be accomplished using various test objects. Create product templates, products, product packages, and rate cards for the purposes of testing. To limit access to test objects, associate your test rate cards with a teams meant only for testing and not actual sales representative selling and negotiating proposals. Ensure members of the team understand that the rate card and an associated products or packages are meant only for testing and not actual proposals.

When you test a new rule, simply add a statement that mentions one of the test objects in an AND relationship to the rule you want to test. This limits the rule to only those test objects. When you are satisfied with testing, you can remove the statement mentioning the test object. For example, you can add a statement that indicates a test product template. This means that the rule will only apply to products and proposal line items that result from that product template.

If you need to use "May match ANY", you can form a rule with statements separated by "AND" in the following way:

May match ANY of the following:
Statement mentioning the test object X.
AND ANY of the following:
Statement 1 for rule A you want to test.
AND ANY of the following:
Statement 2 for rule A you want to test.
AND ANY of the following:
Statement 3 for rule A you want to test.
AND ANY of the following:
Etc....
ACTION:
Action you want to occur

If you need to use "Must match ALL", you'll need to mention your test object in a statement included in every group of statements:

Must match ALL of the following:
Statement mentioning the test object X AND Statement 1 for rule A you want to test AND Statement 2 for rule A you want to test AND Statement 3 for rule A you want to test AND Etc....
OR ALL of the following:
Statement mentioning the test object X AND Statement 1 for rule B you want to test AND Statement 2 for rule B you want to test AND Statement 3 for rule B you want to test AND Etc....
OR ALL of the following:
Statement mentioning the test object X AND Statement 1 for rule C you want to test AND Statement 2 for rule C you want to test AND Statement 3 for rule C you want to test AND Etc....
ACTION:
Action you want to occur
Was this article helpful?
How can we improve it?