Hi Adwords Team,
During a display campaign, we send 2 keywords via Adwords API using EXACT match. However, when we fetch reports using Adwords API, it is returning 3 keywords and it is flagging the 3rd keyword as Broad match.
How do you get Adwords API to report keywords performance accurately without adding extra stuff?
Input KEYWORDS using EXACT Match
def addTargetKeyword(self,targetDf,adGroupOperation,adGroupId):
#print (targetDf)
keywords = targetDf[JsonConstants.TARGET_KEYWORDS_KEYWORDS]
keyword=keywords.split(",")
if JsonConstants.TARGET_KEYWORDS_MATCHTYPE in targetDf:
matchType = targetDf[JsonConstants.TARGET_KEYWORDS_MATCHTYPE]
else:
matchType='EXACT'
#matchType=matchTypes.split(",")
isPositive=targetDf[JsonConstants.TARGET_KEYWORDS_ISPOSITIVE]
if(isPositive==1):
keywordType='BiddableAdGroupCriterion'
else:
keywordType='NegativeAdGroupCriterion'
##keyWord=[]
for j in range(len(keyword)):
keyWord={
'xsi_type': 'Keyword',
'matchType': matchType,
'text':keyword[j]
}
adGroupOperation.append({
'operator': 'ADD',
'operand': {
'xsi_type':keywordType,
'adGroupId': adGroupId,
'criterion': keyWord
}
})
return adGroupOperation
KEYWORDS PERFORMANCE REPORT
def report(self,camp):
print camp
report = {
'reportName': 'TODAY KEYWORDS_PERFORMANCE_REPORT',
'dateRangeType': 'ALL_TIME',
'reportType': 'KEYWORDS_PERFORMANCE_REPORT',
'downloadFormat': 'CSV',
'selector': {
'fields': ['CampaignId','CampaignName','Criteria','KeywordMatchType','FirstPageCpc','TopOfPageCpc','Impressions','Clicks','Cost','Conversions','Status'],
'predicates':{'field':'CampaignId',
'operator':'IN',
'values':(camp)
}
}
}
reportDownloaded = self.report_downloader.DownloadReportAsString(report, skip_report_header=True, skip_column_header=False,skip_report_summary=True, include_zero_impressions=True)