Stay organized with collections
Save and categorize content based on your preferences.
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 more LineItem instances. In code, each LineItem holds the ID of its containing Order, rather than the Order holding a list of LineItem 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. A
LineItem has one InventoryTargeting object that describes which AdUnit and Placement objects it can target, and optional additional Targeting subclass objects that represent geographical, custom, or other criteria.
LineItemCreativeAssociation
A LineItemCreativeAssociation (often called a LICA) links one LineItem to
one Creative. 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 a LineItemCreativeAssociation,
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 associated LineItem,
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 specific LineItem. You can specify additional, optional targeting criteria using additional instances of an appropriate subclass of Targeting.
Placement
A Placement object is a collection of one or more AdUnit objects.
AdUnit
An AdUnit represents an ad location on one or more pages. An AdUnit can be a target of either a LineItem's InventoryTargeting object or a Placement object. An AdUnit object includes a size, an ID, and a unique name. The ID is used to identify other AdUnit objects within the API; the name is used as a unique identifier in the HTML tags to identify a specific AdUnit object, and is sent back to Ad Manager as part of the page request.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-20 UTC."],[[["\u003cp\u003eThe Google Ad Manager API uses objects like Orders, Line Items, and Creatives to structure and manage ad campaigns.\u003c/p\u003e\n"],["\u003cp\u003eLine Items define ad requirements, targeting criteria, and cost structures, and are linked to Creatives via LineItemCreativeAssociations.\u003c/p\u003e\n"],["\u003cp\u003eCreatives represent the actual ads, which can be hosted by Ad Manager or a third-party server.\u003c/p\u003e\n"],["\u003cp\u003eAd Units represent ad locations on web pages and are targeted by Line Items or Placements, which are collections of Ad Units.\u003c/p\u003e\n"],["\u003cp\u003eInventory Targeting specifies which Ad Units are associated with a Line Item, while Targeting subclasses allow for additional criteria like geography or custom attributes.\u003c/p\u003e\n"]]],["The Google Ad Manager API's core components include `Order`, `LineItem`, `LineItemCreativeAssociation` (LICA), `Creative`, `InventoryTargeting`, `Placement`, and `AdUnit`. An `Order` contains `LineItem` instances, which define ad display requirements. A LICA links a `LineItem` to a `Creative`. `InventoryTargeting` links ad units to `LineItem`. `Placement` is a collection of `AdUnit`, representing ad locations. `Creative` is the actual ad content. AdUnits can be used to identify other adUnits.\n"],null,["This page provides an overview\nof the architecture of the Google Ad Manager API and describes general concepts and terms in Ad Manager.\n\nAPI Architecture\n\nHere is a simplified diagram of the main classes in the Ad Manager API, and how they relate to each other:\n\nOrder\n: An [Order](/ad-manager/api/reference/latest/OrderService.Order) object holds general information about the order such as the currency or salesperson, and contains one or more `LineItem` instances. In code, each `LineItem` holds the ID of its containing `Order`, rather than the `Order` holding a list of `LineItem` objects.\n\nLineItem\n: A [LineItem](/ad-manager/api/reference/latest/LineItemService.LineItem) object describes a set of requirements for an ad to show, including how\n and when the ads should be shown, the sizes of the creatives it should show and\n the order in which to show them (in order, weighted, or according to their performance),\n the priority of these ads, and many properties describing the cost structure. A\n `LineItem` has one `InventoryTargeting` object that describes which `AdUnit` and `Placement` objects it can target, and optional additional `Targeting` subclass objects that represent geographical, custom, or other criteria.\n\nLineItemCreativeAssociation\n: A [LineItemCreativeAssociation](/ad-manager/api/reference/latest/LineItemCreativeAssociationService.LineItemCreativeAssociation) (often called a LICA) links one `LineItem` to\n one `Creative`. 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 a `LineItemCreativeAssociation`,\n Ad Manager first checks whether both the creative and the line item are compatible;\n if the sizes differ, for instance, you'll get an error when you try to create\n or update the association. This object also lets you override some values in the associated `LineItem`,\n such as start/end dates, or size (if you have a creative that doesn't\n quite fit the size specified by the line item, but you are willing to let Ad Manager\n 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.\n\nCreative\n: A [Creative](/ad-manager/api/reference/latest/CreativeService.Creative) represents the actual ad. If the ad is hosted by Ad Manager,\n this object holds the actual image bytes, flash files, or custom HTML tags stored\n on Ad Manager's servers; if the creative is hosted on a\n third-party site, the creative is a URL or HTML snippet that makes the\n request from the third-party server.\n\nInventoryTargeting and Targeting subclasses\n: The [InventoryTargeting](/ad-manager/api/reference/latest/LineItemService.InventoryTargeting) object lists which ad units are associated with a specific `LineItem`. You can specify additional, optional targeting criteria using additional instances of an appropriate subclass of [`Targeting`](/ad-manager/api/reference/latest/LineItemService.Targeting).\n\nPlacement\n: A [Placement](/ad-manager/api/reference/latest/PlacementService.Placement) object is a collection of one or more `AdUnit` objects.\n\nAdUnit\n: An [AdUnit](/ad-manager/api/reference/latest/InventoryService.AdUnit) represents an ad location on one or more pages. An `AdUnit` can be a target of either a `LineItem`'s `InventoryTargeting` object or a `Placement` object. An `AdUnit` object includes a size, an ID, and a unique name. The ID is used to identify other `AdUnit` objects within the API; the name is used as a unique identifier in the HTML tags to identify a specific `AdUnit` object, and is sent back to Ad Manager as part of the page request."]]