Re: Adwords UI vs AD_PERFORMANCE_REPORT totals

2012-09-21 Thread Marijn
For anyone who is wondering what went wrong here: there is an error in de 
xml parsing code I posted here. XElement.ReadFrom() moves the position in 
the stream being read to the next element. Because we call XmlReader.Read() 
after each node, it skips every other row... 

Op maandag 10 september 2012 17:14:48 UTC+2 schreef Marijn het volgende:

 Hi there,

 We are using the .NET client library 14.7.0.0 to calculate the total 
 clicks on a specific day using the AD_PERFORMANCE_REPORT. When we compare 
 these results with the totals shown in the Adwords UI (Campaigns - All 
 online campaigns - Ads) there is a difference. The cause of this 
 difference is missing rows in the AD_PERFORMANCE_REPORT report.

 By looking at the adIDs we can figure out which ads are missing in the 
 report. These ads are not any different from the ones that are present. 
 We've checked stuff like AdGroup status, impressions, etc.

 Below is the code we use to calculate the total of clicks for yesterday 
 (clicksYesterday). 
 How can we find out why certain ads are missing or how to solve it?


 // Create selector
 Selector selector = new Selector();
 selector.fields = new string[] 
 {
 AdNetworkType2, 
 AdNetworkType1, 
 AdGroupName,
 AdGroupId,
 AdGroupStatus,
 Status,
 AdType,
 CampaignName,
 CampaignId,
 CampaignStatus,
 Clicks,
 Conversions, 
 Cost,
 CostPerConversion, 
 AverageCpc,
 AverageCpm,
 CreativeDestinationUrl, 
 Description1,
 Description2,
 Url, 
 DisplayUrl, 
 Headline, 
 Id,
 ImageCreativeName,  
 ImageAdUrl, 
 Impressions,
 AveragePosition, 
 Date,
 };
 selector.dateRange = new DateRange();
 selector.dateRange.min = 
 DateTime.Now.Date.AddMonths(-6).ToString(MMdd);
 selector.dateRange.max = DateTime.Now.Date.ToString(MMdd);

 // Add predicates 
 selector.predicates = new Predicate[] {
 new Predicate()
 {
 field = Status,
 @operator = PredicateOperator.IN,
 values = new string[] { ENABLED, PAUSED, DISABLED }
 },
 new Predicate()
 {
 field = AdGroupStatus,
 @operator = PredicateOperator.IN,
 values = new string[] { ENABLED, PAUSED, DELETED }
 },
 new Predicate()
 {
 field = CampaignStatus,
 @operator = PredicateOperator.IN,
 values = new string[] { ACTIVE, PAUSED, DELETED }
 },
 };

 // Create report definition
 ReportDefinition reportDefinition = new ReportDefinition();
 reportDefinition.reportName = Test - Creative performance report;
 reportDefinition.dateRangeType = ReportDefinitionDateRangeType.CUSTOM_DATE;
 reportDefinition.reportType = 
 ReportDefinitionReportType.AD_PERFORMANCE_REPORT;
 reportDefinition.downloadFormat = DownloadFormat.XML;
 reportDefinition.selector = selector;
 reportDefinition.includeZeroImpressions = true;

 // Download the report
 ReportUtilities reportUtilities = new ReportUtilities(this.User);
 reportUtilities.ReportVersion = v201206;
 reportUtilities.DownloadClientReport(reportDefinition, 
 @c:\temp\adperformance.xml);

 // Extract ids
 Listlong adIdsYesteday = new Listlong();
 long clicksYesterday = 0;
 using (FileStream fileStream = new 
 FileStream(@c:\temp\adperformance.xml, FileMode.Open))
 {
 using (XmlReader xmlReader = XmlReader.Create(fileStream))
 {
 xmlReader.MoveToContent();
 while (xmlReader.Read())
 {
 // Handle each 'row'
 if (xmlReader.Name == row)
 {
 // Get values
 XElement rowNode = (XElement)XElement.ReadFrom(xmlReader);
 long adId = long.Parse(rowNode.Attribute(adID).Value);
 DateTime adDate = 
 DateTime.ParseExact(rowNode.Attribute(day).Value, -MM-dd, 
 CultureInfo.InvariantCulture);
 long adClicks = 
 long.Parse(rowNode.Attribute(clicks).Value);

 // Handle data for yesterday
 if (adDate == DateTime.Now.Date.AddDays(-1))
 {
 clicksYesterday += adClicks;
 adIdsYesteday.Add(adId);
 }
 }
 }
 }
 }

 // Store adIDs 
 using (FileStream fs = new FileStream(@c:\temp\ids.txt, FileMode.Create))
 using (StreamWriter sw = new StreamWriter(fs))
 foreach (string s in adIdsYesteday.Select(id = id.ToString()))
 sw.WriteLine(s);


-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and discussion group:
http://adwordsapi.blogspot.com
http://groups.google.com/group/adwords-api
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at

Re: Adwords UI vs AD_PERFORMANCE_REPORT totals

2012-09-17 Thread AdWordsAPIAdvisor
Hello Marijn,


Yes, I have, I'll look into it shortly.


-Danial, AdWords API Team.


Original Message Follows:

From: Marijn mar...@denexterict.nl
Subject: Re: Adwords UI vs AD_PERFORMANCE_REPORT totals
Date: Fri, 14 Sep 2012 03:08:53 -0700 (PDT)

 Hi Danial,
  
 I've sent you an email. Or so I hope because I'm not sure if I got the 
 correct mailaddress.
 Can you let me know that you have received it?
 
 Op donderdag 13 september 2012 11:31:07 UTC+2 schreef Danial Klimkin het

 volgende:
 
  Hello Marijn,
 
 
  Please send me the CID of the account, XML definition for the report,
and 
  it's full output to me *over email*.
 
 
  -Danial, AdWords API Team.
 
 
  On Monday, September 10, 2012 7:14:48 PM UTC+4, Marijn wrote:
 
  Hi there,
 
  We are using the .NET client library 14.7.0.0 to calculate the total 
  clicks on a specific day using the AD_PERFORMANCE_REPORT. When we
compare 
  these results with the totals shown in the Adwords UI (Campaigns -
All 
  online campaigns - Ads) there is a difference. The cause of this 
  difference is missing rows in the AD_PERFORMANCE_REPORT report.
 
  By looking at the adIDs we can figure out which ads are missing in
the 
  report. These ads are not any different from the ones that are
present. 
  We've checked stuff like AdGroup status, impressions, etc.
 
  Below is the code we use to calculate the total of clicks for
yesterday 
  (clicksYesterday). 
  How can we find out why certain ads are missing or how to solve it?
 
 
  // Create selector
  Selector selector = new Selector();
  selector.fields = new string[] 
  {
  AdNetworkType2, 
  AdNetworkType1, 
  AdGroupName,
  AdGroupId,
  AdGroupStatus,
  Status,
  AdType,
  CampaignName,
  CampaignId,
  CampaignStatus,
  Clicks,
  Conversions, 
  Cost,
  CostPerConversion, 
  AverageCpc,
  AverageCpm,
  CreativeDestinationUrl, 
  Description1,
  Description2,
  Url, 
  DisplayUrl, 
  Headline, 
  Id,
  ImageCreativeName,  
  ImageAdUrl, 
  Impressions,
  AveragePosition, 
  Date,
  };
  selector.dateRange = new DateRange();
  selector.dateRange.min = 
  DateTime.Now.Date.AddMonths(-6).ToString(MMdd);
  selector.dateRange.max = DateTime.Now.Date.ToString(MMdd);
 
  // Add predicates 
  selector.predicates = new Predicate[] {
  new Predicate()
  {
  field = Status,
  @operator = PredicateOperator.IN,
  values = new string[] { ENABLED, PAUSED, DISABLED }
  },
  new Predicate()
  {
  field = AdGroupStatus,
  @operator = PredicateOperator.IN,
  values = new string[] { ENABLED, PAUSED, DELETED }
  },
  new Predicate()
  {
  field = CampaignStatus,
  @operator = PredicateOperator.IN,
  values = new string[] { ACTIVE, PAUSED, DELETED }
  },
  };
 
  // Create report definition
  ReportDefinition reportDefinition = new ReportDefinition();
  reportDefinition.reportName = Test - Creative performance report;
  reportDefinition.dateRangeType = 
  ReportDefinitionDateRangeType.CUSTOM_DATE;
  reportDefinition.reportType = 
  ReportDefinitionReportType.AD_PERFORMANCE_REPORT;
  reportDefinition.downloadFormat = DownloadFormat.XML;
  reportDefinition.selector = selector;
  reportDefinition.includeZeroImpressions = true;
 
  // Download the report
  ReportUtilities reportUtilities = new ReportUtilities(this.User);
  reportUtilities.ReportVersion = v201206;
  reportUtilities.DownloadClientReport(reportDefinition, 
  @c:\temp\adperformance.xml);
 
  // Extract ids
  Listlong adIdsYesteday = new Listlong();
  long clicksYesterday = 0;
  using (FileStream fileStream = new 
  FileStream(@c:\temp\adperformance.xml, FileMode.Open))
  {
  using (XmlReader xmlReader = XmlReader.Create(fileStream))
  {
  xmlReader.MoveToContent();
  while (xmlReader.Read())
  {
  // Handle each 'row'
  if (xmlReader.Name == row)
  {
  // Get values
  XElement rowNode =
(XElement)XElement.ReadFrom(xmlReader);
  long adId =
long.Parse(rowNode.Attribute(adID).Value);
  DateTime adDate = 
  DateTime.ParseExact(rowNode.Attribute(day).Value, -MM-dd, 
  CultureInfo.InvariantCulture);
  long adClicks = 
  long.Parse(rowNode.Attribute(clicks).Value);
 
  // Handle data for yesterday
  if (adDate == DateTime.Now.Date.AddDays(-1))
  {
  clicksYesterday += adClicks;
  adIdsYesteday.Add(adId);
  }
  }
  }
  }
  }
 
  // Store adIDs 
  using (FileStream fs = new FileStream(@c:\temp\ids.txt, 
  FileMode.Create))
  using (StreamWriter sw = new StreamWriter(fs))
  foreach (string s in adIdsYesteday.Select(id =
id.ToString

Re: Adwords UI vs AD_PERFORMANCE_REPORT totals

2012-09-14 Thread Marijn
Hi Danial,
 
I've sent you an email. Or so I hope because I'm not sure if I got the 
correct mailaddress.
Can you let me know that you have received it?

Op donderdag 13 september 2012 11:31:07 UTC+2 schreef Danial Klimkin het 
volgende:

 Hello Marijn,


 Please send me the CID of the account, XML definition for the report, and 
 it's full output to me *over email*.


 -Danial, AdWords API Team.


 On Monday, September 10, 2012 7:14:48 PM UTC+4, Marijn wrote:

 Hi there,

 We are using the .NET client library 14.7.0.0 to calculate the total 
 clicks on a specific day using the AD_PERFORMANCE_REPORT. When we compare 
 these results with the totals shown in the Adwords UI (Campaigns - All 
 online campaigns - Ads) there is a difference. The cause of this 
 difference is missing rows in the AD_PERFORMANCE_REPORT report.

 By looking at the adIDs we can figure out which ads are missing in the 
 report. These ads are not any different from the ones that are present. 
 We've checked stuff like AdGroup status, impressions, etc.

 Below is the code we use to calculate the total of clicks for yesterday 
 (clicksYesterday). 
 How can we find out why certain ads are missing or how to solve it?


 // Create selector
 Selector selector = new Selector();
 selector.fields = new string[] 
 {
 AdNetworkType2, 
 AdNetworkType1, 
 AdGroupName,
 AdGroupId,
 AdGroupStatus,
 Status,
 AdType,
 CampaignName,
 CampaignId,
 CampaignStatus,
 Clicks,
 Conversions, 
 Cost,
 CostPerConversion, 
 AverageCpc,
 AverageCpm,
 CreativeDestinationUrl, 
 Description1,
 Description2,
 Url, 
 DisplayUrl, 
 Headline, 
 Id,
 ImageCreativeName,  
 ImageAdUrl, 
 Impressions,
 AveragePosition, 
 Date,
 };
 selector.dateRange = new DateRange();
 selector.dateRange.min = 
 DateTime.Now.Date.AddMonths(-6).ToString(MMdd);
 selector.dateRange.max = DateTime.Now.Date.ToString(MMdd);

 // Add predicates 
 selector.predicates = new Predicate[] {
 new Predicate()
 {
 field = Status,
 @operator = PredicateOperator.IN,
 values = new string[] { ENABLED, PAUSED, DISABLED }
 },
 new Predicate()
 {
 field = AdGroupStatus,
 @operator = PredicateOperator.IN,
 values = new string[] { ENABLED, PAUSED, DELETED }
 },
 new Predicate()
 {
 field = CampaignStatus,
 @operator = PredicateOperator.IN,
 values = new string[] { ACTIVE, PAUSED, DELETED }
 },
 };

 // Create report definition
 ReportDefinition reportDefinition = new ReportDefinition();
 reportDefinition.reportName = Test - Creative performance report;
 reportDefinition.dateRangeType = 
 ReportDefinitionDateRangeType.CUSTOM_DATE;
 reportDefinition.reportType = 
 ReportDefinitionReportType.AD_PERFORMANCE_REPORT;
 reportDefinition.downloadFormat = DownloadFormat.XML;
 reportDefinition.selector = selector;
 reportDefinition.includeZeroImpressions = true;

 // Download the report
 ReportUtilities reportUtilities = new ReportUtilities(this.User);
 reportUtilities.ReportVersion = v201206;
 reportUtilities.DownloadClientReport(reportDefinition, 
 @c:\temp\adperformance.xml);

 // Extract ids
 Listlong adIdsYesteday = new Listlong();
 long clicksYesterday = 0;
 using (FileStream fileStream = new 
 FileStream(@c:\temp\adperformance.xml, FileMode.Open))
 {
 using (XmlReader xmlReader = XmlReader.Create(fileStream))
 {
 xmlReader.MoveToContent();
 while (xmlReader.Read())
 {
 // Handle each 'row'
 if (xmlReader.Name == row)
 {
 // Get values
 XElement rowNode = (XElement)XElement.ReadFrom(xmlReader);
 long adId = long.Parse(rowNode.Attribute(adID).Value);
 DateTime adDate = 
 DateTime.ParseExact(rowNode.Attribute(day).Value, -MM-dd, 
 CultureInfo.InvariantCulture);
 long adClicks = 
 long.Parse(rowNode.Attribute(clicks).Value);

 // Handle data for yesterday
 if (adDate == DateTime.Now.Date.AddDays(-1))
 {
 clicksYesterday += adClicks;
 adIdsYesteday.Add(adId);
 }
 }
 }
 }
 }

 // Store adIDs 
 using (FileStream fs = new FileStream(@c:\temp\ids.txt, 
 FileMode.Create))
 using (StreamWriter sw = new StreamWriter(fs))
 foreach (string s in adIdsYesteday.Select(id = id.ToString()))
 sw.WriteLine(s);



-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and discussion group:
http://adwordsapi.blogspot.com
http://groups.google.com/group/adwords-api
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from 

Re: Adwords UI vs AD_PERFORMANCE_REPORT totals

2012-09-13 Thread Danial Klimkin
Hello Marijn,


Please send me the CID of the account, XML definition for the report, and 
it's full output to me *over email*.


-Danial, AdWords API Team.


On Monday, September 10, 2012 7:14:48 PM UTC+4, Marijn wrote:

 Hi there,

 We are using the .NET client library 14.7.0.0 to calculate the total 
 clicks on a specific day using the AD_PERFORMANCE_REPORT. When we compare 
 these results with the totals shown in the Adwords UI (Campaigns - All 
 online campaigns - Ads) there is a difference. The cause of this 
 difference is missing rows in the AD_PERFORMANCE_REPORT report.

 By looking at the adIDs we can figure out which ads are missing in the 
 report. These ads are not any different from the ones that are present. 
 We've checked stuff like AdGroup status, impressions, etc.

 Below is the code we use to calculate the total of clicks for yesterday 
 (clicksYesterday). 
 How can we find out why certain ads are missing or how to solve it?


 // Create selector
 Selector selector = new Selector();
 selector.fields = new string[] 
 {
 AdNetworkType2, 
 AdNetworkType1, 
 AdGroupName,
 AdGroupId,
 AdGroupStatus,
 Status,
 AdType,
 CampaignName,
 CampaignId,
 CampaignStatus,
 Clicks,
 Conversions, 
 Cost,
 CostPerConversion, 
 AverageCpc,
 AverageCpm,
 CreativeDestinationUrl, 
 Description1,
 Description2,
 Url, 
 DisplayUrl, 
 Headline, 
 Id,
 ImageCreativeName,  
 ImageAdUrl, 
 Impressions,
 AveragePosition, 
 Date,
 };
 selector.dateRange = new DateRange();
 selector.dateRange.min = 
 DateTime.Now.Date.AddMonths(-6).ToString(MMdd);
 selector.dateRange.max = DateTime.Now.Date.ToString(MMdd);

 // Add predicates 
 selector.predicates = new Predicate[] {
 new Predicate()
 {
 field = Status,
 @operator = PredicateOperator.IN,
 values = new string[] { ENABLED, PAUSED, DISABLED }
 },
 new Predicate()
 {
 field = AdGroupStatus,
 @operator = PredicateOperator.IN,
 values = new string[] { ENABLED, PAUSED, DELETED }
 },
 new Predicate()
 {
 field = CampaignStatus,
 @operator = PredicateOperator.IN,
 values = new string[] { ACTIVE, PAUSED, DELETED }
 },
 };

 // Create report definition
 ReportDefinition reportDefinition = new ReportDefinition();
 reportDefinition.reportName = Test - Creative performance report;
 reportDefinition.dateRangeType = ReportDefinitionDateRangeType.CUSTOM_DATE;
 reportDefinition.reportType = 
 ReportDefinitionReportType.AD_PERFORMANCE_REPORT;
 reportDefinition.downloadFormat = DownloadFormat.XML;
 reportDefinition.selector = selector;
 reportDefinition.includeZeroImpressions = true;

 // Download the report
 ReportUtilities reportUtilities = new ReportUtilities(this.User);
 reportUtilities.ReportVersion = v201206;
 reportUtilities.DownloadClientReport(reportDefinition, 
 @c:\temp\adperformance.xml);

 // Extract ids
 Listlong adIdsYesteday = new Listlong();
 long clicksYesterday = 0;
 using (FileStream fileStream = new 
 FileStream(@c:\temp\adperformance.xml, FileMode.Open))
 {
 using (XmlReader xmlReader = XmlReader.Create(fileStream))
 {
 xmlReader.MoveToContent();
 while (xmlReader.Read())
 {
 // Handle each 'row'
 if (xmlReader.Name == row)
 {
 // Get values
 XElement rowNode = (XElement)XElement.ReadFrom(xmlReader);
 long adId = long.Parse(rowNode.Attribute(adID).Value);
 DateTime adDate = 
 DateTime.ParseExact(rowNode.Attribute(day).Value, -MM-dd, 
 CultureInfo.InvariantCulture);
 long adClicks = 
 long.Parse(rowNode.Attribute(clicks).Value);

 // Handle data for yesterday
 if (adDate == DateTime.Now.Date.AddDays(-1))
 {
 clicksYesterday += adClicks;
 adIdsYesteday.Add(adId);
 }
 }
 }
 }
 }

 // Store adIDs 
 using (FileStream fs = new FileStream(@c:\temp\ids.txt, FileMode.Create))
 using (StreamWriter sw = new StreamWriter(fs))
 foreach (string s in adIdsYesteday.Select(id = id.ToString()))
 sw.WriteLine(s);


-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and discussion group:
http://adwordsapi.blogspot.com
http://groups.google.com/group/adwords-api
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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


Adwords UI vs AD_PERFORMANCE_REPORT totals

2012-09-10 Thread Marijn


Hi there,

We are using the .NET client library 14.7.0.0 to calculate the total clicks 
on a specific day using the AD_PERFORMANCE_REPORT. When we compare these 
results with the totals shown in the Adwords UI (Campaigns - All online 
campaigns - Ads) there is a difference. The cause of this difference is 
missing rows in the AD_PERFORMANCE_REPORT report.

By looking at the adIDs we can figure out which ads are missing in the 
report. These ads are not any different from the ones that are present. 
We've checked stuff like AdGroup status, impressions, etc.

Below is the code we use to calculate the total of clicks for yesterday 
(clicksYesterday). 
How can we find out why certain ads are missing or how to solve it?


// Create selector
Selector selector = new Selector();
selector.fields = new string[] 
{
AdNetworkType2, 
AdNetworkType1, 
AdGroupName,
AdGroupId,
AdGroupStatus,
Status,
AdType,
CampaignName,
CampaignId,
CampaignStatus,
Clicks,
Conversions, 
Cost,
CostPerConversion, 
AverageCpc,
AverageCpm,
CreativeDestinationUrl, 
Description1,
Description2,
Url, 
DisplayUrl, 
Headline, 
Id,
ImageCreativeName,  
ImageAdUrl, 
Impressions,
AveragePosition, 
Date,
};
selector.dateRange = new DateRange();
selector.dateRange.min = 
DateTime.Now.Date.AddMonths(-6).ToString(MMdd);
selector.dateRange.max = DateTime.Now.Date.ToString(MMdd);

// Add predicates 
selector.predicates = new Predicate[] {
new Predicate()
{
field = Status,
@operator = PredicateOperator.IN,
values = new string[] { ENABLED, PAUSED, DISABLED }
},
new Predicate()
{
field = AdGroupStatus,
@operator = PredicateOperator.IN,
values = new string[] { ENABLED, PAUSED, DELETED }
},
new Predicate()
{
field = CampaignStatus,
@operator = PredicateOperator.IN,
values = new string[] { ACTIVE, PAUSED, DELETED }
},
};

// Create report definition
ReportDefinition reportDefinition = new ReportDefinition();
reportDefinition.reportName = Test - Creative performance report;
reportDefinition.dateRangeType = ReportDefinitionDateRangeType.CUSTOM_DATE;
reportDefinition.reportType = 
ReportDefinitionReportType.AD_PERFORMANCE_REPORT;
reportDefinition.downloadFormat = DownloadFormat.XML;
reportDefinition.selector = selector;
reportDefinition.includeZeroImpressions = true;

// Download the report
ReportUtilities reportUtilities = new ReportUtilities(this.User);
reportUtilities.ReportVersion = v201206;
reportUtilities.DownloadClientReport(reportDefinition, 
@c:\temp\adperformance.xml);

// Extract ids
Listlong adIdsYesteday = new Listlong();
long clicksYesterday = 0;
using (FileStream fileStream = new FileStream(@c:\temp\adperformance.xml, 
FileMode.Open))
{
using (XmlReader xmlReader = XmlReader.Create(fileStream))
{
xmlReader.MoveToContent();
while (xmlReader.Read())
{
// Handle each 'row'
if (xmlReader.Name == row)
{
// Get values
XElement rowNode = (XElement)XElement.ReadFrom(xmlReader);
long adId = long.Parse(rowNode.Attribute(adID).Value);
DateTime adDate = 
DateTime.ParseExact(rowNode.Attribute(day).Value, -MM-dd, 
CultureInfo.InvariantCulture);
long adClicks = 
long.Parse(rowNode.Attribute(clicks).Value);

// Handle data for yesterday
if (adDate == DateTime.Now.Date.AddDays(-1))
{
clicksYesterday += adClicks;
adIdsYesteday.Add(adId);
}
}
}
}
}

// Store adIDs 
using (FileStream fs = new FileStream(@c:\temp\ids.txt, FileMode.Create))
using (StreamWriter sw = new StreamWriter(fs))
foreach (string s in adIdsYesteday.Select(id = id.ToString()))
sw.WriteLine(s);

-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and discussion group:
http://adwordsapi.blogspot.com
http://groups.google.com/group/adwords-api
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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