API support for AdWords "Labels" feature?

1,814 views
Skip to first unread message

Reed

unread,
Apr 24, 2012, 1:40:56 PM4/24/12
to adwor...@googlegroups.com
Any timeline for when the new "Labels" feature will be supported by the API, both for managing the setting/changing of labels as well as retrieving them?  Will there be support on the reporting side (ie, new report column)?
 
 
thanks
reed

Kevin Winter

unread,
Apr 30, 2012, 10:23:34 AM4/30/12
to adwor...@googlegroups.com
Hi Reed,
  This was asked very recently and we still have no new information at this time:  https://groups.google.com/forum/#!searchin/adwords-api/labels/adwords-api/Zwt70Da0S2Q/KGb8yCHS9xQJ

- Kevin Winter
AdWords API Team

Dorian Kind

unread,
May 2, 2012, 10:52:12 AM5/2/12
to adwor...@googlegroups.com
Hi Kevin,

I had a look at the thread you mentioned, but I believe the answer given there was regarding labels for managed accounts inside the MCC web interface. This feature has been available for quite some time now and is probably not of particular interest outside of the web interface.
However, there now exists new functionality that allows labels to be defined down to the keyword level (see Reed's link or <http://adwords.blogspot.com/2012/04/slice-and-dice-your-data-using-adwords.html>). These labels are much more interesting, as they provide a whole new level in structuring your campaign and retrieving information from it.
Are there any plans to make these labels available via the API?

Thanks and best regards,
Dorian

Kevin Winter

unread,
May 2, 2012, 2:20:38 PM5/2/12
to adwor...@googlegroups.com
Hi Dorian (and Reed),
  Ah, I think I read Reed's request and response too quickly.

We don't have any specific information about labels being added to the API in the near future - but I will convey these requests to the core engineers and indicate this is a greatly desired feature.

- Kevin Winter, AdWords API Team

Nicholas Krut

unread,
Sep 9, 2012, 11:23:09 PM9/9/12
to adwor...@googlegroups.com
I'd really like access to labels as well. Right now I'm "labeling" items inside my API app but there is no way to sync this data. It would be great to allow users to be able to have labels from the app match labels on their AdWords dash.

Dorian Kind

unread,
Jan 23, 2013, 3:17:28 AM1/23/13
to adwor...@googlegroups.com
Hello,

now that labels are supported in AdWords Script (<http://googleadsdeveloper.blogspot.ch/2013/01/new-features-in-adwords-scripts.html>), is there already a timeframe for inclusion of the feature into the API?

Thanks and cheers,
Dorian

On Wednesday, January 9, 2013 10:15:16 PM UTC+1, Isidro Moran wrote:
I'm in need of labels, too.

Kevin Winter (AdWords API Team)

unread,
Jan 24, 2013, 2:38:03 PM1/24/13
to adwor...@googlegroups.com
Hi,
  We don't have any plans at this time.

- Kevin Winter
AdWords API Team

Sebastiaan Moeys

unread,
Feb 5, 2013, 11:08:17 AM2/5/13
to adwor...@googlegroups.com
Why not? Do you have limited resources, are there technical limitations, is it by design? Why not offer this in the API?

Right now, my company has:
- labels in the adwords web ui
- labels in adwords editor
- labels in our own product database

And they are all complete incompatible and inexchangable!

Also, as explained here http://support.google.com/adwords/answer/2475865/?hl=en, labels aren't inherited, which makes doing things manually even more painful.

Sebastiaan Moeys

unread,
Feb 6, 2013, 6:03:31 PM2/6/13
to adwor...@googlegroups.com
Hm, AdWords Scripts seems to offer some automation functionality. I've written a script to automate label inheritance from ad group to keyword, allowing for more flexible manual label configuration. I've written a post about it, anyone feel free to grab the script there: http://bas.je/fixing-adwords-scripts/

Sebastiaan Moeys

unread,
Feb 19, 2013, 6:29:20 AM2/19/13
to adwor...@googlegroups.com
They're not planning to. You have to use adwords JS scripts to automate label synchronization.

On Monday, February 18, 2013 11:32:24 PM UTC+1, Ali Vahed wrote:
Hello,

I need API Access to Labels too? any idea when this feature will be released?

Thanks

Bernardo Alves

unread,
Mar 18, 2013, 1:30:12 PM3/18/13
to adwor...@googlegroups.com
Dear Adwords API Team,

My company is using Labels heavily and it would be very important for us to be able to report on this feature, via API. Could you please add this columns to the reports?

Best Regards,
Bernardo Alves

Vanessa Sabino

unread,
Apr 3, 2013, 5:44:02 PM4/3/13
to adwor...@googlegroups.com
+1 to please add labels to the API!
With the 30 minutes timeout limit for AdWords scripts, it's a huge pain to bulk edit the labels there.

Oliver

unread,
Apr 4, 2013, 3:34:17 AM4/4/13
to adwor...@googlegroups.com
Another +1 to add labels please.  It's one of the most useful and powerful features in adwords.

Oliver

Pau Gargallo

unread,
Sep 16, 2013, 5:22:41 AM9/16/13
to adwor...@googlegroups.com
+1

pau

bg...@walmartlabs.com

unread,
Oct 7, 2013, 7:26:52 PM10/7/13
to adwor...@googlegroups.com
+1. This will be very useful API feature.

David Torres (AdWords API Team)

unread,
Oct 9, 2013, 5:31:30 PM10/9/13
to adwor...@googlegroups.com
Hi All,

Labels is definitively in our TODO list but I can't give a release date yet.

Best,

- David Torres - AdWords API Team

adw...@tallemu.com

unread,
Jan 13, 2014, 7:51:10 PM1/13/14
to adwor...@googlegroups.com
Thanks David, is there any update about this in near feuture?

Ray Tsang (AdWords API Team)

unread,
Jan 16, 2014, 12:12:30 PM1/16/14
to adwor...@googlegroups.com
Hi,

I'm sorry to inform you that I won't be able to comment on a release date.

Thanks,

--
Ray Tsang (AdWords API Advisor)

Ben Marengo

unread,
Jan 24, 2014, 6:13:40 AM1/24/14
to adwor...@googlegroups.com
+1, i'm also keen for this!
is there a ticket that we can watch, so we know when its available?

thanks
ben

Willem Botha

unread,
Feb 18, 2014, 4:09:10 AM2/18/14
to adwor...@googlegroups.com
+1 for Label support in ADWords API..... pretty please 

gl3

unread,
Mar 12, 2014, 7:30:07 PM3/12/14
to adwor...@googlegroups.com
Another +1 for Labels -- in the most non-social Google way, of course ;)

Labels are of significant help in querying only certain Campaigns or Ad Groups that I've manually labelled in my account. 

I imagine the syntax and functionality would be similar to AdWords Scripts:

.withCondition("LabelNames CONTAINS_NONE ['sample_label_name']")

It's an annoying hindrance that a limitation with AdWords App Scripts centers around the lack of support for Placements and CPM bid adjustment functionality; yet, when one attempts to use the AdWords API for such things instead, there's the limitation of Labels not being supported in the AdWords API. Oh well. Will just figure out a different way to query my CPM campaigns. 


On Tuesday, April 24, 2012 12:40:56 PM UTC-5, Reed wrote:

Willem Botha

unread,
Apr 24, 2014, 7:27:55 AM4/24/14
to adwor...@googlegroups.com
Is there any new information regarding Label support for the API. Would be great to get the same support as in scripts. Would make a world of difference. 

Regards
Willem

DavM

unread,
Apr 24, 2014, 9:09:55 AM4/24/14
to adwor...@googlegroups.com
+1 for Label support in AdWords API...

Amol Sharma

unread,
Apr 24, 2014, 9:11:01 AM4/24/14
to dmid...@gmail.com, adwords-api
+1

--
Thanks and Regards,
Amol Sharma



--
--
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
 
You received this message because you are subscribed to the Google
Groups "AdWords API Forum" group.
To post to this group, send email to adwor...@googlegroups.com
To unsubscribe from this group, send email to
adwords-api...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
---
You received this message because you are subscribed to the Google Groups "AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to adwords-api...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Josh Radcliff (AdWords API Team)

unread,
Apr 28, 2014, 2:24:58 PM4/28/14
to adwor...@googlegroups.com, dmid...@gmail.com
Hi,

We're very much aware that there is great interest in adding this feature, but I don't have a date at this time.

Cheers,
Josh, AdWords API Team
+1

For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
---
You received this message because you are subscribed to the Google Groups "AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to adwords-api+unsubscribe@googlegroups.com.

DavM

unread,
Jun 11, 2014, 6:49:22 AM6/11/14
to adwor...@googlegroups.com, dmid...@gmail.com
Hi

Just in case you need some use cases, here's a couple off the top of my head:

- Sending "hints" to audit software eg "Ignore", "Brand", "Generic", "SummerSale"
- Directing bid management software eg "DoNotBidManage", "ROI250", "SummerSale"

I think there are whole categories of AdWords products that could leverage labels and help people have more optimised campaigns.

Please add label support to the AdWords API!

Cheers

David
+1

For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
---
You received this message because you are subscribed to the Google Groups "AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to adwords-api...@googlegroups.com.

DavM

unread,
Jun 12, 2014, 12:05:11 PM6/12/14
to adwor...@googlegroups.com, dmid...@gmail.com
I've managed to find a workaround which involves creating an AdWords script that runs hourly and collects all the label/campaign mappings (we only need campaign-level labels) and posts them to our API.

It's not pretty, but it works! I can post the code if anyone is interested...
+1

For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
---
You received this message because you are subscribed to the Google Groups "AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to adwords-api...@googlegroups.com.

Eli Fatsi

unread,
Jun 12, 2014, 9:38:02 PM6/12/14
to adwor...@googlegroups.com
I would also find this feature very useful.

Ben Marengo

unread,
Jun 13, 2014, 2:55:42 AM6/13/14
to adwor...@googlegroups.com, dmid...@gmail.com
yes please!

DavM

unread,
Jun 13, 2014, 5:22:12 AM6/13/14
to adwor...@googlegroups.com, dmid...@gmail.com
Here you go! You still need to create an endpoint that will take the posted label mappings, I hope it helps!

Use at your own risk, don't blame me if it breaks everything, etc:

//Set "apiUrlAndKey" to url of API enpoint that accepts post of json data with mappings
var apiUrlAndKey = '__API_URL__';

function main() {
  var labelUpdates = [];
  //Push all label names to array
  var labelNames = getAllLabels();
  
  //Iterate through all labels
  labelNames.forEach(function (labelName) {
    //Iterate through all campaigns with that label
    var campaignIterator = AdWordsApp.campaigns()
        .withCondition('LabelNames CONTAINS_ANY ["' + labelName + '"]')
        .get();
    while (campaignIterator.hasNext()) {
      var campaign = campaignIterator.next();
      //Push update to object array
      labelUpdates.push({label: labelName, campaignId: campaign.getId()});
    }
  });

  var req = JSON.stringify(labelUpdates);
  
  //Call api with mappings
  //You can add authorization header to authenticate or send internal api key in query string
  var options = {
    method: 'POST',
    payload: req,
    contentType: 'application/json'
  };
  
  Logger.log('Sending request to API: ' + req);
  var resp = UrlFetchApp.fetch(apiUrlAndKey, options).getContentText();
  Logger.log('Response from API: ' + resp);
}

function getAllLabels() {
  var labelNames = [];
  var labelIterator = AdWordsApp.labels().get();  
  while (labelIterator.hasNext()) {
    var label = labelIterator.next();
    labelNames.push(label.getName());
  }
  return labelNames;

Ben Marengo

unread,
Jun 13, 2014, 5:26:36 AM6/13/14
to adwor...@googlegroups.com, dmid...@gmail.com
great, thanks. i'll give it a whirl!

Michael Cloonan (AdWords API Team)

unread,
Jun 13, 2014, 10:16:28 AM6/13/14
to adwor...@googlegroups.com, dmid...@gmail.com
Hello all,

We are aware of the frequent requests for this feature. I will pass along to the team how important it is to get official support so that you don't have to use custom workarounds with AdWords Scripts.

Regards,
Mike, AdWords API Team

Kevin H

unread,
Jun 20, 2014, 10:26:23 AM6/20/14
to adwor...@googlegroups.com
+1 for label support in the API...please make this happen. It will unlock so many possibilities for reporting and organization. 

Any updates?
Message has been deleted

DavM

unread,
Jul 1, 2014, 12:05:52 PM7/1/14
to adwor...@googlegroups.com, dmid...@gmail.com
I've just written an mcc adwords script that iterates though all the accounts in an mcc and posts customerids and campaign labels to an API. I can post the code if anyone's interested...

Eli Fatsi

unread,
Jul 3, 2014, 8:10:14 PM7/3/14
to adwor...@googlegroups.com, dmid...@gmail.com
David Midgley I would be very interested in seeing what you've put together!

-Eli

David Midgley

unread,
Jul 4, 2014, 4:42:09 AM7/4/14
to adwor...@googlegroups.com, dmid...@gmail.com
Hi Eli

As requested, here you go! You still need to create an endpoint that will take the posted label mappings.

I've had this in production for a few days and it works well. We are only looking for certain labels so there is code to choose the labels you care about, but that can be easily removed - I've indicated in the comments where this is.

It does one post per account. If you have a lot of labels you could move the position of the posting code to inside the label loop to reduce the size, but increase the frequency of your posts to one per label per account.

I hope it helps!

Cheers

David

Use at your own risk, don't blame me if it breaks everything, etc:

//Populate myLabels with all the labels you are interested in
var myLabels = [];
myLabels.push('Brand');
myLabels.push('Product');
myLabels.push('Generic');

//Set "apiUrlAndKey" to url of API enpoint that accepts post of json data with mappings
var apiUrlAndKey = '__API_URL__';

function main() {
  //Select all active accounts
  var accountIterator = MccApp.accounts()
    .withCondition('Clicks > 0')
    .forDateRange('LAST_MONTH')
    .orderBy('Name')
    .get();

  while (accountIterator.hasNext()) {
    var account = accountIterator.next();
    var customerId = account.getCustomerId();
    Logger.log(customerId + ': ' + account.getName());
    
    MccApp.select(account);
    
    var labelUpdates = [];
    //Push all my label names to array
    var labelNames = getAllMyLabels();
    
    labelNames.forEach(function (labelName) {
    var campaignIterator = AdWordsApp.campaigns()
      .withCondition('LabelNames CONTAINS_ANY ["' + labelName + '"]')
      .get();
      while (campaignIterator.hasNext()) {
        var campaign = campaignIterator.next();
        //Push update to object array
        labelUpdates.push({customerId: customerId, label: labelName, campaignId: campaign.getId()});
      }
    });
    
    //If there are label updates - post data
    if (labelUpdates.length > 0) {
      var req = JSON.stringify(labelUpdates);
      
      //Call api with mappings
      //You can add authorization header to authenticate or send internal api key in query string
      var options = {
        method: 'POST',
        payload: req,
        contentType: 'application/json'
      };
      
      Logger.log('Sending request to API: ' + req);
      var resp = UrlFetchApp.fetch(apiUrlAndKey, options).getContentText();
      Logger.log('Response from API: ' + resp);
    }
  }
}

function getAllMyLabels() {
  var labelNames = [];
  var labelIterator = AdWordsApp.labels().get();  
  while (labelIterator.hasNext()) {
    var labelName = labelIterator.next().getName();
    //Check if label name is in the list you are interested in
    //You can remove this if statement if you want all labels
    if (myLabels.indexOf(labelName) !== -1) {
      labelNames.push(labelName);
    }
  }
  return labelNames;

Michael Cloonan (AdWords API Team)

unread,
Jul 9, 2014, 1:10:30 PM7/9/14
to adwor...@googlegroups.com, dmid...@gmail.com
Hello everyone,

Great news! The newly announced v201406 of the API finally has official Labels support!

Please take some time to read through the new documentation, and of course check out the new labels examples to see them in action.

Regards,
Mike, AdWords API Team

Joe Dealereprocess

unread,
Aug 6, 2014, 12:19:24 PM8/6/14
to adwor...@googlegroups.com, dmid...@gmail.com
This is a nice feature - However - we manage and large group of accounts - in our MCC and sometimes these accounts go paused , or other things... We attached certain labels to these accounts ( account level ) - However , It doesn't seem that the Label service has support for account level labels - when we attach a label to a campaign or adgroup it is fine, but what about the account level labels - ?? 

Danial Klimkin

unread,
Aug 7, 2014, 4:12:55 AM8/7/14
to adwor...@googlegroups.com, dmid...@gmail.com
Hello Joe,


This part is already logged as a feature request. We hope to include it in the future but I can't give any timeline at the moment.


-Danial, AdWords API Team.

Liam O'Boyle

unread,
Sep 16, 2014, 8:07:47 PM9/16/14
to adwor...@googlegroups.com, dmid...@gmail.com
Just adding my support for this as well.  We have a corporate MCC account with separate accounts for our franchisees; we're just starting out but we'll end up with hundreds of accounts and the ability to manage these using labels would greatly simplify things for us.
Reply all
Reply to author
Forward
0 new messages