メインコンテンツへスキップ
4分で読めます

インストール状態

リアルタイム グローブを監視せずに、Zenovay トラッカーが正しく動作しているかを検証できます。Install Health エンドポイントは、トラッカーの最近のアクティビティ、サイトの到達性、現在の Cookie レス・同意記録の構成、そして対応すべき問題のリストを構造化して返します。

この URL をブラウザで直接開くことはできません。 エンドポイントは Bearer JWT を必要とします。新しいタブで URL を開くと 401 Missing or invalid authorization header が返されます。レポートを表示する方法:

  1. ダッシュボード (推奨)app.zenovay.com にサインインし、ドメインを開いて 設定 → インストール状態 をクリックします。
  2. API — 有効な Bearer JWT (ダッシュボード セッション トークン) を付けてエンドポイントを呼び出します。下記の API リファレンス を参照してください。

表示場所

Zenovay ダッシュボードで:

  1. ドメイン ページを開き、対象のドメインをクリックします。
  2. 設定 を開き、インストール状態 タブをクリックします。
  3. レポートは 30 秒ごとに自動的に更新されます。更新 ボタンで強制的に再チェックできます。

レスポンスの読み方

各呼び出しは次のフィールドを持つ JSON オブジェクトを返します。

フィールド意味
last_event_seen_atISO8601 | nullこのサイトのイベントを Zenovay が最後に受信したタイムスタンプ。
minutes_since_last_eventnumber | null上記の便利な派生値。
last_event_count_5mnumber直近 5 分間に受信したページビュー + カスタム イベント。
last_event_count_24hnumber直近 24 時間の同じ指標。
script_reachableboolean | nullサーバー側からドメインへの HEAD プローブの結果。null = プローブがブロックまたはサンドボックス、false = HTTP エラー、true = サイトが正常に応答。
script_versionstring | nullZenovay が現在配信しているトラッカーのバージョン。
csp_blocking_suspectedboolean将来のヒューリスティック用に予約。V1 では常に false
cookieless_enabledbooleanダッシュボードの Cookie レス トグルが有効になっている、または 配信される HTML に Zenovay スクリプト タグの data-cookieless="true" が含まれている いずれかの場合に true。SPA が別の JS バンドルからスクリプト タグを動的に注入する場合 (Next.js、動的ローダー) は HTML スキャンで検出できません — その場合はダッシュボードの設定を明示的にオンにしてください。
consent_recording_activebooleanこのサイトで Cookie 同意バナー (CMP) が構成されているか。これはセッション リプレイではありません — セッション記録はドメイン → 設定 → レポート で制御される別の Pro+ 機能です。
last_5_event_typesstring[]直近 5 件のカスタム イベント タイプ。
issuesarray診断によって検出されたアクション可能な項目 — 下記参照。

ダッシュボードのステータス カラー

タブ上部の 4 枚のカードは次のしきい値を使用します。

  • — 直近 5 分以内にイベントを受信。
  • — 直近 1 時間以内、ただし直近 5 分以内ではない。
  • — 1 時間以上イベントなし、または一度もイベントを受信していない。

よくある問題と対処

issues 配列は Zenovay が返す可能性のある診断コードを列挙します。各エントリには severity、安定した code、人間が読める messagefix_url が含まれます。

コード重要度意味対処
awaiting_first_eventinfoサイトが作成されてから 24 時間未満で、まだイベントが受信されていません。サイトをリロードして最初のページビューを送信してください。
script_never_installederrorこのトラッキング コードに対するイベントを Zenovay が一度も受信していません。トラッキング スクリプト がすべてのページに設置されているか確認してください。
silent_trackererrorイベント間の現在の間隔がこのサイトの通常の間隔の 10 倍以上になっています (下限 6 時間、上限 7 日)。サイトが直近 24 時間に 5 件以上のイベントを受信している場合のみ発火します — 1 日 1 訪問者程度の個人サイトでは誤発火しません。スクリプト タグが残っているか、広告ブロッカーがリクエストを遮断していないか、Content Security Policy が api.zenovay.com をブロックしていないかを確認してください。
tracker_quietwarn現在の間隔がこのサイトの通常の間隔の 3 倍以上になっています (下限 1 時間、上限 24 時間)。サイトが直近 24 時間に 10 件以上のイベントを受信している場合のみ発火します。低トラフィック サイトは意図的に警告されません。新しいタブでサイトを開き、トラッキングが続いているか確認してください。警告には実際の間隔と通常の間隔が含まれているため、本当の障害かどうかを判断できます。
site_not_reachablewarnZenovay はサイトに到達しましたが、HTTP エラーを受信しました。ホスティング プロバイダーのステータスを確認してください。
probe_blockedinfoネットワークまたは CSP ルールがプローブをブロックしました。トラッカー自体は動作している可能性があります。情報のみ — 直近イベントのカウンターと比較してください。
sandbox_detectedinfoドメインが既知の開発パターン (localhost*.vercel.app*.netlify.app など) に一致します。ステージング環境では想定どおりです。

実際に何が送信されているか確認したいですか? Debug Overlay を有効にし、サイトの任意の URL に ?zenovay_debug=1 を付けてアクセスしてください。トラッカーが送信した直近 20 件のイベントが個人情報をマスクした状態で表示されます — Install Health が tracker_quiet を返したときに、特定のページが実際にイベントを発火しているかを確認するのに便利です。

メール アラート (ドメインごとにオプトイン)

診断がドメインで silent_tracker エラーを検出すると、Zenovay はサイトの所有者に 1 回限りのメールを送信します。イベントが再開されると、1 回限りの「復旧通知」メールが届きます。1 つの障害につき最大 1 通のメール — 5 層の重複排除でスパムを防止します:

  1. cron は 1 分ごとではなく、6 時間ごとに実行されます。
  2. silent_tracker のしきい値自体が、最低 6 時間の間隔を要求します。
  3. 直近 24 時間で 5 件未満のイベントしかないサイトは、アラートをトリガーしません (1 日 1 訪問者の個人ブログには決してメールが届きません)。
  4. 内部のステート マシンは遷移時のみ発火します (正常 → 沈黙、または 沈黙 → 正常)。連続する cron 実行では発火しません。
  5. メール ログの冪等性キーは障害の最初の沈黙のタイムスタンプに固定されています — ステート マシンのバグであっても、1 つの障害につき 2 通のサイレント メールを送信することはできません。

サンドボックス/開発ドメイン (localhost*.vercel.app*.netlify.app*.pages.dev*.workers.dev*.test*.local) は、アラートから完全に除外されます。

ドメインごとのアラートは、ドメイン → 設定 → インストール状態 → メール アラート で切り替えます。デフォルトはオンです。

API リファレンス

GET/api/install-health/:trackingCode

単一のサイトに対する認証必須の診断。

URL: https://api.zenovay.com/api/install-health/<YOUR_TRACKING_CODE><YOUR_TRACKING_CODE> を実際のコード (例: ZV_AbCdEf...) に置き換えてください。ルート定義では Express スタイルの :trackingCode 表記を使用していますが、先頭のコロンは実際の URL には含まれません

認証: Bearer JWT (ダッシュボードのセッション トークン)。

キャッシュ: ダッシュボードのポーリングを軽量に保つため、レスポンスは 30 秒間エッジでキャッシュされます。

プライバシー: レスポンスに個人データ (IP アドレス、User-Agent 文字列、リファラー値) は含まれません — カウント、フラグ、イベント タイプ名のみです。

リクエスト例

curlBash
# URL の先頭にコロンはありません — ZV_YOUR_TRACKING_CODE を
# app.zenovay.com → ドメイン → 設定 にある実際のコードに置き換えて
# ください。Bearer JWT は必須です。ログイン済みのダッシュボード
# セッションから DevTools → ネットワーク → /api/auth/user 経由で
# コピーしてください。
curl https://api.zenovay.com/api/install-health/ZV_YOUR_TRACKING_CODE \
-H "Authorization: Bearer $YOUR_JWT"

レスポンス例

200 OKJSON
{
"last_event_seen_at": "2026-05-02T21:15:42.110Z",
"minutes_since_last_event": 0,
"last_event_count_5m": 12,
"last_event_count_24h": 1843,
"script_reachable": true,
"script_version": "v2.0.1",
"csp_blocking_suspected": false,
"cookieless_enabled": true,
"consent_recording_active": false,
"last_5_event_types": ["pageview", "click", "scroll", "form_submit", "outbound_click"],
"issues": []
}

このエンドポイントは意図的に認証必須となっています。トラッキング コードは事実上公開情報 (サイトの HTML に埋め込まれている) なので、認証なしの診断には独自の不正利用対策が必要になります。ダッシュボードの JWT を使用してください。

このページは役に立ちましたか?