Thursday 26 November 2015

Re: Conversions

Hi Josh !

Ok here is the result of my test:

If I put the path to NULL and print the result directly on the screen there are no results so the string is empty.

Like this:

$filePath = NULL;
print ReportUtils::DownloadReport($reportDefinition, $filePath, $user, $options);


If I specify a directory path and print the result on the screen I get a strange result "252" as a string.

Like this:

$filePath = "reports/test.xml";
print ReportUtils::DownloadReport($reportDefinition, $filePath, $user, $options);


If I send the result in the XML file I get this:

Like this:

$filePath = "reports/test.xml";
ReportUtils::DownloadReport($reportDefinition, $filePath, $user, $options);

Result in the XML file:

<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<report>
 
<report-name name='Criteria performance report #5657055530886'/>
 
<date-range date='Nov 19, 2015-Nov 25, 2015'/>
 
<table>
 
<columns>
 
<column name='campaignID' display='Campaign ID'/>
 
</columns>
 
<row campaignID='xxxxx'/>
 
<row campaignID='xxxxx'/>
 
<row campaignID='xxxxx'/>
 
<row campaignID='xxxxx'/>
 
<row campaignID='xxxxx'/>
 
</table>
</report>


There are results, but it's impossible to get them out on the screen.

It's really all I have for now!

Any ideas ?

Thank you !







On Wednesday, November 25, 2015 at 9:47:52 AM UTC-5, Josh Radcliff (AdWords API Team) wrote:
Hi Etienne,

When you say the result is empty, do you mean it's literally the empty string ("")/null, or that it simply does not contain any rows of data, like this?

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<report>
  <report-name name="Criteria performance report #5655c94a2d066"/>
  <date-range date="Nov 18, 2015-Nov 24, 2015"/>
  <table>
    <columns>
      <column name="campaignID" display="Campaign ID"/>
      <column name="impressions" display="Impressions"/>
    </columns>
  </table>
</report>

If the latter, then this is most likely due to your campaigns not having any impressions. You can include campaigns with zero impressions as follows:

$reportDefinition->includeZeroImpressions = true;

If that doesn't resolve it for you, could you let me know if you've tried the example without setting filePath to null, and if so, if the resulting file contained any data (even if it's just the empty response above)?

Thanks,
Josh, AdWords API Team

On Tuesday, November 24, 2015 at 6:14:04 PM UTC-5, etienne....@admobio.com wrote:
Hi Josh,

I tried many things but there is something I don't understand.

I added NULL to $filePath but the result is still empty.

With the following code, do you see something that might help me ?

I also googled a lot of request but there's no result for such specific search.

Thank you for your help !



function getAccountPerformanceReport(AdWordsUser $user) {
       
 
// Load the service.
 $user
->LoadService('ReportDefinitionService', ADWORDS_VERSION);
 // Create selector.
 $selector
= new Selector();
 $selector
->fields = array(
 
'CampaignId',
 
'Impressions');
       
 // Create report definition.
 $reportDefinition
= new ReportDefinition();
 $reportDefinition->selector = $selector;
 $reportDefinition->reportName = 'Criteria performance report #' . uniqid();
 $reportDefinition
->dateRangeType = 'LAST_7_DAYS';
 //$reportDefinition->reportType = 'ACCOUNT_PERFORMANCE_REPORT';
 $reportDefinition
->reportType = 'CAMPAIGN_PERFORMANCE_REPORT';
 $reportDefinition
->downloadFormat = 'XML';
 // Set additional options.
 $options
= array('version' => ADWORDS_VERSION);
       
 $filePath
= NULL;
 
 print ReportUtils::DownloadReport($reportDefinition, $filePath, $user, $options);
 //printf("Report with name '%s' was downloaded to '%s'.\n", $reportDefinition->reportName, $filePath);
}


On Tuesday, November 24, 2015 at 4:24:52 PM UTC-5, Josh Radcliff (AdWords API Team) wrote:
Hi Etienne,

You can retrieve the report as a string if you simply do not specify a $filePath when you call ReportUtils::DownloadReport. In that case, the return value from ReportUtils::DownloadReport will be the contents as a string.


Cheers,
Josh, AdWords API Team

On Tuesday, November 24, 2015 at 4:18:04 PM UTC-5, etienne....@admobio.com wrote:
Hi Josh,

I am able to download reports. I wish instead of downloading the reports, retrieve and display the values on the screen. Is it possible ?

Thank you !

On Friday, November 20, 2015 at 5:38:24 PM UTC-5, Josh Radcliff (AdWords API Team) wrote:
Hi Etienne,

Reporting works a bit differently, as it simply streams CSV, TSV, or XML results directly (instead of using SOAP). The Reporting Basics guide gives a good overview of how to run reports, and the examples in the PHP library Reporting folder show how to use the various PHP utilities for reporting.

Cheers,
Josh, AdWords API Team

On Friday, November 20, 2015 at 4:45:49 PM UTC-5, etienne....@admobio.com wrote:
Hi Josh and thank you for your answer.

I completely forgot to add the field in the selector, so it always sent me an empty field. It was my mistake ... I think I'm exhausted from my work week.

Here's my working code:
function test(AdWordsUser $user) {

 $service 
= $user->GetService('ConversionTrackerService', ADWORDS_VERSION);
 $selector 
= new Selector();
 $selector
->fields = array(
  'MostRecentConversionDate',   'LastReceivedRequestTime'
 
);

 $data 
= $service->get($selector);

 
if (isset($data->entries)) {
  print_r
("<pre>");
  print_r 
($data->entries);
  print_r
("</pre>");
 
}else{
  
print "Empty";
 
}

}

I tried to do the same approach with the reports but the method "Get" like "$data = $service->get($selector);" always returns the following error: PHP Warning: The method "get" is not supported. 

So I guess for reports, this is not the right way to proceed.

Is it correct to assume that this isn't the same approach as "ConversionTrackerService" or other services ?

Thank you,

Etienne

On Friday, November 20, 2015 at 3:40:08 PM UTC-5, Josh Radcliff (AdWords API Team) wrote:
Hi Etienne,

Have you gone through the Working with Objects guide? That explains how to specify which attributes of an object you want to retrieve from a service. The Selector fields list is also a useful reference.

Regarding the latest conversion date, please make sure that your selector's field list includes MostRecentConversionDate, as the API generally only returns values for fields that you have explicitly requested.

Cheers,
Josh, AdWords API Team

On Friday, November 20, 2015 at 3:01:47 PM UTC-5, etienne....@admobio.com wrote:
Hi Nadine !

Thanks for the info. I had previously tested with "NULL" but I had not paid attention then it worked thank you!

Now that it's done, I can't find information to retrieve the values returned by the service. Do you have any info on this on how to do this?

Also, I found the "ConversionTrackerService" that returns many information. I found the "mostRecentConversionDate" field. With this field, I would be able to recover the most recent conversion date and compare it with today's date and then whether a conversion took place in the last 30 days.

The problem is that the field always seems empty! I will do another test but the field still seems empty even if conversion has been made.

What do you think of these two subjects?

Thank you,
Etienne

On Friday, November 20, 2015 at 1:55:07 PM UTC-5, Nadine Sundquist (AdWords API Team) wrote:
Hi Etienne,

Your English is definitely easy to understand. No worries there. I looked at the PHP code that you have, and I looked at the Report Utils PHP code in the library. It looks like if you set the file path to null, then it should skip over fopen(). Have you given that a try?

Cheers,
Nadine, AdWords API Team

On Friday, November 20, 2015 at 12:23:56 PM UTC-5, etienne....@admobio.com wrote:
Hi !

Ok I tried several things and in different ways but if I don't specify filePath, logs always returns me:

PHP Warning: fopen (): Filename can not be empty in src/Google/Api/Ads/AdWords/User/ReportUtils.php

For now I'm stuck here. If you have a solution let me know and I will meanwhile do research.

Thank you for your help !

PS: Sorry for my English, I speak French from Quebec.

Etienne

Here is my code that works and that allows me to download the report.

function test(AdWordsUser $user) {
       
  // Load the service, so that the required classes are available.
  $user
->LoadService('ReportDefinitionService', ADWORDS_VERSION);
  // Create selector.
  $selector
= new Selector();
  $selector
->fields = array('CampaignId');
       
  //if ($timePeriod == "CUSTOM_DATE") {
  //$selector->dateRange = new DateRange($dateFrom, $dateTo);
  //}
  // Create report definition.
  $reportDefinition
= new ReportDefinition();
  $reportDefinition
->selector = $selector;
  $reportDefinition
->reportName = 'Performance report #' . uniqid();
  $reportDefinition
->dateRangeType = 'LAST_7_DAYS';
  //$reportDefinition->reportType = 'ACCOUNT_PERFORMANCE_REPORT';
  $reportDefinition
->reportType = 'CAMPAIGN_PERFORMANCE_REPORT';
  $reportDefinition
->downloadFormat = 'XML';
  // Set additional options.
  $options
= array('version' => ADWORDS_VERSION);

  $filePath
= "reports/test.xml";
 
  // Download report.
  ReportUtils::DownloadReport($reportDefinition, $filePath, $user, $options);
 
 
printf("Report with name '%s' was downloaded to '%s'.\n", $reportDefinition->reportName, $filePath);
}





On Friday, November 20, 2015 at 9:58:12 AM UTC-5, Anthony Madrigal wrote:
Hi Etienne,

I am not 100% certain of the PHP equivalent since I focus primarily on Java, but I will help as best I can. I believe that for Lib\Util\ReportUtils.DownloadReport for the PHP example, the return type is "if path isn't specified the contents of the report, otherwise the size in bytes of the downloaded report". In other words, if you do not provide the file path, it will be returned as a string.

Regards,
Anthony
AdWords API Team
--
--
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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+unsubscribe@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 Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to adwords-api+unsubscribe@googlegroups.com.
Visit this group at http://groups.google.com/group/adwords-api.
To view this discussion on the web visit https://groups.google.com/d/msgid/adwords-api/e152a95d-22ea-4a13-af71-3fd65e32f8b3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment