Skip to content

數據分析

追蹤並分析您的短網址表現。

概覽

Open Short URL 為所有短網址提供全面的數據分析功能,包含即時點擊追蹤、地理位置資料、裝置資訊、來源追蹤等。

分析端點

整體概覽

GET /api/analytics/overview?startDate=2025-01-01&endDate=2025-01-31

回應:

json
{
  "totalClicks": 15420,
  "uniqueVisitors": 12350,
  "totalUrls": 156,
  "clicksByDate": [
    { "date": "2025-01-01", "clicks": 520 },
    { "date": "2025-01-02", "clicks": 480 }
  ],
  "topUrls": [
    { "id": "url_123", "slug": "summer-sale", "clicks": 3200 }
  ]
}

單一網址分析

GET /api/analytics/urls/{id}?startDate=2025-01-01&endDate=2025-01-31

回應:

json
{
  "urlId": "url_123",
  "totalClicks": 3200,
  "uniqueVisitors": 2850,
  "clicksByDate": [...],
  "geographic": {...},
  "devices": {...},
  "browsers": {...},
  "referrers": {...}
}

指標

點擊追蹤

指標說明
總點擊數所有點擊總和
不重複訪客依 IP 去重後的訪客數
點擊趨勢每日/每週/每月點擊數

地理資料

json
{
  "geographic": {
    "countries": [
      { "code": "TW", "name": "Taiwan", "clicks": 1200 },
      { "code": "US", "name": "United States", "clicks": 800 }
    ],
    "cities": [
      { "city": "Taipei", "country": "TW", "clicks": 650 },
      { "city": "New York", "country": "US", "clicks": 320 }
    ]
  }
}

可用欄位:

欄位說明
country國家代碼(ISO 3166-1)
region州/省
city城市
clicks該位置的點擊數

裝置資訊

json
{
  "devices": {
    "types": [
      { "type": "MOBILE", "clicks": 1800, "percentage": 56.25 },
      { "type": "DESKTOP", "clicks": 1200, "percentage": 37.5 },
      { "type": "TABLET", "clicks": 200, "percentage": 6.25 }
    ],
    "operatingSystems": [
      { "os": "iOS", "clicks": 1000, "percentage": 31.25 },
      { "os": "Android", "clicks": 800, "percentage": 25.0 },
      { "os": "Windows", "clicks": 700, "percentage": 21.88 }
    ]
  }
}

瀏覽器

json
{
  "browsers": [
    { "browser": "Chrome", "clicks": 1400, "percentage": 43.75 },
    { "browser": "Safari", "clicks": 900, "percentage": 28.13 },
    { "browser": "Firefox", "clicks": 500, "percentage": 15.63 }
  ]
}

來源追蹤

json
{
  "referrers": [
    { "source": "google.com", "clicks": 800 },
    { "source": "facebook.com", "clicks": 500 },
    { "source": "direct", "clicks": 1200 }
  ]
}

UTM 參數

追蹤行銷活動效果:

json
{
  "utm": {
    "sources": [
      { "source": "newsletter", "clicks": 600 },
      { "source": "google", "clicks": 400 }
    ],
    "mediums": [
      { "medium": "email", "clicks": 600 },
      { "medium": "cpc", "clicks": 350 }
    ],
    "campaigns": [
      { "campaign": "summer_sale", "clicks": 450 }
    ]
  }
}

日期範圍

支援的範圍

參數說明
startDate開始日期(ISO 8601)
endDate結束日期(ISO 8601)
timezone時區(例如:Asia/Taipei)

範例:

GET /api/analytics/urls/{id}?startDate=2025-01-01&endDate=2025-01-31&timezone=Asia/Taipei

預設值

設定預設值
最大範圍365 天
預設範圍過去 30 天

機器人偵測

自動偵測並分類機器人流量:

取得機器人分析

GET /api/analytics/urls/{id}/bots?startDate=2025-01-01&endDate=2025-01-31

回應:

json
{
  "totalBotClicks": 450,
  "botPercentage": 14.06,
  "botTypes": [
    { "type": "Googlebot", "clicks": 200 },
    { "type": "Bingbot", "clicks": 120 },
    { "type": "Others", "clicks": 130 }
  ]
}

整體機器人分析

GET /api/analytics/bots/overview

資料匯出

匯出分析資料

GET /api/analytics/export?format=csv&startDate=2025-01-01&endDate=2025-01-31

參數:

參數說明選項
format匯出格式csv、json
startDate開始日期ISO 8601
endDate結束日期ISO 8601
urlId特定網址(選填)URL ID

CSV 格式

csv
date,url_id,slug,clicks,unique_visitors,country,device
2025-01-01,url_123,summer-sale,520,480,TW,MOBILE
2025-01-01,url_123,summer-sale,120,100,US,DESKTOP

JSON 格式

json
{
  "exportDate": "2025-01-15T10:00:00Z",
  "dateRange": {
    "start": "2025-01-01",
    "end": "2025-01-31"
  },
  "data": [
    {
      "date": "2025-01-01",
      "urlId": "url_123",
      "slug": "summer-sale",
      "clicks": 520,
      "uniqueVisitors": 480,
      "geographic": {...}
    }
  ]
}

即時點擊

最近點擊記錄

GET /api/analytics/urls/{id}/clicks/recent?limit=20

回應:

json
{
  "clicks": [
    {
      "id": "click_123",
      "timestamp": "2025-01-15T10:30:00Z",
      "ip": "192.168.x.x",
      "country": "TW",
      "city": "Taipei",
      "device": "MOBILE",
      "os": "iOS",
      "browser": "Safari",
      "referer": "https://facebook.com",
      "isBot": false
    }
  ]
}

快取

分析資料會被快取以提升效能:

端點快取時間
整體概覽5 分鐘
網址分析5 分鐘
即時點擊不快取

隱私考量

資料收集

收集項目說明
IP 位址用於地理位置(可匿名化)
User Agent用於裝置/瀏覽器偵測
Referer用於來源追蹤
時間戳記用於趨勢分析

不收集的資料

  • 個人識別資訊(PII)
  • Cookie 追蹤
  • 跨網站追蹤

GDPR 合規

  • 可設定 IP 匿名化
  • 支援資料保留政策
  • 提供資料匯出功能

A/B 測試分析

取得變體分析

GET /api/analytics/urls/{id}/ab-test?startDate=2025-01-01&endDate=2025-01-31

回應:

json
{
  "urlId": "url_123",
  "variants": [
    {
      "variantId": "var_a",
      "name": "變體 A",
      "clicks": 1600,
      "percentage": 50.0,
      "conversionRate": 3.2
    },
    {
      "variantId": "var_b",
      "name": "變體 B",
      "clicks": 1600,
      "percentage": 50.0,
      "conversionRate": 4.1
    }
  ]
}

速率限制

端點限制
分析查詢60 次/分鐘
資料匯出10 次/分鐘

最佳實踐

1. 設定合理的日期範圍

  • 報表查詢使用較短範圍
  • 避免一次查詢超過 90 天
  • 使用分頁處理大量資料

2. 利用快取

  • 相同查詢會返回快取結果
  • 在快取期間內重複查詢更有效率

3. 定期匯出

  • 設定定期匯出排程
  • 備份重要的分析資料
  • 整合到您的資料倉儲

4. 監控機器人流量

  • 定期檢查機器人比例
  • 異常高的機器人流量可能表示問題
  • 將機器人資料與人類流量分開分析

下一步

Released under the MIT License.