2013-07-08 69 views
0

我使用Google AdWords PHP API從我們的帳戶訪問統計信息。不過,我通過api得到了一些非常奇怪的統計數據。我正在嘗試訪問個人廣告或廣告組的統計信息。但是,返回的統計數據與他們在客戶中心的結果有些相似。我正在使用的代碼:Google Adwords不正確的統計信息

$user->SetClientCustomerId($clientId); 
$adService = $user->GetService("AdGroupAdService", ADWORDS_VERSION); 
$selector = new Selector(); 
$selector->fields = array("Id", "Name", "Clicks", "Impressions", "Cost"); 
$selector->predicates[] = new Predicate("AdGroupId", "IN", array($adGroupId)); 
$selector->dateRange = $dateRange; 
$selector->paging = new Paging(0, AdWordsConstants::RECOMMENDED_PAGE_SIZE); 
do { 
     // Make the get request. 
     $page = $adService->get($selector); 

     if (isset($page->entries)) { 
       foreach ($page->entries as $ad) { 
        $newLineObject->adName = $ad->name; 
        $newLineObject->clicks = $ad->ad->AdStats->clicks; 
        $newLineObject->impressions = $ad->adStats->impressions; 
        $newLineObject->cost = $ad->ad->AdStats->cost->microAmount/ AdWordsConstants::MICROS_PER_DOLLAR; 
       } 
     } 
     else { 
      print "No matching ads were found.\n"; 
     } 
     $selector->paging->startIndex += AdWordsConstants::RECOMMENDED_PAGE_SIZE; 

} while ($page->totalNumEntries > $selector->paging->startIndex); 

當我打印結果時,我得到的數字遠遠大於客戶端中心顯示的數字。例如,對於一個partiuclar Ad,API報告了2,000,000次展示,而客戶中心顯示56,000。

我在做什麼錯?

回答

0

已經嘗試過使用上面詳細介紹的方法,我完全改變了我的代碼。我現在使用AdHoc報告(在這裏描述https://developers.google.com/adwords/api/docs/guides/reporting)。 AdWords開發人員向我推薦了這種方法。雖然這並不能從字面上解決我的問題(即上述代碼爲什麼會返回不正確的統計數據),但它確實提供了一種簡單而乾淨的方式來正確獲取數據。

0

你的代碼對我來說似乎是正確的。但是,您的問題可能是您的代碼中的日期範圍與您在客戶中心中看到的日期範圍不同。確保您在交叉檢查時保持相同的日期範圍。

+0

可悲的是日期是正確的。 – danvdende