NAME
Google::Adwords::AdService - Interact with the Google Adwords AdService API calls
VERSION
This documentation refers to Google::Adwords::AdService version 0.5
SYNOPSIS
use Google::Adwords::AdService;
use Google::Adwords::Ad;
use Google::Adwords::Image;
use File::Slurp;
my $adgroup_id = 20048;
# Create Text Ad
my $ad1 = Google::Adwords::Ad->new
->adType('TextAd')
->headline('The World is Flat')
->description1('Yes')
->description2('It is')
->adGroupId($adgroup_id)
->destinationUrl('http://aarohan.biz')
->displayUrl('aarohan.biz')
# Create an Image Ad
my $ad2 = Google::Adwords::Ad->new
->adType('ImageAd')
->adGroupId($adgroup_id)
->destinationUrl('http://aarohan.biz')
->displayUrl('aarohan.biz');
# The image stuff
my $image_data = read_file('picture.jpg');
my $image = Google::Adwords::Image->new;
$image->name('picture.jpg');
$image->data($image_data);
# Associate the image with the Image Ad
$ad2->image($image);
# Create the AdService
my $service = Google::Adwords::AdService->new();
# login details
$service->email('email@domain.com')
->password('password')
->developerToken($developer_token)
->applicationToken($app_token);
# if you use a MCC
#$service->clientEmail('clientemail@domain.com');
# or
#$service->clientCustomerId('xxx-xxx-xxxx');
# Add the two ads
my @added_ads = $service->addAds($ad1, $ad2);
DESCRIPTION
This module provides an interface to the Google Adwords AdService API calls.
METHODS
addAds()
Description
Make a batch of new Ads. The adGroupId field of the Ad indicates which AdGroup to add the Ad to. The adGroupId field is required, and the indicated AdGroup must exist already.
Usage
my @ads = $service->addAds($ad1, $ad2);
Parameters
A list of Google::Adwords::Ad objects to be added.
Returns
A list of Google::Adwords::Ad objects just created with their IDs filled in.
checkAds()
Description
Check a batch of Ads for policy errors. The number of Ads in the batch is limited to the maximum number of Ads per adgroup.
Usage
my @api_errors = $service->checkAds({
ads => \@ads,
languageTarget => [ 'en', 'hi', ],
geoTarget => {
countries => [ 'US', 'IN' ],
},
});
Parameters
A hashref with following keys -
* ads => an arrayref of Ad objects
* languageTarget => an arrayref of language codes
* geoTarget => a hashref of geotargeting info
Returns
A list of Google::Adwords::ApiError objects
findBusinesses()
Description
Searches for businesses with similar attributes. This call is similar to querying Google Local Search. All parameters are required.
Usage
my @businesses = $service->findBusinesses({
name => 'business name',
address => 'address of business',
countryCode => 'IN',
});
Parameters
A hashref with following keys :
name => Name of the business
address => Location of the business
countryCode => Two letter country code of the business address.
Returns
A list of matching businesses, each as a Google::Adwords::Business object
getActiveAds()
Description
Return all active Ads associated with the list of AdGroup ids specified.
Usage
my @ads = $obj->getActiveAds($adgroupid1, $adgroupid2);
Parameters
List of adgroupids from which we want the active Ads
Returns
A list of Google::Adwords::Ad objects
getAd()
Description
Return information about one Ad.
Usage
my $ad = $service->getAd($adgroup_id, $ad_id);
Parameters
Returns
The requested Ad as a Google::Adwords::Ad object.
getAdStats()
Description
Get statistics for a list of ads in an ad group.
Usage
my @ad_stats = $service->getAdStats({
adGroupId => 1234,
adIds => [ 3982, 2787, 17872 ],
startDay => $startDay,
endDay => $endDay,
});
Parameters
Takes a hashref with following keys,
* adGroupId => The ad group that contains the Ads to be queried
* adIds => array reference of Ad IDs
* startDay => The starting day of the period for which statistics are to be collected in format YYYY-MM-DD
* endDay => The ending day of the period for which statistics are to be collected in format YYYY-MM-DD
Returns
A list of Google::Adwords::StatsRecord objects
getAllAds()
Description
Return all Ads (enabled, disabled, or paused) associated with the list of AdGroup ids specified.
Usage
my @ads = $service->getAllAds($adgroup_id1, $adgroup_id2);
Parameters
A list of AdGroup IDs that own the Ads
Returns
A list of Google::Adwords::Ad objects
getMyBusinesses()
Description
Returns the list of businesses registered to the user in the Local Business Center. The user is determined by the clientEmail header if it is specified. Otherwise, the email header is used instead.
Usage
my @businesses = $self->getMyBusinesses();
Parameters
NONE
Returns
A list of Google::Adwords::Business objects
updateAds()
Description
Update a batch of ads. Use the id field of the ad to indicate which ad to update. Currently only the status field is updateable, all other fields will be ignored.
Usage
$ret = $obj->updateAds($ad1, $ad2);
Parameters
A List of Google::Adwords::Ad objects to be updated
Returns
1 on success
SEE ALSO
AUTHORS
Rohan Almeida <rohan@almeida.in>
Mathieu Jondet <mathieu@eulerian.com>
LICENSE AND COPYRIGHT
Copyright (c) 2006 Rohan Almeida <rohan@almeida.in>. All rights reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.