Hi,
I've been testing data imported and noted that an account that bids only on display network is not showing all campaigns, that's for keyword performance report.
So it is 1 account - 125-830-9378 - with lots of campaigns in it, but it brings only 2 on the keyword performance report.
Searching around I've read people saying I am not supposed to use keyword report to get what would be adgroup's data (as display network do not have a keyword), but then noticed the 2 campaigns downloading are display network data, the only difference I could find is that they have some keyword set inside those campaigns, although none of them are triggered (no impressions), all impressions are display network. I've even added the network info columns (wasnt really using it for anything) and all rows for this report are 'Display Network', and the pair (keyword - keyword id) seems to be a dummy keyword to stick the numbers in: Keyword ID = 3000000, and Keyword = Content
I am more than happy with that dummy keyword, can I have it for all campaigns please?
Does anybody know if it is a bogus behavior on the API or is there an option I should use on the request? Or an option that should be set on the campaigns themselves?
From what I could understand, I would have to ask the client to add 1 keyword inside each campaign just to have the data visible by the report... I don't think they will be really happy if I ask that though...
Using PHP lib, request as follows:
$user = new AdWordsUser(NULL, $email, $password, $developerToken, $applicationToken,
$userAgent, $iSeAccountId, $settingsIniPath, $authToken, $oauthInfo);
// Log SOAP XML request and response.
$user->LogDefaults();
// Load ReportDefinitionService so that the required classes are available.
$user->LoadService('ReportDefinitionService', 'v201109');
// Create selector.
$selector = new Selector();
$selector->fields =
array('Date', 'Id', 'KeywordText',
'CampaignId',
'CampaignName',
'AdGroupId', 'AdGroupName',
'AdNetworkType1',
'AdNetworkType2',
'Impressions',
'AveragePosition',
'Clicks',
'Cost',
'Conversions', 'ConversionsManyPerClick', 'CostPerConversionManyPerClick',
'QualityScore'
);
$selector->predicates[] = new Predicate('Status', 'IN', 'ACTIVE');
/*
// tested with and without status, no change on report content
$selector->predicates[] = new Predicate('AdGroupStatus', 'IN', 'ENABLED');
$selector->predicates[] = new Predicate('CampaignStatus', 'IN', 'ACTIVE');
*/
// Create report definition.
$reportDefinition = new ReportDefinition();
$reportDefinition->selector = $selector;
$reportDefinition->reportName = 'KW performance report #' . time();
$reportDefinition->dateRangeType = 'LAST_7_DAYS';
$reportDefinition->reportType = 'KEYWORDS_PERFORMANCE_REPORT';
$reportDefinition->downloadFormat = 'GZIPPED_CSV';
$reportDefinition->includeZeroImpressions = FALSE;
$path = dirname(__FILE__) . '/' . $fileName;
$options = array('version' => 'v201109', 'returnMoneyInMicros' => TRUE);
// Download report.
ReportUtils::DownloadReport($reportDefinition, $path, $user, $options);
First 2 lines of the resulting report (for marked cells, all rows have the same content):
| KW performance report #1328731881 (Feb 1, 2012-Feb 7, 2012) |
|
|
|
|
|
|
|
|
|
|
|
| Day |
Keyword ID |
Keyword |
Campaign ID |
Campaign |
Ad group ID |
Ad group |
Network |
Network (with search partners) |
Impressions |
Avg. position |
Clicks |
Cost |
Conv. (1-per-click) |
Conv. (many-per-click) |
Cost / conv. (many-per-click) |
Quality score |
| 04/02/2012 |
3000000 |
Content |
Ca Id |
Ca Name |
Adg Id |
Adg Name |
Display Network |
Display Network |
324 |
2.78 |
1 |
300000 |
0 |
0 |
0 |
0 |
| 02/02/2012 |
3000000 |
Content |
Ca Id |
Ca Name |
Adg Id |
Adg Name |
Display Network |
Display Network |
35 |
3.31 |
0 |
0 |
0 |
0 |
0 |
0 |
Thank you,
Ed