Select to view content in your preferred language

ArcGIS Online: First-class Dataset Downloads metric for hosted feature layers (exports, replicas, file queries & Hub)

473
0
08-22-2025 08:18 AM
Status: Open
_Ali
by
Emerging Contributor

What problem am I trying to solve?

As an org admin, I need a reliable way to count actual dataset downloads for hosted Feature Services over a chosen date range (and ideally broken down by format/day/actor). Current Usage views focus on requests/views and don’t surface file-based downloads for hosted web layers, which makes it hard to report dataset uptake to stakeholders and product owners.


Why this matters

Product metrics: show which datasets are actually being taken offline/consumed.

Operational planning: anticipate load from large exports/replicas.

Governance & audit: evidence of data distribution to partners/clients.

Funding/ROI: justify maintenance of popular datasets; retire unused ones.

Proposal (what I’d like to see)


New “Downloads” metric for hosted web layers (Feature/Map/Scene/Image), available on each item’s Usage tab and via org Reports:

Counts events that create a downloadable file or replica, including:

Item → Export Data (SHP/FGDB/CSV/GeoJSON/…);

FeatureServer/createReplica (offline/FGDB/SQLite);

Item /data?...download=1;

FeatureServer/query when f=csv|geojson|xlsx|kml (server-generated file);

ArcGIS Hub/Open Data downloads (site and API-initiated).

Breakdowns: by item, layer, format, date, actor (user/app when available), source (Item UI, API, Hub).

Charts + CSV export, with the same retention horizon as Usage (or longer).

Standardised event semantics in Portal History

Introduce a canonical event type (e.g., itemDownload) with fields: itemId, layerId, format, source (Item/HUB/API), actor, userOrgId, clientId/referrer, bytes, duration, ip (optional).

Ensure events include itemId even when initiated by service URL to avoid ambiguous attribution (especially for Feature Layer Views).

Provide a helper in the REST/Python API to resolve view → source service.

Organization-level “Download report”

A new Single report type alongside Activity/Credits/Item View Count/Service Usage, returning one row per download event and a summary sheet (per item & per format).

Hub integration

Surface Hub/Open Data downloads in the same metric so admins don’t need to stitch GA4/Matomo with Portal History.

Optional toggle to include/exclude anonymous Hub traffic, with privacy-safe aggregation.

Admin controls & definitions

Clear definition of what does/doesn’t count (exclude JSON table queries used by Map Viewer/Dashboards; count only server-generated files/replicas).

Configurable retention and a way to archive/export beyond the default horizon.

Who would use this?


Admins, data product owners, Open Data teams, and anyone reporting dataset adoption/usage to funders or internal stakeholders.

Acceptance criteria (examples)


Exporting a layer to File Geodatabase increments the item’s Downloads count with format=fgdb.

Creating a replica via REST increments format=replica with bytes and actor.

Triggering a Hub dataset download increments the same counter and attributes the source to Hub.

Org Download report lists these events and totals per item, per day.

Nice-to-have


API endpoints in Admin & Python API to query per-item download stats.

Distinguish unique downloaders (when authenticated) vs total downloads.

Per-layer granularity for multi-layer services.

Environment
ArcGIS Online (hosted). Admin privileges. Items: hosted Feature Service / Feature Layer (hosted) & Feature Layer Views.