Hi Sebastian, I get it. It's so bizarre, you have to see it to believe it.
I'm located in New York. Here's what I have. I'm running off a Perl client library, so my user agent will be different, but that doesn't make a different to the request itself. It's just header information. I'm just putting everything here, so you can see it. [03 Aug 2018 10:58:42,441 - DEBUG] Outgoing request: <?xml version="1.0" ?><SOAP-ENV:Envelope xmlns:SOAP-ENV= "http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" ><SOAP-ENV:Header><RequestHeader xmlns="https://adwords.google.com/api/adwords/o/v201806"><clientCustomerId xmlns="https://adwords.google.com/api/adwords/cm/v201806">884-926-0927</clientCustomerId><developerToken xmlns="https://adwords.google.com/api/adwords/cm/v201806">REDACTED</developerToken><userAgent xmlns="https://adwords.google.com/api/adwords/cm/v201806">client_library (AwApi-Perl/5.5.0, Common-Perl/3.6.0, SOAP-WSDL/3.003, libwww-perl/6.29, perl/5.024001, Logging/Enabled)</userAgent><validateOnly xmlns="https://adwords.google.com/api/adwords/cm/v201806">false</validateOnly><partialFailure xmlns="https://adwords.google.com/api/adwords/cm/v201806">false</partialFailure></RequestHeader></SOAP-ENV:Header><SOAP-ENV:Body><get xmlns="https://adwords.google.com/api/adwords/o/v201806"><selector><campaignEstimateRequests><adGroupEstimateRequests><keywordEstimateRequests><keyword><text xmlns="https://adwords.google.com/api/adwords/cm/v201806">san diego hotels on the beach</text><matchType xmlns="https://adwords.google.com/api/adwords/cm/v201806">BROAD</matchType></keyword><isNegative>false</isNegative></keywordEstimateRequests><maxCpc><microAmount xmlns="https://adwords.google.com/api/adwords/cm/v201806">7000000</microAmount></maxCpc></adGroupEstimateRequests><criteria xsi:type="xns:Language" xmlns:xns="https://adwords.google.com/api/adwords/cm/v201806" ><id xmlns="https://adwords.google.com/api/adwords/cm/v201806">1000</id></criteria><networkSetting xmlns:xns="https://adwords.google.com/api/adwords/cm/v201806" ><targetGoogleSearch xmlns="https://adwords.google.com/api/adwords/cm/v201806">true</targetGoogleSearch><targetSearchNetwork xmlns="https://adwords.google.com/api/adwords/cm/v201806">false</targetSearchNetwork><targetContentNetwork xmlns="https://adwords.google.com/api/adwords/cm/v201806">false</targetContentNetwork><targetPartnerSearchNetwork xmlns="https://adwords.google.com/api/adwords/cm/v201806">false</targetPartnerSearchNetwork></networkSetting></campaignEstimateRequests></selector></get></SOAP-ENV:Body></SOAP-ENV:Envelope> [03 Aug 2018 10:58:42,441 - DEBUG] Incoming response: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap: Header><ResponseHeader xmlns:ns2= "https://adwords.google.com/api/adwords/cm/v201806" xmlns= "https://adwords.google.com/api/adwords/o/v201806"><ns2:requestId> 0005728929d92d100ac13335e201ac09< /ns2:requestId><ns2:serviceName>TrafficEstimatorService</ns2:serviceName>< ns2:methodName>get</ns2:methodName><ns2:operations>1</ns2:operations><ns2: responseTime>617</ns2:responseTime></ResponseHeader></soap:Header><soap:Body ><getResponse xmlns:ns2="https://adwords.google.com/api/adwords/cm/v201806" xmlns="https://adwords.google.com/api/adwords/o/v201806"><rval>< campaignEstimates><Estimate.Type>CampaignEstimate< /Estimate.Type><adGroupEstimates><Estimate.Type>AdGroupEstimate</Estimate. Type><keywordEstimates><Estimate.Type>KeywordEstimate< /Estimate.Type><min><averageCpc><ns2:ComparableValue.Type>Money</ns2: ComparableValue.Type><ns2:microAmount>2806899</ns2:microAmount></averageCpc ><averagePosition>1.2885431789965942< /averagePosition><clickThroughRate>0.051303059738793344</clickThroughRate>< clicksPerDay>81.59381</clicksPerDay><impressionsPerDay>1431.3849</ impressionsPerDay><totalCost><ns2:ComparableValue.Type>Money< /ns2:ComparableValue.Type><ns2:microAmount>254472912</ns2:microAmount></ totalCost></min><max><averageCpc><ns2:ComparableValue.Type>Money< /ns2:ComparableValue.Type><ns2:microAmount>3430655</ns2:microAmount></ averageCpc><averagePosition>1.0542625502182668< /averagePosition><clickThroughRate>0.06270374270089629</clickThroughRate>< clicksPerDay>99.72577</clicksPerDay><impressionsPerDay>1749.4706</ impressionsPerDay><totalCost><ns2:ComparableValue.Type>Money< /ns2:ComparableValue.Type><ns2:microAmount>311022464</ns2:microAmount></ totalCost></max></keywordEstimates></adGroupEstimates></campaignEstimates></ rval></getResponse></soap:Body></soap:Envelope> This is the exact request and response dumped. I've already filed an issue to see if there is a bad server somewhere that could be causing this. I'm still waiting to hear back. I have no tricks up my sleeve here; you can sanity check me, but it looks like it to me that I have the same request that you do. Best, Nadine, AdWords API Team On Friday, August 3, 2018 at 10:05:08 AM UTC-4, Sebastian Razola wrote: > > I'm sorry for being so stubborn but I just really want to get to the > bottom of this. > > 1. Where are you located? I just tried using a VPN to route the request > via California and New York and I still get the low forecast numbers. > > 2. Would you be so kind and post the full debug output of your request > with a 7000000 micro amount max CPC and my *customer id*? If that's what > you mean with "EXACTLY match yours against your account. > > Thanks again Nadine. I so much appreciate you helping me out with this! > > On Friday, August 3, 2018 at 12:41:05 AM UTC+2, Nadine Sundquist (AdWords > API Team) wrote: >> >> Hi Sebastian, >> >> I made my API request EXACTLY match yours against your account, and I get >> different results. I have seen this phenomenon before, and it does happen >> on occasion, but it tends to balance itself out after a bit. So, when these >> numbers are calculated, they are calculated not at a central location. They >> are calculated at separate servers. So, a server in Europe would serve >> slightly different numbers than a server in the Americas. Technically, the >> numbers shouldn't be too far off, but on occasion, I've seen these numbers >> get unbalanced. I've personally observed it to be rare. I once proved it to >> myself by forcing my requests to go through to one set of servers versus >> another to see if that's the case. Considering that your request and my >> request are exactly the same against exactly the same account, that's what >> is happening here. I don't know of a way of righting that other than >> waiting for a bit of time for the calculations to level out or forcing all >> my traffic to another country to get an answer from another server. >> >> Regards, >> Nadine, AdWords API Team >> >> On Thursday, August 2, 2018 at 11:39:00 AM UTC-4, Sebastian Razola wrote: >>> >>> Ok but if my calculations are correct then I've must have encountered an >>> issue? >>> >>> See attached screenshot where the UI for August 3 forecasts ~1500 >>> impressions with a 7 SEK max CPC, and the attached API log where >>> impressions for the next 7 days range between 467-571 with a 7000000 micro >>> amount max CPC. >>> >>> Note that the Customer Id is the same in the API request and UI. >>> >>> D, [2018-08-02T15:18:30.161278 #7] DEBUG -- : HTTPI /peer POST request >>> to adwords.google.com (httpclient) >>> I, [2018-08-02T15:18:32.202363 #7] INFO -- : ID: 8849260927, URL: >>> https://adwords.google.com/api/adwords/o/v201806/TrafficEstimatorService, >>> Service: TrafficEstimatorService, Action: get, Response time: 541ms, >>> Request ID: 00057275531af5280a5615ce0f08ba8d, Operations: 1, Is fault: false >>> D, [2018-08-02T15:18:32.202568 #7] DEBUG -- : Outgoing request: >>> SOAPAction: "get", User-Agent: pinata-14 (AwApi-Ruby/1.3.0, >>> Common-Ruby/1.0.2, GoogleAdsSavon/1.0.3, ruby/2.5.0, HTTPI/2.4.3, >>> httpclient), Authorization: REDACTED, Content-Type: text/xml;charset=UTF-8, >>> Content-Length: 1517 >>> <?xml version="1.0" encoding="UTF-8"?> >>> <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" >>> xmlns:ns0="https://adwords.google.com/api/adwords/cm/v201806" xmlns:wsdl >>> ="https://adwords.google.com/api/adwords/o/v201806" xmlns:xsd=" >>> http://www.w3.org/2001/XMLSchema" xmlns:xsi=" >>> http://www.w3.org/2001/XMLSchema-instance"> >>> <env:Header> >>> <wsdl:RequestHeader xmlns=" >>> https://adwords.google.com/api/adwords/cm/v201806"> >>> <userAgent>pinata-14 (AwApi-Ruby/1.3.0, Common-Ruby/1.0.2, >>> GoogleAdsSavon/1.0.3, ruby/2.5.0, HTTPI/2.4.3, httpclient)</userAgent> >>> <developerToken>REDACTED</developerToken> >>> <clientCustomerId>8849260927</clientCustomerId> >>> </wsdl:RequestHeader> >>> </env:Header> >>> <env:Body> >>> <get xmlns="https://adwords.google.com/api/adwords/o/v201806"> >>> <selector> >>> <campaignEstimateRequests> >>> <adGroupEstimateRequests> >>> <keywordEstimateRequests> >>> <keyword xsi:type="ns0:Keyword"> >>> <ns0:text>san diego hotels on the beach</ns0:text> >>> <ns0:matchType>BROAD</ns0:matchType> >>> </keyword> >>> <isNegative>false</isNegative> >>> </keywordEstimateRequests> >>> <maxCpc> >>> <ns0:microAmount>7000000</ns0:microAmount> >>> </maxCpc> >>> </adGroupEstimateRequests> >>> <criteria xsi:type="ns0:Language"> >>> <ns0:id>1000</ns0:id> >>> </criteria> >>> <networkSetting> >>> <ns0:targetGoogleSearch>true</ns0:targetGoogleSearch> >>> <ns0:targetSearchNetwork>false</ns0:targetSearchNetwork> >>> <ns0:targetContentNetwork>false</ns0:targetContentNetwork> >>> <ns0:targetPartnerSearchNetwork>false</ns0: >>> targetPartnerSearchNetwork> >>> </networkSetting> >>> </campaignEstimateRequests> >>> </selector> >>> </get> >>> </env:Body> >>> </env:Envelope> >>> D, [2018-08-02T15:18:32.203009 #7] DEBUG -- : Incoming response: >>> Content-Type: text/xml; charset=UTF-8, Date: Thu, 02 Aug 2018 15:18:35 GMT, >>> Expires: Thu, 02 Aug 2018 15:18:35 GMT, Cache-Control: private, max-age=0, >>> X-Content-Type-Options: nosniff, X-Frame-Options: SAMEORIGIN, >>> X-XSS-Protection: 1; mode=block, Server: GSE, Alt-Svc: quic=":443"; >>> ma=2592000; v="44,43,39,35", Accept-Ranges: none, Vary: Accept-Encoding, >>> Transfer-Encoding: chunked >>> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> >>> <soap:Header> >>> <ResponseHeader xmlns=" >>> https://adwords.google.com/api/adwords/o/v201806" xmlns:ns2=" >>> https://adwords.google.com/api/adwords/cm/v201806"> >>> <ns2:requestId>00057275531af5280a5615ce0f08ba8d</ns2:requestId> >>> <ns2:serviceName>TrafficEstimatorService</ns2:serviceName> >>> <ns2:methodName>get</ns2:methodName> >>> <ns2:operations>1</ns2:operations> >>> <ns2:responseTime>541</ns2:responseTime> >>> </ResponseHeader> >>> </soap:Header> >>> <soap:Body> >>> <getResponse xmlns="https://adwords.google.com/api/adwords/o/v201806" >>> xmlns:ns2="https://adwords.google.com/api/adwords/cm/v201806"> >>> <rval> >>> <campaignEstimates> >>> <Estimate.Type>CampaignEstimate</Estimate.Type> >>> <adGroupEstimates> >>> <Estimate.Type>AdGroupEstimate</Estimate.Type> >>> <keywordEstimates> >>> <Estimate.Type>KeywordEstimate</Estimate.Type> >>> <min> >>> <averageCpc> >>> <ns2:ComparableValue.Type>Money</ns2:ComparableValue. >>> Type> >>> <ns2:microAmount>2682687</ns2:microAmount> >>> </averageCpc> >>> <averagePosition>4.313670378623284</averagePosition> >>> <clickThroughRate>0.07493564064474523</clickThroughRate> >>> <clicksPerDay>38.918427</clicksPerDay> >>> <impressionsPerDay>467.4222</impressionsPerDay> >>> <totalCost> >>> <ns2:ComparableValue.Type>Money< >>> /ns2:ComparableValue.Type> >>> <ns2:microAmount>116006600</ns2:microAmount> >>> </totalCost> >>> </min> >>> <max> >>> <averageCpc> >>> <ns2:ComparableValue.Type>Money< >>> /ns2:ComparableValue.Type> >>> <ns2:microAmount>3278839</ns2:microAmount> >>> </averageCpc> >>> <averagePosition>3.529366503425804</averagePosition> >>> <clickThroughRate>0.09158800964383662</clickThroughRate> >>> <clicksPerDay>47.56697</clicksPerDay> >>> <impressionsPerDay>571.2938</impressionsPerDay> >>> <totalCost> >>> <ns2:ComparableValue.Type>Money</ns2:ComparableValue. >>> Type> >>> <ns2:microAmount>141785856</ns2:microAmount> >>> </totalCost> >>> </max> >>> </keywordEstimates> >>> </adGroupEstimates> >>> </campaignEstimates> >>> </rval> >>> </getResponse> >>> </soap:Body> >>> </soap:Envelope> >>> >>> >>> On Thursday, August 2, 2018 at 4:51:58 PM UTC+2, Nadine Sundquist >>> (AdWords API Team) wrote: >>>> >>>> Hi Sebastian, >>>> >>>> I had that set as my amount in the UI. For some reason, my UI defaulted >>>> it to that, so my guess is perhaps it defaulted to 10 SEK for you, too. >>>> Yes, you did the conversion correctly. I compared the UI with passing 10 >>>> SEK to passing in the same to the API. >>>> >>>> So, I changed it to 7000000 in the API, and then I compared it to the >>>> UI with 7 SEK. Now, the important part is that you NEED to make sure that >>>> you are in the SAME account in the UI as you are in the API. I then went >>>> day by day in the UI. The range falls within what the API is returning of >>>> about 1400 to 1700 for the next week right now. The key is that it has to >>>> be the same account. >>>> >>>> Best, >>>> Nadine, AdWords API Team >>>> >>>> On Thursday, August 2, 2018 at 5:10:16 AM UTC-4, Sebastian Razola wrote: >>>>> >>>>> Hmm, are you sure that your max CPC value is correct? Where did you >>>>> get the 10000000 micro amount from? From what I understand the currency >>>>> used is the customer's selected currency. If I do a getCustomers request >>>>> via the CustomerService the currencyCode element means that I should use >>>>> a >>>>> micro amount value in SEK. Correct? >>>>> >>>>> The max CPC in the UI screenshot is 7 SEK. That would mean a micro >>>>> amount of 7000000? Which is what I used the API request that results in >>>>> impressions ranging between ~450 and ~550. >>>>> >>>>> D, [2018-08-02T08:51:09.842636 #23] DEBUG -- : Incoming response: >>>>>> Content-Type: text/xml; charset=UTF-8, Date: Thu, 02 Aug 2018 08:51:09 >>>>>> GMT, >>>>>> Expires: Thu, 02 Aug 2018 08:51:09 GMT, Cache-Control: private, >>>>>> max-age=0, >>>>>> X-Content-Type-Options: nosniff, X-Frame-Options: SAMEORIGIN, >>>>>> X-XSS-Protection: 1; mode=block, Server: GSE, Alt-Svc: quic=":443"; >>>>>> ma=2592000; v="44,43,39,35", Accept-Ranges: none, Vary: Accept-Encoding, >>>>>> Transfer-Encoding: chunked <soap:Envelope xmlns:soap=" >>>>>> http://schemas.xmlsoap.org/soap/envelope/"><soap:Header><ResponseHeader >>>>>> xmlns:ns2="https://adwords.google.com/api/adwords/cm/v201806" xmlns=" >>>>>> https://adwords.google.com/api/adwords/mcm/v201806"><ns2:requestId>0005726fe9994e600a1bd952b800535c</ns2:requestId><ns2:serviceName>CustomerService</ns2:serviceName><ns2:methodName>getCustomers</ns2:methodName><ns2:operations>1</ns2:operations><ns2:responseTime>343</ns2:responseTime></ResponseHeader></soap:Header><soap:Body><getCustomersResponse >>>>>> >>>>>> xmlns="https://adwords.google.com/api/adwords/mcm/v201806" >>>>>> xmlns:ns2="https://adwords.google.com/api/adwords/cm/v201806 >>>>>> "><rval><customerId>8849260927</customerId> >>>>>> *<currencyCode>SEK</currencyCode>* >>>>>> <dateTimeZone>Europe/Stockholm</dateTimeZone>... >>>>>> >>>>>> >>>>> On Wednesday, August 1, 2018 at 8:26:19 PM UTC+2, Nadine Sundquist >>>>> (AdWords API Team) wrote: >>>>>> >>>>>> Hi Sebastian, >>>>>> >>>>>> You totally did understand. You got it. I actually have the >>>>>> impression range coming back closer to the actual numbers when I ran it >>>>>> today for your account. Note that I set the max CPC to same as the >>>>>> default >>>>>> in the UI for your currency. I made sure the UI had the same when I was >>>>>> doing a comparison. >>>>>> >>>>>> Request: >>>>>> >>>>>> >>>>>> <selector><campaignEstimateRequests><adGroupEstimateRequests><keywordEstimateRequests><keyword> >>>>>> <text xmlns="https://adwords.google.com/api/adwords/cm/v201806">san >>>>>> diego hotels on the beach</text><matchType xmlns="https://adwords. >>>>>> google.com/api/adwords/cm/v201806">BROAD</matchType></keyword><maxCpc><microAmount >>>>>> >>>>>> xmlns="https://adwords.google.com/api/adwords/cm/v201806">10000000</microAmount></maxCpc></keywordEstimateRequests></adGroupEstimateRequests><criteria >>>>>> >>>>>> xsi:type="xns:Language" xmlns:xns=" >>>>>> https://adwords.google.com/api/adwords/cm/v201806" ><id xmlns=" >>>>>> https://adwords.google.com/api/adwords/cm/v201806 >>>>>> ">1000</id></criteria></campaignEstimateRequests></selector> >>>>>> >>>>>> >>>>>> Response: >>>>>> >>>>>> <rval><campaignEstimates><Estimate.Type>CampaignEstimate< >>>>>> /Estimate.Type><adGroupEstimates><Estimate.Type>AdGroupEstimate</ >>>>>> Estimate.Type><keywordEstimates><Estimate.Type>KeywordEstimate< >>>>>> /Estimate.Type><min><averageCpc><ns2:ComparableValue.Type>Money</ns2: >>>>>> ComparableValue.Type><ns2:microAmount>3101458</ns2:microAmount></ >>>>>> averageCpc><averagePosition>1.1803305461759181< >>>>>> /averagePosition><clickThroughRate>0.052787028717344864</ >>>>>> clickThroughRate><clicksPerDay>83.92769< >>>>>> /clicksPerDay><impressionsPerDay>1430.9371</impressionsPerDay>< >>>>>> totalCost><ns2:ComparableValue.Type>Money< >>>>>> /ns2:ComparableValue.Type><ns2:microAmount>289220160</ns2:microAmount >>>>>> ></totalCost></min><max><averageCpc><ns2:ComparableValue.Type>Money< >>>>>> /ns2:ComparableValue.Type><ns2:microAmount>3790671</ns2:microAmount >>>>>> ></averageCpc><averagePosition>1.0< >>>>>> /averagePosition><clickThroughRate>0.06451748265092982</ >>>>>> clickThroughRate><clicksPerDay>102.57829< >>>>>> /clicksPerDay><impressionsPerDay>1748.9232</impressionsPerDay>< >>>>>> totalCost><ns2:ComparableValue.Type>Money< >>>>>> /ns2:ComparableValue.Type><ns2:microAmount>353491328</ns2:microAmount >>>>>> ></totalCost></max></keywordEstimates></adGroupEstimates></ >>>>>> campaignEstimates></rval> >>>>>> >>>>>> You can see that the range is somewhere between 1400 to 1700, which >>>>>> is much closer to what you're seeing in the UI. I even checked the UI >>>>>> today >>>>>> for what I believe is the same date range as this, and it's fairly >>>>>> close. >>>>>> It won't be exact because as I said, it's not the same code running >>>>>> this, >>>>>> but it will be much closer than what you were seeing before when you >>>>>> understand the window that is being watched. >>>>>> >>>>>> Regards, >>>>>> Nadine, AdWords API Team >>>>>> >>>>>> On Wednesday, August 1, 2018 at 11:46:04 AM UTC-4, Sebastian Razola >>>>>> wrote: >>>>>>> >>>>>>> Hi Nadine, >>>>>>> >>>>>>> Thanks for the quick reply and thorough explanation. If I understand >>>>>>> you correctly the existing API gives me the min and max number of >>>>>>> impressions over the next(?) 7 days, compared to the new UI that gives >>>>>>> forecasts for a specific day or a date range. >>>>>>> >>>>>>> However the data still doesn’t make sense. According to the API >>>>>>> daily impressions will range from ~450 to ~550. BUT I’ve manually >>>>>>> checked >>>>>>> the next 7 days and the daily forecast range from ~1300 to ~1700. >>>>>>> >>>>>>> Or did I misunderstand you? >>>>>>> >>>>>>> Thanks! >>>>>> >>>>>> -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog: https://googleadsdeveloper.blogspot.com/ =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups "AdWords API and Google Ads 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 --- You received this message because you are subscribed to the Google Groups "AdWords API and Google Ads API Forum" group. To unsubscribe from this group and stop receiving emails from it, send an email to adwords-api+unsubscr...@googlegroups.com. Visit this group at https://groups.google.com/group/adwords-api. To view this discussion on the web visit https://groups.google.com/d/msgid/adwords-api/a69d8c8e-f51e-46d2-a146-0f4981e3884c%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.