Vev basic tracking provides cookieless, anonymous analytics for projects published to a Vev-served hosting. It covers traffic, acquisition, devices, geography, engagement, and click behavior without storing an identifier in the visitor's browser.
Turn tracking on
Open Hosting, select the hosting, and go to Settings.
Find Switch on Vev basic tracking and enable Vev basic tracking.
Publish each project again. Collection begins with that publish; earlier traffic is not backfilled.
Open the hosting's Tracking page to view the results.
Only admins and members who can update hosting settings can change tracking.
Read the dashboard
Use the Project filter to switch between the complete hosting and a single published project. The 7d, 30d, and 90d controls change the reporting window.
The dashboard includes:
Views and visitors — totals for the selected window, compared with the previous window of the same length.
Traffic over time — views and visitors plotted together for direct comparison, plus conversion rate when an engagement goal is configured.
Projects and top pages — where traffic is concentrated.
Referrers, devices, and countries — how visits arrive and where they come from.
Engagement — median time on page and maximum scroll depth.
Most clicked — popular elements, including rage-click and dead-click indicators.
Ask about your data — plain-language answers based only on the tracking metrics on this hosting. Answers use the account's AI credits.
Visitors are counted without cookies and are day-scoped, so the same visitor returning on another day is counted again. Tracking runs in the browser; visits blocked by an ad blocker or made without JavaScript are not counted.
Set an engagement conversion goal
Select Set conversion goal above the traffic chart. You can define either or both of these thresholds:
Time on page — the minimum number of seconds in a completed page visit, from 5 through 3,600 seconds.
Scroll depth — the minimum percentage of the page reached, from 1% through 100%.
When both thresholds are enabled, a visit converts only when it meets both. For example, a goal of 60 seconds and 75% scroll depth counts a completed page visit after it lasts at least one minute and reaches at least three quarters of the page.
The dashed conversion line shows the daily percentage of completed page visits that met the goal. It uses a 0–100% percentage scale, separately from the views and visitors scale. Changing the goal recalculates the selected reporting window from the engagement events already collected; it does not require another publish. Select Edit goal to change or remove it.
Tracking actions
Open the ••• menu in the top-right corner of the Tracking page to export data or turn tracking off.
Turn tracking off
Select Turn tracking off and confirm the change. Tracking continues on already-published projects until they are published again. Turning tracking off does not delete historical data.
Export CSV
Select Export CSV from the Tracking actions menu. The helper lets you choose a 7-, 30-, or 90-day window and one or more metrics, then builds a refreshable CSV URL. If the dashboard is filtered to a project, the generated URL includes that project filter; choose All projects first for a hosting-wide URL.
Create a Vev API key under Profile → API Keys and enable only the readTracking (read:tracking) scope. The user who owns the key must also have access to the hosting's account. Keep the key private and send it in the x-vev-key request header.
Example request:
GET https://api.vev.design/v2/hostings/<hosting-key>/tracking?metrics=timeseries,top_pages,page_engagement,goal_conversions&days=90&format=csv
x-vev-key: <api-key>
The response has content type text/csv. Each row includes a metric column plus shared request context and the union of metric-specific columns. Engagement rows include median_seconds_on_page and median_max_scroll_pct; goal rows include samples, conversions, and conversion_rate. A selected metric still produces a row when it has no data or returns an error, which keeps the schema stable for refresh tools.
Power BI
In Power BI Desktop, open Transform data → New source → Blank query, open Advanced Editor, and use this Power Query template:
let
Source = Csv.Document(
Web.Contents(
"https://api.vev.design/v2/hostings/<hosting-key>/tracking",
[
Query = [
metrics = "timeseries,top_pages,page_engagement,goal_conversions",
days = "90",
format = "csv"
],
Headers = [#"x-vev-key" = "<api-key>"]
]
),
[Delimiter = ",", Encoding = 65001, QuoteStyle = QuoteStyle.Csv]
),
WithHeaders = Table.PromoteHeaders(Source, [PromoteAllScalars = true])
in
WithHeaders
Replace <hosting-key> and <api-key>, then configure the dataset's normal refresh schedule. When Power BI asks for credentials for api.vev.design, choose Anonymous because the API key is already supplied by the request header.
See Microsoft's Web.Contents reference for the Query and Headers options used by the template.
Tracking API
The same endpoint returns JSON unless format=csv is specified:
GET https://api.vev.design/v2/hostings/<hosting-key>/tracking
x-vev-key: <api-key>
Query parameters:
Parameter | Description |
| Comma-separated metrics. Defaults to |
| Integer from 1 through 90. Defaults to 7. |
| Optional project key. Limits every metric to that project. |
| Optional recorded path such as |
| Breakdown row limit from 1 through 100. Defaults to 20. |
|
|
Available metrics:
Metric | Result |
| Views and visitors, plus the previous equal-length window. |
| Views and visitors per day. |
| Views and visitors per project. |
| Most-viewed paths. |
| Referring domains; |
| Desktop, mobile, and tablet traffic. |
| Visitor countries as ISO country codes. |
| Median seconds on page and median maximum scroll depth per path. |
| Completed visits, conversions, and conversion rate per day for the configured engagement goal. |
| Most-clicked elements, including path, label, and link target. |
| Elements clicked repeatedly in quick succession. |
| Elements clicked without producing an effect. |
Troubleshooting
The dashboard is empty: confirm tracking is enabled and publish the project again. New data can only be collected after that publish.
Power BI returns 401: confirm the key has
read:tracking, belongs to a user with access to the hosting account, and is sent asx-vev-key.The request returns 400: verify metric names, use an integer
daysvalue from 1 to 90, and make sure apathbegins with/and contains no query string.A metric has fewer visits than expected: browser-side blocking and disabled JavaScript prevent collection.
The conversion line is missing: set at least one conversion threshold and wait for a completed page visit. A new visit is complete when the visitor leaves or navigates to another page.
