Analyse raw event logs — counts by value, distinct visitors, sample rows, clicks without impressions
Reads the rows of the Impressions, Clicks, Conversions or Actions Log report for up to 3 days and summarises them instead of returning the log: the number of rows read, counts per value of one or two columns (groupBy) with the top ones and the rest folded into other, how many distinct IPs, users (uu
https://YOUR-NETWORK-DOMAIN/rest-api/analytics/raw-log-analyze.do Reads the rows of the Impressions, Clicks, Conversions or Actions Log report for up to 3 days and summarises them instead of returning the log: the number of rows read, counts per value of one or two columns (groupBy) with the top ones and the rest folded into other, how many distinct IPs, users (uuid), user agents and domains they came from, and a few sample rows with the chosen columns. Answers where clicks or impressions come from (domain, IP, user agent, country, device), which IPs or users repeat, and what values arrived in the custom parameters (group by custom_param.<name>). With link=true, clicks are matched to the impressions and conversions or actions to the clicks of the same period by transaction id: how many have a match, how many do not (clicks without impressions, conversions without a click), and samples of the unmatched ones. At most 50000 rows are read from each log - capped says when there were more, and the counts then cover only the rows read. Dates are days in the server's time zone, as in the raw-log reports. Reads through the same cache as the reports; counts as one request against the daily analytics request limit. Needs the report's permission (RPT_TYPE_IMPRESSIONS_LOG, RPT_TYPE_CLICKS_LOG or RPT_TYPE_CONVERSIONS_LOG), a custom date range, and permission to view all inventory and all campaigns, like the raw-log reports.
Query Params
logType string required
IMPRESSIONS, CLICKS, CONVERSIONS or ACTIONS
CLICKS from string required
First day, yyyy-MM-dd, server time zone
2026-10-05 to string
Last day, yyyy-MM-dd, inclusive; default from; at most 3 days from from
2026-10-07 advertiserIds array<integer>
Advertiser ids to keep (ORed with campaigns and banners, as in the raw-log reports)
1001 campaignIds array<integer>
Campaign ids to keep
2001 bannerIds array<integer>
Banner ids to keep
3001 siteIds array<integer>
Site ids to keep (ORed with zones and placements)
5001 zoneIds array<integer>
Zone ids to keep
6001 placementIds array<integer>
Placement ids to keep
4001 countries array<string>
Countries to keep, two-letter codes
US connectionTypes array<string>
Connection types to keep (needs RPT_GRP_FILTER_CONNECTION_TYPE)
WIFI languages array<string>
Browser languages to keep (needs RPT_GRP_FILTER_LANGUAGE)
en trafficSources array<string>
Traffic sources to keep (needs RPT_GRP_FILTER_TRAFFIC_SOURCE)
WEB incognito string
Incognito filter: true, false or unknown (needs RPT_GRP_FILTER_INCOGNITO_MODE)
true validation string
VALID (default), NOT_VALID or ALL records - only networks that write invalid records keep NOT_VALID ones
VALID groupBy array<string>
One or two columns to count rows by: a raw-log column (domain, ip, uuid, user_agent, country, deviceFormat, os, browser, banner_id, placement_id...), day, hour, an entity name (banner_name...), or custom_param.<name> for one custom parameter's values
domain top integer
Groups listed, most rows first; default 20, at most 100
20 sample integer
Sample rows returned; default 10, at most 50, 0 for none
10 columns array<string>
Columns of the sample rows; default dt, banner_id, placement_id, domain, ip, country, deviceFormat, user_agent, custom_param, transaction_id and the groupBy columns
dt link boolean
Match clicks to impressions, or conversions and actions to clicks, by transaction id; reads the other log too (up to 50000 rows)
true Responses
200
{success, logType, from, to, rowsRead, matchingRows, capped, rowCap, groupBy, groups:[{<column>: value, count, share}], other:{groups, rows}|null, distinctGroups, distinct:{ip, uuid, user_agent, domain}, sampleColumns, sample:[{...}], linkedTo:{log, key, matched, unmatched, withoutId, linkedRowsRead, linkedCapped, unmatchedByAttribution?, unmatchedSample}|{log, skipped}, notes:[...]}
400
An unknown log type, column or validation, a date that is not yyyy-MM-dd, to before from, more than 3 days, or more than 2 groupBy columns
401
Authentication error
403
The role lacks the log's report permission, a filter's permission, or view-all on inventory and campaigns; the message names it
429
The network's daily analytics request limit is reached
503
The raw logs could not be read from the analytics cluster