This page provides an overview of the architecture of the Google Ad Manager API and describes general concepts and terms in Ad Manager.
API Architecture
Here is a simplified diagram of the main classes in the Ad Manager API, and how they relate to each other:
Order
- An
Order
object holds general information about the order such as the currency or salesperson, and contains one or moreLineItem
instances. In code, eachLineItem
holds the ID of its containingOrder
, rather than theOrder
holding a list ofLineItem
objects. LineItem
- A
LineItem
object describes a set of requirements for an ad to show, including how and when the ads should be shown, the sizes of the creatives it should show and the order in which to show them (in order, weighted, or according to their performance), the priority of these ads, and many properties describing the cost structure. ALineItem
has oneInventoryTargeting
object that describes whichAdUnit
andPlacement
objects it can target, and optional additionalTargeting
subclass objects that represent geographical, custom, or other criteria. LineItemCreativeAssociation
- A
LineItemCreativeAssociation
(often called a LICA) links oneLineItem
to oneCreative
. Line items can be linked to more than one creative, and depending on your account type, you might be able to link a creative to more than one line item. When you create aLineItemCreativeAssociation
, Ad Manager first checks whether both the creative and the line item are compatible; if the sizes differ, for instance, you'll get an error when you try to create or update the association. This object also lets you override some values in the associatedLineItem
, such as start/end dates, or size (if you have a creative that doesn't quite fit the size specified by the line item, but you are willing to let Ad Manager adjust the size of the creative to fit the ad unit on the fly). LICAs are not exposed in the Ad Manager user interface; they are an API convention. Creative
- A
Creative
represents the actual ad. If the ad is hosted by Ad Manager, this object holds the actual image bytes, flash files, or custom HTML tags stored on Ad Manager's servers; if the creative is hosted on a third-party site, the creative is a URL or HTML snippet that makes the request from the third-party server. InventoryTargeting and Targeting subclasses
- The
InventoryTargeting
object lists which ad units are associated with a specificLineItem
. You can specify additional, optional targeting criteria using additional instances of an appropriate subclass ofTargeting
. Placement
- A
Placement
object is a collection of one or moreAdUnit
objects. AdUnit
- An
AdUnit
represents an ad location on one or more pages. AnAdUnit
can be a target of either aLineItem
'sInventoryTargeting
object or aPlacement
object. AnAdUnit
object includes a size, an ID, and a unique name. The ID is used to identify otherAdUnit
objects within the API; the name is used as a unique identifier in the HTML tags to identify a specificAdUnit
object, and is sent back to Ad Manager as part of the page request.