{
  "type": "sitemetricz_weekly_portfolio_export",
  "version": 1,
  "generatedAt": "2026-04-05T19:31:34.637Z",
  "timezone": "Asia/Manila",
  "account": {
    "accountId": "demo-account",
    "plan": "platinum",
    "siteCount": 1
  },
  "windows": {
    "current": {
      "start": "2026-03-29",
      "end": "2026-04-04"
    },
    "previous": {
      "start": "2026-03-22",
      "end": "2026-03-28"
    }
  },
  "generatedDuringExport": false,
  "exportNotes": {
    "tablesAreTopN": true,
    "tablesRowLimit": {
      "queries": 500,
      "pages": 100
    },
    "moverMinVolumeRule": {
      "previousImpressionsGte": 100,
      "previousClicksGte": 10
    }
  },
  "portfolio": {
    "gsc": {
      "clicks_total_current": 1920,
      "clicks_total_previous": 1622,
      "impressions_total_current": 21540,
      "impressions_total_previous": 18870,
      "ctr_current": 0.0891,
      "ctr_previous": 0.086
    },
    "ga4": {
      "organicSearchSessions_total_current": 3120,
      "organicSearchSessions_total_previous": 2716,
      "organicSearchSessions_delta": 404,
      "organicSearchSessions_deltaPct": 0.1487481590574374,
      "sessions_total_current": 3120,
      "sessions_total_previous": 2716,
      "users_total_current": 2475,
      "users_total_previous": 2150,
      "engagementRate_current": 0.641,
      "engagementRate_previous": 0.606
    }
  },
  "highlights": {
    "portfolioSummary": {
      "sitesTotal": 1,
      "sitesWithGsc": 1,
      "sitesWithGa4": 1
    },
    "topImprovingSitesByGscClicksDelta": [
      {
        "siteId": "demo-example-site",
        "domain": "example.com",
        "gscClicksDelta": 298
      }
    ],
    "topDecliningSitesByGscClicksDelta": [],
    "topImprovingSitesByGa4SessionsDelta": [
      {
        "siteId": "demo-example-site",
        "domain": "example.com",
        "ga4SessionsDelta": 404
      }
    ],
    "topDecliningSitesByGa4SessionsDelta": [],
    "anomalies": [],
    "missingData": []
  },
  "sites": [
    {
      "siteId": "demo-example-site",
      "domain": "example.com",
      "label": "Example.com",
      "status": "OK",
      "kpis": {
        "gsc": {
          "clicks": {
            "current": 1920,
            "previous": 1622,
            "delta": 298,
            "deltaPct": 0.18372379778051787
          },
          "impressions": {
            "current": 21540,
            "previous": 18870,
            "delta": 2670,
            "deltaPct": 0.14149443561208266
          },
          "ctr": {
            "current": 0.0891,
            "previous": 0.086,
            "delta": 0.0031000000000000055
          },
          "avgPosition": {
            "current": null,
            "previous": null,
            "delta": null
          }
        },
        "ga4": {
          "organicSearchSessions": {
            "current": 3120,
            "previous": 2716,
            "delta": 404,
            "deltaPct": 0.1487481590574374
          },
          "sessions": {
            "current": 3120,
            "previous": 2716,
            "delta": 404,
            "deltaPct": 0.1487481590574374
          },
          "users": {
            "current": 2475,
            "previous": 2150,
            "delta": 325,
            "deltaPct": 0.1511627906976744
          },
          "engagementRate": {
            "current": 0.641,
            "previous": 0.606,
            "delta": 0.03500000000000003
          },
          "avgEngagementTime": {
            "current": null,
            "previous": null,
            "delta": null
          }
        }
      },
      "tables": {
        "topQueriesCurrent": [
          {
            "query": "example analytics",
            "clicks": 430,
            "impressions": 7600,
            "ctr": 0.056578947368421055,
            "avgPosition": null
          },
          {
            "query": "example dashboard",
            "clicks": 401,
            "impressions": 7250,
            "ctr": 0.055310344827586205,
            "avgPosition": null
          },
          {
            "query": "offline seo report",
            "clicks": 372,
            "impressions": 6900,
            "ctr": 0.05391304347826087,
            "avgPosition": null
          },
          {
            "query": "ga4 alternative",
            "clicks": 343,
            "impressions": 6550,
            "ctr": 0.05236641221374046,
            "avgPosition": null
          },
          {
            "query": "gsc metrics preview",
            "clicks": 314,
            "impressions": 6200,
            "ctr": 0.05064516129032258,
            "avgPosition": null
          }
        ],
        "topPagesCurrent": [
          {
            "page": "https://example.com/",
            "clicks": 520,
            "impressions": 6800,
            "ctr": 0.07647058823529412,
            "avgPosition": null
          },
          {
            "page": "https://example.com/pricing",
            "clicks": 489,
            "impressions": 6520,
            "ctr": 0.075,
            "avgPosition": null
          },
          {
            "page": "https://example.com/docs/getting-started",
            "clicks": 458,
            "impressions": 6240,
            "ctr": 0.0733974358974359,
            "avgPosition": null
          },
          {
            "page": "https://example.com/blog/offline-analytics-demo",
            "clicks": 427,
            "impressions": 5960,
            "ctr": 0.07164429530201342,
            "avgPosition": null
          },
          {
            "page": "https://example.com/features",
            "clicks": 396,
            "impressions": 5680,
            "ctr": 0.06971830985915493,
            "avgPosition": null
          }
        ]
      },
      "drivers": {
        "queryWinnersByClicksDelta": [],
        "queryLosersByClicksDelta": [],
        "pageWinnersByClicksDelta": [],
        "pageLosersByClicksDelta": [],
        "channelMixCurrent": [],
        "channelMixPrevious": []
      },
      "opportunities": {
        "queryQuickWins": [],
        "ctrLeaks": []
      },
      "warnings": {
        "lowData": false,
        "notes": []
      }
    }
  ],
  "prompt": {
    "suggested": "You are an SEO + analytics consultant. Analyze the attached SiteMetricz weekly portfolio export JSON.\n\nRules:\n\n• Use ONLY numbers/fields present in the JSON. Do NOT invent causes.\n• Do NOT assume backlink data, algorithm updates, or technical audit data unless explicitly included.\n• Be specific: mention the exact site, query, and page URL when available.\n• If something is missing, say “not available in export.”\n• Do NOT sum CTR or engagement rate across sites. If you need a portfolio CTR/engagement-rate, compute it as weighted (CTR = total clicks / total impressions; engagement rate weighted by sessions). If you can’t compute it, omit it.\n• Treat GA4 Organic Search sessions as the primary traffic trend KPI. Keep total sessions/users as secondary context.\n• If Organic Search and Total traffic diverge, explicitly say: “Organic vs total diverged; likely channel mix/bot changes—use organic as the reliable trend.”\n\nOutput format:\n\n• Use headings and bullet points.\n• For each metric cited, include current value, previous value, and delta% (if available).\n\nDeliverables:\n\n1. Portfolio summary\n• Separate sections for GSC and GA4.\n• For GA4, lead with Organic Search sessions trend first, then include total sessions/users as secondary context.\n• For each: total clicks/impressions (GSC) and total sessions/users/organic-search-sessions (GA4) across sites (sum only additive metrics).\n2. Top movers (ranked)\nProvide 4 lists (avoid mixing metrics):\n• Top 5 improving sites by GSC clicks delta\n• Top 5 declining sites by GSC clicks delta\n• Top 5 improving sites by GA4 sessions delta\n• Top 5 declining sites by GA4 sessions delta\nIgnore ultra-low-volume sites when ranking (e.g., previous impressions < 100 and previous clicks < 10), and mention them separately in data quality notes.\nIf no sites qualify for improvers after filtering, say exactly: “No sites met the minimum volume for a reliable ‘improvers’ ranking this week.”\n3. Top 5 sites needing attention (ranked)\nRank primarily by absolute impact (|GSC clicks delta| + |GA4 sessions delta|) using meaningful-volume sites first. Use percentage deltas only as tie-breakers. For each site, include key deltas for:\n• GSC clicks/impressions/CTR/avg position (if present)\n• GA4 sessions/users/engagement rate\n4. Action plan for those 5 sites\nFor each site: 3 concrete actions, each with:\n• Why (cite numbers)\n• Where to look (specific query/page examples)\n• Effort (Low/Med/High) + Impact (Small/Med/Large)\n5. Top 5 quick wins across the portfolio\nPrioritize:\n• queries/pages with high impressions and avg position 4–12, OR\n• high impressions + low CTR (“CTR leaks”)\nInclude exact query/page and the recommended change (title/meta/internal links/content update).\n6. Data quality notes\n• Missing GA4/GSC sites, low-volume sites, anomalies, and any fields not present.\n• Do not expect topQueries/topPages totals to equal KPI totals; these tables are top-N samples (row-limited).",
    "notes": [
      "This export includes GA4 + GSC API data only."
    ]
  }
}