Can a campaign have more than one objective?



I’m trying to gather statistics for certain campaigns, but just realized the metrics differ based on the campaign objective. With only read-only access to the API, and a limited number of actual accounts with data to check against, it’s difficult to understand everything that’s happening with ads.

From my gathering, a campaign can have many line items associated with it. Can you please clarify if a campaign can have more than one objective, or if each of those line items within a campaign needs to have the same objective?


Line items with different objectives are not allowed under the same campaign; if you try to create a line item with a different objective within the same campaign, you will pretty much get an error message that says that word for word :slightly_smiling:

On that note though, it’s probably a good idea to make it explicit in the docs. Where would you expect to find this kind of information? Under the Objective-based Campaigns section, or perhaps POST accounts/:account_id/line_items in the objective field description?


If that is the case, why wouldn’t the campaign objective be listed under the GET accounts/:account_id/campaigns endpoint? The reason I was confused as to whether or not line items may have differing objectives is because I have to go deeper than the campaign level to retrieve the campaign objective.

As far as where it should be located in the documentation, probably on that first link you posted. But it would really be helpful if that field was included along with the rest of the top-level campaign information in the endpoint I mentioned, as it would avoid extraneous line_item API calls just to get the campaign objective.


Thanks for the feedback, I see what you mean - I’ll make a note of this and see whether this is something we can incorporate. For a start, we’ll get the docs updated.

For the time being, I guess just go with retrieving a single line_item from every campaign and check its objective, then you don’t need to worry about accessing any more line_items. It’s not ideal having to make an extra call for this, but at least you know you only need to check a single line_item per campaign.


Just confirming that the relevant docs have now been updated with a note about this limitation.