You can retrieve email metrics for a specific day on a specific domain or for all days on a specific domain.
For information on how to improve certain metrics, refer to Prevent mail to Gmail users from being blocked or sent to spam
Retrieve metrics for a specific day
To retrieve metrics for a specific day, call
domains.trafficStats.get()
with the domain and day. Following is a code sample showing how to retrieve
email metrics for a specific day:
Java
/**
* Gets the traffic stats for a domain for a specific date.
*
* @param service Authorized Gmail PostmasterTools API instance.
* @param domainName The fully qualified domain name.
* @param date The date to get the domain traffic stats. Must be in "YYYYMMDD" format.
* @return The traffic stats of the domain for this date.
* @throws IOException
*/
public static TrafficStats getTrafficStats(PostmasterTools service, String domainName, String date) throws IOException {
String query = String.format("domains/%s/trafficStats/%s", domainName, date);
TrafficStats trafficStats = service.domains().trafficStats().get(query).execute();
System.out.println(trafficStats.toPrettyString());
return trafficStats;
}
Python
"""Gets the traffic stats for a domain for a specific date.
Args:
service: Authorized Gmail PostmasterTools API instance.
domain_name: The fully qualified domain name.
date The date to get the domain traffic stats. Must be in "YYYYMMDD" format.
Returns:
The traffic stats of the domain for this date.
"""
def get_traffic_stats(service, domain_name, date):
"""Gets the traffic stats for a domain for a specific date.
Args:
service: Authorized Gmail PostmasterTools API instance.
domain_name: The fully qualified domain name.
date The date to get the domain traffic stats. Must be in "YYYYMMDD" format.
Returns:
The traffic stats of the domain for this date.
"""
try:
query = 'domains/%s/trafficStats/%s' %(domain_name,date)
traffic_stats = service.domains().trafficStats().get(name=query).execute();
print(traffic_stats);
return traffic_stats;
except errors.HttpError as err:
print('An error occurred: %s' % err)
If successful, the response body contains an instance of TrafficStats
.
Retrieve metrics for all days
To retrieve metrics for all days, call
domains.trafficStats.list()
with the domain. Following is a code sample showing how to retrieve email
metrics for all days:
Java
/**
* Lists traffic statistics for all available days.
*
* @param service Authorized Gmail PostmasterTools API instance.
* @param domainName The fully qualified domain name.
* @param pageSize The number of TrafficStats to get per request.
* @param pageToken The nextPageToken value returned from a previous List request, if any.
* @return Response message for list traffic stats request.
* @throws IOException
*/
public static ListTrafficStatsResponse listTrafficStats(PostmasterTools service, String domainName,
int pageSize,
String pageToken) throws IOException {
ListTrafficStatsResponse listTrafficStatsResponse = service.domains().trafficStats().list("domains/" domainName)
.setPageSize(pageSize)
.setPageToken(pageToken)
.execute();
System.out.println(listTrafficStatsResponse.toPrettyString());
return null;
}
Python
"""Gets the traffic stats for a domain for a specific date.
Args:
service: Authorized Gmail PostmasterTools API instance.
domain_name: The fully qualified domain name.
date The date to get the domain traffic stats. Must be in "YYYYMMDD" format.
page_size The number of TrafficStats to get per request.
page_token The nextPageToken value returned from a previous List request, if any.
Returns:
The traffic stats of the domain for this date.
"""
def list_traffic_stats(service, domain_name, date, page_size, page_token):
"""Gets the traffic stats for a domain for a specific date.
Args:
service: Authorized Gmail PostmasterTools API instance.
domain_name: The fully qualified domain name.
date The date to get the domain traffic stats. Must be in "YYYYMMDD" format.
page_size The number of TrafficStats to get per request.
page_token The nextPageToken value returned from a previous List request, if any.
Returns:
The traffic stats of the domain for this date.
"""
try:
query = 'domains/' domain_name
list_traffic_stats_response = service.domains().trafficStats().list(parent=query, pageSize=page_size, pageToken=page_token).execute();
print(list_traffic_stats_response);
return list_traffic_stats_response;
except errors.HttpError as err:
print('An error occurred: %s' % err)
if __name__ == '__main__':
main()
If successful, the response body contains a paginated array of TrafficStats
with the following structure:
{
"trafficStats": [
{
object (TrafficStats)
}
],
"nextPageToken": string
}