Clear search
Close search
Google apps
Main menu

Troubleshooting best practices

Here are some step-by-step best practices for troubleshooting the delivery of your line items. We recommend a process of Diagnose > Resolve > Review.

These best practices are currently only for troubleshooting the delivery of your line items. Best practices for troubleshooting other components of DFP are coming soon.

Diagnose: Identify a problem

Troubleshooting often begins in one of two ways:

  • A publisher realizes that a line item isn’t hitting its objectives.
  • A publisher sees a line item not behaving as expected on their page or app.

DFP provides several tools to help proactively identify problems.

  • Line item status
    A line item specifies whether it's delivering.
  • Line item alerts
    Keep an eye on your line items. A line item will alert you when forecasting predicts it will miss its objectives. This gives you an opportunity to troubleshoot the line item.
  • Line item reports
    To gauge the delivery performance of each line item against its goals, you can run a report that uses the “Line item” dimension and “Delivery indicator” attribute. Publishers can also set up saved line item filters that answer the question “will I miss my targets”.
  • Creative preview
    Creative preview can help identify problems with your creative. It shows you the creative in the DFP UI or on your website.

You can also identify unexpected behavior by looking at your app or page and noticing that line items aren’t appearing as expected.


DFP also provides several tools to help resolve problems through root-cause analysis. Below we elaborate on some common questions and troubleshooting recommendations for tools that can provide answers.

  • Are my ad requests being sent?
    A common place to start troubleshooting is to check that requests are actually being sent to DFP. Many troubleshooting tools depend on receiving a request. The Google Publisher Console is a powerful tool for ensuring that your page is correctly tagged. If you are debugging the SDK, then use a web debugging proxy, such as Charles or Fiddler, to check that an ad request is being sent.
    Google doesn’t endorse Charles or Fiddler HTTP Proxy in any way, and you may use them at your own risk.
  • Why is my line item or creative not serving to a request?
    A line item’s status tells you whether the line item is ready to serve. Also, make sure that you have given the line item and creative enough time to start serving; you may not be receiving impressions because the line item is still initializing.

    You can then test that the line item is serving successfully using Creative preview (requires a line item that is live and serving) or by using the Ad request simulator (for desktop, mobile web, app, or video).
  • Is the line item eligible to serve to an ad request?
    A line item is eligible to serve to an ad request if its signals match the targeting of the line item:
    1. Use the Delivery Inspector to verify that the ad request is sending the signals you expected.
    2. Check that the line item has the correct and matching targeting. You can also use the Ad request simulator to verify and test what targeting needs to change for the line item to be eligible. Don’t forget to check dayparting and other period-related blockers for the line item.
  • Why was the winning line item not the one I expected?
    The Non-delivery causes tool can provide visibility into the reason that a given line item wasn’t selected. The Ad request simulator can also be a valuable resource. Note that Simulate doesn’t retain information on page or server state. This means that each time Simulate is run, the ad request for the given ad slot is run in isolation.
Some issues that are challenging to diagnose arise from unexpected interactions between line items on a page, such as competitive exclusions or roadblocks. The Non-delivery causes tool can be useful for diagnosing such issues.


  • Why am I missing my targets/will I miss my targets?
    The Inventory forecast feature provides visibility into whether your line item will fully deliver or miss its targets. The Change history tool can also be useful in determining whether an unexpected change to the line item caused the problem.
Was this article helpful?
How can we improve it?