Piano Analytics
Follow our setup guide to connect Piano to QUANTI:
Piano Analytics limits the number of rows returned per query to 1,500,000. We split our queries by day and by account, but it's important to understand that if a single query for one account exceeds 1,500,000 rows, the API returns an error. As a result, the query fails, and the data is not inserted into our system.
To avoid this, make sure to use the filtering feature to reduce the number of returned rows and stay within the API limits.
Prerequisites
To connect Piano to QUANTI, you need a Piano account.
Setup instructions
Find your credentials
Find your Website ID
Your Website ID is in the url when you are connected to your Piano account. This is the value of the parameter site.
https://explorer.atinternet-solutions.com/core/#/overview/overview/020202?period.shortcut=yesterday&period.granularity=3&site=612329&graph.options.defaultlist=minmax&graph.options.comparisonlist=nocomparison&graph.options.eventloglist=eventlog&isIgnoreNullProperties=false
Connector configuration
Pre-built reports
All prebuilt tables are metric tables partitioned by _quanti_date (delete-insert per day).
Content & Navigation
content_pages: Contains daily records of user interactions for each website page, enabling content-level performance tracking.
traffic_sources: Describes how users arrive on the site, with detailed information about traffic origin, campaigns, and referrers.
internal_search: Internal site search performance — keywords searched and result page consulted, with unique visitor counts.
marketing_campaigns: Consolidated traffic and conversion view by marketing campaign (UTM source, campaign name, content, term).
Commerce & Conversions
transaction_source: Stores transactional data along with marketing attribution fields, providing insight into the source and context of each purchase.
product_cart_funnel: Product and cart funnel — product page views, add/remove-to-cart and purchases by product ID and category. Complements
transaction_source, which only captures the final transaction.
Audience & Behaviour
geo_breakdown: Audience and revenue breakdown by geographic zone (country, region, city).
device_tech: Audience breakdown by device type, operating system, browser family and screen resolution.
visitor_loyalty: Visitor loyalty metrics — new vs returning visitors split by
visitor_new_returndimension.
Advertising
onsite_ads_performance: Onsite advertising and self-promotion performance (impressions, clicks) by campaign, type, placement, format and advertiser.
publisher_ad_revenue: Third-party advertising revenue for publishers — clicks by advertiser, format and placement.
Media
video_engagement: Video and audio content engagement (plays, completion, time watched) by media name, type (video / audio / live) and channel.
Custom reports
Piano Analytics limits the number of rows returned per query to 1,500,000. We split our queries by day and by account, but it's important to understand that if a single query for one account exceeds 1,500,000 rows, the API returns an error. As a result, the query fails, and the data is not inserted into our system.
To avoid this, make sure to use the filtering feature to reduce the number of returned rows and stay within the API limits.
Retrieve your field names from Piano Analytics
The easiest way to identify the field names expected by the Piano API is to use the Data Query tool directly in the Piano Analytics interface.
In Piano Analytics, navigate to Data Query (top-right corner, icon with 4 squares)

Build the report you want to extract via the QUANTI connector by selecting your dimensions and metrics

Once your report is configured, click the copy/paste button in the top-right corner, then select Copy the API body (POST)

A pop-in appears with the full API body. Retrieve:
The content of the
columnsobject → this will populate thefieldsarray in your JSONThe content of the
filterobject (if any) → this will populate thefilterfield in your JSON

Configure the custom report query
In QUANTI, at the Create reports step, click Add custom report. A pop-in opens with two steps: Query and Schema.
In the Query step:
Give your report a name in the Query name field — this name will become the table name in your data warehouse
The name chosen for your custom report is the one that names your table in the data warehouse.
Fill in the Query configuration (JSON) with the following structure:
fields(required): Paste the field names retrieved from Piano Analytics. Each field name must be a quoted string, separated by commas. Example:"fields": ["src", "page", "m_visits", "m_page_loads"]sort(optional): List of fields to sort by. Can be left empty.filter(optional): Paste the filter expression copied from the Piano API body. Can be left as an empty string if no filter is needed.
Once your JSON is filled in, click Next.
Map your fields (Schema)
The second step of the pop-in is the Schema mapping. QUANTI infers the type of each field and displays them in a table.
For each field, you can:
Adjust the Type (STRING, INTEGER, FLOAT, etc.)
Check Unique identifiers to mark the field as part of the primary key — this should include all dimension fields of your report, as they collectively form the unique identifier of each row
Check Metric to flag a field as a numeric metric
Once all fields are correctly mapped, click Save to create the custom report table.
Last updated
Was this helpful?


