Reminder: v201708 will be sunset on August 31, 2018.

ReportService (v201705)

Provides methods for executing a ReportJob and retrieving performance and statistics about ad campaigns, networks, inventory and sales.

Follow the steps outlined below:

Test network behavior

The networks created using NetworkService.makeTestNetwork are unable to provide reports that would be comparable to the production environment because reports require traffic history. In the test networks, reports will consistently return no data for all reports.


Production WSDL
https://ads.google.com/apis/ads/publisher/v201705/ReportService?wsdl
Namespace
https://www.google.com/apis/ads/publisher/v201705
Operations
Errors

getReportDownloadURL

Returns the URL at which the report file can be downloaded.

The report will be generated as a gzip archive, containing the report file itself.

Parameters

Field Type Description
reportJobId xsd:long the ID of the ReportJob
exportFormat ExportFormat the ExportFormat for the report file
Enumerations
TSV
The report file is generated as a list of Tab Separated Values.
TSV_EXCEL
The report file is generated as a list of tab-separated values for Excel.
CSV_DUMP
The report file is generated as a list of Comma Separated Values, to be used with automated machine processing.
  • There is no pretty printing for the output, and no total row.
  • Column headers are the qualified name e.g. "Dimension.ORDER_NAME".
  • Network currency Monetary amounts are represented as micros in the currency of the network.
  • Starting from v201705, local currency Monetary amounts are represented as currency symbol + ' ' + micros.
  • Dates are formatted according to the ISO 8601 standard YYYY-MM-DD
  • DateTimes are formatted according to the ISO 8601 standard YYYY-MM-DDThh:mm:ss[+-]hh:mm
XML
The report file is generated as XML.
XLSX
The report file is generated as an Office Open XML spreadsheet designed for Excel 2007+.

Response

Field Type Description
rval xsd:string the URL for report file download

getReportDownloadUrlWithOptions

Returns the URL at which the report file can be downloaded, and allows for customization of the downloaded report.

By default, the report will be generated as a gzip archive, containing the report file itself. This can be changed by setting ReportDownloadOptions.useGzipCompression to false.

Parameters

Field Type Description
reportJobId xsd:long the ID of the ReportJob
reportDownloadOptions ReportDownloadOptions the ReportDownloadOptions for the request

Response

Field Type Description
rval xsd:string the URL for report file download

getReportJobStatus

Returns the ReportJobStatus of the report job with the specified ID.

Parameters

Field Type Description
reportJobId xsd:long

Response

Field Type Description
rval ReportJobStatus
Enumerations
COMPLETED
The ReportJob has completed successfully and is ready to download.
IN_PROGRESS
The ReportJob is still being executed.
FAILED
The ReportJob has failed to run to completion.

getSavedQueriesByStatement

Retrieves a page of the saved queries either created by or shared with the current user. Each SavedQuery in the page, if it is compatible with the current API version, will contain a ReportQuery object which can be optionally modified and used to create a ReportJob. This can then be passed to ReportService.runReportJob. The following fields are supported for filtering:

PQL Property Object Property
id SavedQuery.id
name SavedQuery.name

Parameters

Field Type Description
filterStatement Statement a Publisher Query Language statement used to filter which saved queries should be returned.

Response

Field Type Description
rval SavedQueryPage a SavedQueryPage that contains all SavedQuery instances which satisfy the given statement.

runReportJob

Initiates the execution of a ReportQuery on the server.

The following fields are required:

Parameters

Field Type Description
reportJob ReportJob the report job to run

Response

Field Type Description
rval ReportJob the report job with its ID filled in

Errors

Error Reasons
ApiVersionError Errors related to the usage of API versions.
Enumerations
UPDATE_TO_NEWER_VERSION
Indicates that the operation is not allowed in the version the request was made in.
UNKNOWN
The value returned if the actual value is not exposed by the requested API version.
AuthenticationError An error for an exception that occurred when authenticating.
Enumerations
AMBIGUOUS_SOAP_REQUEST_HEADER
The SOAP message contains a request header with an ambiguous definition of the authentication header fields. This means either the authToken and oAuthToken fields were both null or both were specified. Exactly one value should be specified with each request.
INVALID_EMAIL
The login provided is invalid.
AUTHENTICATION_FAILED
Tried to authenticate with provided information, but failed.
INVALID_OAUTH_SIGNATURE
The OAuth provided is invalid.
INVALID_SERVICE
The specified service to use was not recognized.
MISSING_SOAP_REQUEST_HEADER
The SOAP message is missing a request header with an authToken and optional networkCode.
MISSING_AUTHENTICATION_HTTP_HEADER
The HTTP request is missing a request header with an authToken
MISSING_AUTHENTICATION
The request is missing an authToken
NOT_WHITELISTED_FOR_API_ACCESS
The customer is not whitelisted for API access.
NO_NETWORKS_TO_ACCESS
The user is not associated with any network.
NETWORK_NOT_FOUND
No network for the given networkCode was found.
NETWORK_CODE_REQUIRED
The user has access to more than one network, but did not provide a networkCode.
CONNECTION_ERROR
An error happened on the server side during connection to authentication service.
GOOGLE_ACCOUNT_ALREADY_ASSOCIATED_WITH_NETWORK
The user tried to create a test network using an account that already is associated with a network.
UNKNOWN
The value returned if the actual value is not exposed by the requested API version.
CollectionSizeError Error for the size of the collection being too large
Enumerations
TOO_LARGE
UNKNOWN
The value returned if the actual value is not exposed by the requested API version.
CommonError A place for common errors that can be used across services.
Enumerations
NOT_FOUND
Indicates that an attempt was made to retrieve an entity that does not exist.
ALREADY_EXISTS
Indicates that an attempt was made to create an entity that already exists.
NOT_APPLICABLE
Indicates that a value is not applicable for given use case.
DUPLICATE_OBJECT
Indicates that two elements in the collection were identical.
CANNOT_UPDATE
Indicates that an attempt was made to change an immutable field.
CONCURRENT_MODIFICATION
Indicates that another request attempted to update the same data in the same network at about the same time. Please wait and try the request again.
UNKNOWN
The value returned if the actual value is not exposed by the requested API version.
FeatureError Errors related to feature management. If you attempt using a feature that is not available to the current network you'll receive a FeatureError with the missing feature as the trigger.
Enumerations
MISSING_FEATURE
A feature is being used that is not enabled on the current network.
UNKNOWN
The value returned if the actual value is not exposed by the requested API version.
InternalApiError Indicates that a server-side error has occured. InternalApiErrors are generally not the result of an invalid request or message sent by the client.
Enumerations
UNEXPECTED_INTERNAL_API_ERROR
API encountered an unexpected internal error.
TRANSIENT_ERROR
A temporary error occurred during the request. Please retry.
UNKNOWN
The cause of the error is not known or only defined in newer versions.
DOWNTIME
The API is currently unavailable for a planned downtime.
ERROR_GENERATING_RESPONSE
Mutate succeeded but server was unable to build response. Client should not retry mutate.
NotNullError Caused by supplying a null value for an attribute that cannot be null.
Enumerations
ARG1_NULL
Assuming that a method will not have more than 3 arguments, if it does, return NULL
ARG2_NULL
ARG3_NULL
NULL
UNKNOWN
The value returned if the actual value is not exposed by the requested API version.
ParseError Lists errors related to parsing.
Enumerations
UNPARSABLE
Indicates an error in parsing an attribute.
UNKNOWN
The value returned if the actual value is not exposed by the requested API version.
PermissionError Errors related to incorrect permission.
Enumerations
PERMISSION_DENIED
User does not have the required permission for the request.
UNKNOWN
The value returned if the actual value is not exposed by the requested API version.
PublisherQueryLanguageContextError An error that occurs while executing a PQL query contained in a Statement object.
Enumerations
UNEXECUTABLE
Indicates that there was an error executing the PQL.
UNKNOWN
The value returned if the actual value is not exposed by the requested API version.
PublisherQueryLanguageSyntaxError An error that occurs while parsing a PQL query contained in a Statement object.
Enumerations
UNPARSABLE
Indicates that there was a PQL syntax error.
UNKNOWN
The value returned if the actual value is not exposed by the requested API version.
QuotaError Describes a client-side error on which a user is attempting to perform an action to which they have no quota remaining.
Enumerations
EXCEEDED_QUOTA
The number of requests made per second is too high and has exceeded the allowable limit. The recommended approach to handle this error is to wait about 5 seconds and then retry the request. Note that this does not guarantee the request will succeed. If it fails again, try increasing the wait time.

Another way to mitigate this error is to limit requests to 2 per second for Small Business networks, or 8 per second for Premium networks. Once again this does not guarantee that every request will succeed, but may help reduce the number of times you receive this error.

UNKNOWN
The value returned if the actual value is not exposed by the requested API version.
REPORT_JOB_LIMIT
This user has exceeded the allowed number of new report requests per hour (this includes both reports run via the UI and reports run via ReportService.runReportJob). The recommended approach to handle this error is to wait about 10 minutes and then retry the request. Note that this does not guarantee the request will succeed. If it fails again, try increasing the wait time.

Another way to mitigate this error is to limit the number of new report requests to 250 per hour per user. Once again, this does not guarantee that every request will succeed, but may help reduce the number of times you receive this error.

ReportError An error for an exception that occurred while running the report.
Enumerations
DEFAULT
Default ReportError when the reason is not among any already defined.
REPORT_ACCESS_NOT_ALLOWED
User does not have permission to access the report.
DIMENSION_VIEW_NOT_ALLOWED
User does not have permission to view one or more Dimension.
ATTRIBUTE_VIEW_NOT_ALLOWED
User has no permission to view one or more attributes.
COLUMN_VIEW_NOT_ALLOWED
User does not have permission to view one or more Column.
TOO_MANY_CONCURRENT_REPORTS
The user has exceeded the limit on the number of reports that can be run concurrently. The current limit is 30 per user.
REPORT_QUERY_TOO_LONG
The report query exceeds the maximum allowed number of characters.
INVALID_OPERATION_FOR_REPORT_STATE
Invalid report job state for the given operation.
INVALID_DIMENSIONS
Invalid Dimension objects specified.
INVALID_ATTRIBUTES
The attribute ID(s) are not valid.
INVALID_CONTENT_HIERARCHY_DIMENSIONS
The API error when running the report with ContentHierarchyDimension. There are three reasons for this error.
  1. ReportQuery.dimensions contains Dimension.CONTENT_HIERARCHY, but ReportQuery.contentMetadataHierarchyCustomTargetingKeyIds is empty.
  2. ReportQuery.contentMetadataHierarchyCustomTargetingKeyIds is non-empty, but ReportQuery.dimensions does not contain Dimension.CONTENT_HIERARCHY.
  3. The ReportQuery.contentMetadataKeyHierarchyCustomTargetingKeyIds specified along with the Dimension.CONTENT_HIERARCHY are not valid, i.e., these IDs are not defined in the content hierarchy by the publisher.
INVALID_COLUMNS
Invalid Column objects specified.
INVALID_DIMENSION_FILTERS
Invalid DimensionFilter objects specified.
INVALID_DATE
Invalid date.
END_DATE_TIME_NOT_AFTER_START_TIME
The start date for running the report should not be later than the end date.
START_DATE_MORE_THAN_THREE_YEARS_AGO
The start date for running the report should not be more than three years before now.
NOT_NULL
The list of Dimension and Column objects cannot be empty.
ATTRIBUTES_NOT_SUPPORTED_FOR_REQUEST
Attribute has to be selected in combination with dimensions.
COLUMNS_NOT_SUPPORTED_FOR_REQUESTED_DIMENSIONS
The provided report violates one or more constraints, which govern incompatibilities and requirements between different report properties. Some reasons for constraint violations include:
  • Not all Column objects requested are supported for the given set of Dimension objects.
  • The report's date range is not compatible with the given set of Column objects.
  • The report's TimeZoneType is not compatible with the given set of Column and Dimension objects (version 201802 and later).
  • The report's currency is not compatible with the given set of Column objects (version 201802 and later).
FAILED_TO_STORE_REPORT
Failed to store/cache a report.
REPORT_NOT_FOUND
The requested report does not exist.
SR_CANNOT_RUN_REPORT_IN_ANOTHER_NETWORK
User has no permission to view in another network.
UNKNOWN
The value returned if the actual value is not exposed by the requested API version.
RequiredCollectionError A list of all errors to be used for validating sizes of collections.
Enumerations
REQUIRED
A required collection is missing.
TOO_LARGE
Collection size is too large.
TOO_SMALL
Collection size is too small.
UNKNOWN
The value returned if the actual value is not exposed by the requested API version.
RequiredError Errors due to missing required field.
Enumerations
REQUIRED
Missing required field.
ServerError Errors related to the server.
Enumerations
SERVER_ERROR
Indicates that an unexpected error occured.
SERVER_BUSY
Indicates that the server is currently experiencing a high load. Please wait and try your request again.
UNKNOWN
The value returned if the actual value is not exposed by the requested API version.
StatementError An error that occurs while parsing Statement objects.
Enumerations
VARIABLE_NOT_BOUND_TO_VALUE
A bind variable has not been bound to a value.
UNKNOWN
The value returned if the actual value is not exposed by the requested API version.
StringFormatError A list of error code for reporting invalid content of input strings.
Enumerations
UNKNOWN
ILLEGAL_CHARS
The input string value contains disallowed characters.
INVALID_FORMAT
The input string value is invalid for the associated field.
StringLengthError Errors for Strings which do not meet given length constraints.
Enumerations
TOO_LONG
TOO_SHORT
UNKNOWN
The value returned if the actual value is not exposed by the requested API version.

Send feedback about...

DoubleClick for Publishers API
DoubleClick for Publishers API
Need help? Visit our support page.