Invalid Field Name for Criteria Performance Report

85 views
Skip to first unread message

yadyga...@gmail.com

unread,
Jan 15, 2016, 7:05:49 AM1/15/16
to AdWords API Forum
Hello again, I have a problem with getting fields on Criteria Performance Report. Here's my code:
 public static CriteriaPerformance CriteriaPerformance(string keyword)
        {
            var user = new AdWordsUser();
            
            var criteria = new CriteriaPerformance();
            var report = new ReportDefinition
            {
                reportName = string.Format(@"Criteria performance report"),
                reportType = ReportDefinitionReportType.CRITERIA_PERFORMANCE_REPORT,
                dateRangeType = ReportDefinitionDateRangeType.ALL_TIME,
                downloadFormat = DownloadFormat.XML,
                includeZeroImpressions = false,
                selector = new Selector()
                {
                    dateRange = new DateRange { min = DateTime.UtcNow.AddDays(-21).ToString("yyyyMMdd"), max = DateTime.UtcNow.ToString("yyyyMMdd") },
                    fields = new[] { "Cost", "Conversions", "ConversionRate", "AverageCost", "Impressions" ,"Clicks" },
                    predicates = new[]
                    {
                        Predicate.Equals("Criteria", keyword)
                    }
                }
            };

            var utilities = new ReportUtilities(user, "v201506", report);
            try
            {
                using (var response = utilities.GetResponse())
                {
                    using (var reader = new StreamReader(response.Stream))
                    {
                        var result = reader.ReadToEnd();
                        var doc = new XmlDocument();
                        doc.LoadXml(result);
                        criteria.Impressions = Convert.ToInt64(doc.SelectSingleNode("/report/table/row/@impressions").Value);
                        criteria.Cost = Convert.ToDecimal(doc.SelectSingleNode("/report/table/row/@cost").Value) / 1000000m;
                        criteria.Clicks = Convert.ToInt64(doc.SelectSingleNode("/report/table/row/@clicks").Value);
                        criteria.Conversion = Convert.ToDouble(doc.SelectSingleNode("/report/table/row/@conversions").Value);
                        criteria.ConversionRate = Convert.ToDouble(doc.SelectSingleNode("/report/table/row/@convRate").Value);
                        criteria.AverageCost = Convert.ToDecimal(doc.SelectSingleNode("/report/table/row/@avgCost").Value) / 1000000m;
                    }
                }
            }
            catch (Exception exception)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine(exception.Message);
                Console.ResetColor();
            }
            return criteria;
        }

And the error is:
ReportDefinitionError.INVALID_FIELD_NAME_FOR_REPORT, Trigger: , FieldPath: Conversions

Anthony Madrigal

unread,
Jan 15, 2016, 2:22:58 PM1/15/16
to AdWords API Forum
Hi,

The reason you may be getting this error is because you are using v201506. AdWords API v201509 made some changes to a number of conversion fields.

Please try migrating to v201509 and see if that resolves your issue.

Cheers,
Anthony
AdWords API Team
Reply all
Reply to author
Forward
0 new messages