← All portfolio

Marketing Intelligence + AI

AI Analysis & Business Intelligence Agent

Built an automated cross-channel analysis system that collects daily marketing and CRM data, turns it into a management dashboard, and produces weekly AI-assisted diagnosis and recommendations with explicit confidence and data-quality guardrails.

Build complete · running daily · final weekly validation pendingCross-channel analytics · Funnel health · Diagnosis · Recommendations · Business impact
Role
System designer, KPI framework owner, workflow builder, and analysis-rule designer
Timeline
2026 · ongoing
Stack
n8n · GA4 · Google Search Console · Instagram Graph API · Meta Ads · Supabase · Google Sheets · Looker Studio · Telegram · LLM
System status
Build complete · running daily · final weekly validation pending
01 / Business problem

I already had reports. The problem was that they did not talk to each other.

Website traffic, SEO, social, paid media, and CRM each had their own metrics. Looking at one channel at a time could explain what changed inside that channel, but not whether the overall funnel was healthier or where the business problem actually started.

01Channel reports were disconnected

GA4, Search Console, Instagram, Meta Ads, and CRM could all move in different directions. A marketer still had to connect the story manually.

02Metrics needed one definition

CTR, qualified-lead rate, funnel stages, and other KPIs needed a fixed dictionary so the AI could not silently redefine a metric while reasoning.

03AI should not calculate business numbers

Letting an LLM calculate totals, deltas, or conversion rates creates avoidable risk. The system needed deterministic calculations before AI interpretation.

04Missing data could create false confidence

A failed API call should not become zero performance or a reassuring weekly report. The system needed explicit data-quality and confidence rules.

02 / System design

Code calculates the numbers. AI interprets what they may mean.

The system runs three n8n workflows: a Daily Collector, per-article SEO analysis, and a Weekly Insight workflow. Daily metrics are normalized into a shared time series, visualized in a five-page Looker Studio dashboard, and summarized into a weekly management-level diagnosis delivered through Telegram.

01
Source dataGA4, Search Console, Instagram, Meta Ads, and Supabase CRM
02
Daily CollectorRun at 07:00 WIB, normalize metrics, validate data, and write the daily record
03
Performance historyOne row per day with 24 columns that feed the dashboard and trend analysis
04
Looker StudioFive pages for executive view, SEO/content, ads/social, funnel/CRM, and findings
05
Weekly InsightCompare the most recent 7 days with the previous 7 days using code-calculated deltas
06
AI diagnosisExplain likely causes, alternatives, missing evidence, confidence, and business impact
07
TelegramSend the top five findings plus the Looker Studio link and daily anomaly alerts
03 / What the system does

Built to turn metrics into a management decision, not another dashboard.

01Daily cross-channel collection

The collector runs automatically every day at 07:00 WIB across GA4, Search Console, Instagram, Meta Ads, and CRM. Sales and CRM data now come from Supabase.

02Five-page management dashboard

Looker Studio provides Executive Summary, SEO & Content, Ads & Social, Funnel & CRM, and Findings & Recommendations views from the normalized performance history.

03Weekly comparative analysis

Every Monday, the system compares the last 7 days with the 7 days before that, then passes the prepared evidence to the AI for diagnosis and recommendation.

04Deterministic KPI calculation

Totals, changes, and business metrics are calculated in code. The AI does not calculate the source numbers; it explains and prioritizes them.

05Confidence-based recommendations

Recommendations use KEEP, WATCH, INVESTIGATE, OPTIMIZE, SCALE, or PAUSE. OPTIMIZE, SCALE, and PAUSE are blocked when confidence is below 0.55.

06Data-quality guardrails

Each source retries up to three times. Failed data remains blank instead of becoming a false zero, and incomplete weekly data produces a 'belum bisa dianalisis' message rather than a fake normal report.

04 / Current proof

The system is already collecting production data every day.

The build is complete and daily automation is running. Source numbers have been reconciled with the original platforms and live-run testing has passed. One validation remains: the first weekly AI analysis using 14 days of real production data, expected around 28 September 2026.

DAILYAutomated collection at 07:00 WIBGA4, Search Console, Instagram, Meta Ads, and Supabase CRM feed the daily performance record.
5Looker Studio pagesExecutive, SEO & Content, Ads & Social, Funnel & CRM, and Findings & Recommendations.
HITLAnalysis only, no executionThe agent recommends and alerts. It does not change ads, publish content, or contact leads.
05 / Before → after

Less scattered activity. More operating clarity.

Reporting
Before

Performance lived across separate platform reports and manual checks.

After

Daily metrics are normalized into one performance history and management dashboard.

Cross-channel interpretation
Before

The marketer had to manually connect traffic, content, ads, social, and CRM changes.

After

Weekly Insight compares periods and creates one prioritized cross-channel management view.

Metric calculation
Before

Analysis depended on manual calculations or could tempt the AI to compute numbers itself.

After

Code owns the calculations. AI receives prepared metrics and focuses on diagnosis and recommendation.

Root-cause confidence
Before

A plausible explanation could easily sound more certain than the evidence.

After

Evidence is separated into observed, platform-reported, inferred, and correlation-only signals with explicit confidence.

Missing data
Before

A failed source could create an incomplete report that looked valid.

After

Retries, blank values, data-quality checks, and a 'cannot analyze yet' state prevent false conclusions.

Management delivery
Before

Insights still needed to be manually summarized after checking dashboards.

After

Telegram delivers the five highest-priority findings and links directly to the supporting dashboard.

06 / Proof of work

The strongest part is not the dashboard. It is the guardrail around the analysis.

These diagrams summarize the current production architecture and reasoning rules while avoiding raw backend screenshots and private CRM data.

Diagram showing cross-channel data sources flowing into the Daily Collector, dashboard, Weekly Insight, and Telegram
System architectureCross-Channel Analysis Flow

The data layer is deterministic first. AI enters after metrics are normalized and ready for interpretation.

Diagram showing observed fact, likely cause, alternative explanation, missing evidence, confidence, and recommendation classes
Reasoning guardrailFrom Signal to Recommendation

The system separates facts from interpretation and blocks strong optimization actions when evidence confidence is too low.

Current state

Build complete, final production validation pending

  • Daily Metrics schema is complete. The Performance tab stores one daily row with 24 columns.
  • The Data Collector runs automatically every day at 07:00 WIB.
  • Search Console data is collected using H-3 because that source is not complete immediately.
  • CRM data now comes from Supabase, and the most recent 14 days are recalculated daily because admin entries can arrive late.
  • The five-page Looker Studio dashboard is complete.
  • Weekly Insight is built and scheduled every Monday, but its first full AI analysis with 14 days of real production data is still waiting for enough history.
  • Telegram delivery, daily anomaly alerts, and failure handling are complete.
  • Platform numbers have been checked against their original sources and matched. Live-run testing has passed.
Next layer

Finish validation, then use it as the intelligence layer for the workforce

  • Run the first weekly AI analysis against 14 days of real production data around 28 September 2026 and validate it with the final checklist.
  • Review recommendation quality, false positives, confidence scoring, and whether the top-five prioritization is useful in real operating conditions.
  • Feed validated findings to specialist agents later instead of expanding this agent into an execution engine.
  • Use the Analysis Agent as the intelligence layer that informs the future Orchestrator while preserving specialist ownership.
Boundaries / limitations
The final weekly AI validation with 14 days of real production data has not happened yet as of 16 September 2026.Google Ads is intentionally excluded because the business is not using it in this analysis stack.GA4 conversion reporting is intentionally excluded because conversion tracking is not configured for this workflow.Deep per-campaign, per-ad, and per-creative paid-media analysis belongs to the separate Marketing Ads Agent.The deeper funnel after Lead, including Qualified to Won or Lost, is intentionally not owned by this Analysis Agent.The agent analyzes and recommends only. It does not execute campaign changes, publish content, or contact leads.
Key takeaway

The goal was not to make AI read more dashboards. It was to give the business one reliable layer that calculates the facts first, explains what changed second, and only recommends action when the evidence is strong enough.

Start a conversation

Interested in discussing this system or a similar workflow?