# Subnautica2Maps Plausible access check

Task: t_ff3e33a9
Date: 2026-05-19
Production: https://subnautica2maps.com/

## Verdict

Blocked. The production site currently loads official Plausible (`https://plausible.io/js/script.js`) with `data-domain="subnautica2maps.com"`, but no valid API/dashboard access is available from this worker.

Do not mark analytics as handed over yet.

## Verified evidence

### Frontend script

Checked:
- https://subnautica2maps.com/
- https://subnautica2maps.com/map
- https://subnautica2maps.pages.dev/

Result:
- script: `https://plausible.io/js/script.js`
- data-domain/site_id candidate: `subnautica2maps.com`

### Cloudflare Pages project

Project exists:
- project: `subnautica2maps`
- domains: `subnautica2maps.pages.dev`, `subnautica2maps.com`, `www.subnautica2maps.com`
- production branch: `main`
- build_config web analytics: none
- production/preview env vars: no Plausible/analytics env vars found

### Official Plausible API/dashboard

Host: `https://plausible.io`

Aggregate query:

```text
GET /api/v1/stats/aggregate?site_id=subnautica2maps.com&period=day&metrics=visitors,pageviews,events
Authorization: Bearer $PLAUSIBLE_API_KEY
```

Result:

```json
{"error":"Invalid API key or site ID. Please make sure you're using a valid API key with access to the site you've requested."}
```

Status: `401`

Custom event breakdown query:

```text
GET /api/v1/stats/breakdown?site_id=subnautica2maps.com&period=day&property=event:goal&metrics=events&limit=100
Authorization: Bearer $PLAUSIBLE_API_KEY
```

Result: `401 Invalid API key or site ID`

Public dashboard:

```text
https://plausible.io/subnautica2maps.com -> 404
```

### Self-hosted Plausible check

Hosts checked:
- `https://plausible.shipsolo.io`
- `http://127.0.0.1:8000` (local Docker Plausible)

Results:
- dashboard `/<site_id>`: `404`
- aggregate API with existing `PLAUSIBLE_API_KEY`: `401 Invalid API key or site ID`
- local Plausible Postgres `sites` table does not contain `subnautica2maps.com`

Conclusion: self-hosted Plausible is not currently the active endpoint for this site, and the site has not been created there.

## Current secret status

Available secret name:
- `PLAUSIBLE_API_KEY` exists in `/etc/environment`, but it is not valid for `subnautica2maps.com` on `plausible.io`, `plausible.shipsolo.io`, or local `127.0.0.1:8000`.

No valid read-only Plausible token with access to `subnautica2maps.com` was found.

## Read-only query method once token is provided

Recommended env name:

```text
PLAUSIBLE_API_KEY=<read-only Plausible API token with access to subnautica2maps.com>
PLAUSIBLE_HOST=https://plausible.io
PLAUSIBLE_SITE_ID=subnautica2maps.com
```

Aggregate:

```bash
curl -sS "$PLAUSIBLE_HOST/api/v1/stats/aggregate?site_id=$PLAUSIBLE_SITE_ID&period=day&metrics=visitors,pageviews,events" \
  -H "Authorization: Bearer $PLAUSIBLE_API_KEY"
```

Custom event breakdown:

```bash
curl -sS "$PLAUSIBLE_HOST/api/v1/stats/breakdown?site_id=$PLAUSIBLE_SITE_ID&period=day&property=event:goal&metrics=events&limit=100" \
  -H "Authorization: Bearer $PLAUSIBLE_API_KEY"
```

Expected events to verify after frontend fixes land:
- `map_search`
- `map_filter_apply`
- `marker_open`
- `route_calculate`
- `resource_detail_view`
- `blueprint_detail_view`
- `feedback_submit`

Current production code still has known naming gaps from parent report: `map_search_change` and `map_marker_open` instead of `map_search` and `marker_open`; `route_calculate` and `feedback_submit` were not detected by the parent task.

## Required unblock decision

Choose one path:

1. Official Plausible path:
   - Confirm/create dashboard `subnautica2maps.com` under `https://plausible.io`.
   - Provide a valid read-only API token with access to that site.
   - Store it as `PLAUSIBLE_API_KEY` or tell workers the exact env name.

2. Self-hosted Plausible path:
   - Create site `subnautica2maps.com` in `https://plausible.shipsolo.io`.
   - Generate/provide a valid API token for that instance.
   - Change production frontend script from `https://plausible.io/js/script.js` to `https://plausible.shipsolo.io/js/script.js`.

Until one path is done, 墨析 cannot verify 24h/7d pageview/custom-event data through dashboard or API.
