{"id":50666950,"url":"https://github.com/seamapi/connect-webview-metrics","last_synced_at":"2026-06-08T07:06:30.493Z","repository":{"id":337074965,"uuid":"1131410303","full_name":"seamapi/connect-webview-metrics","owner":"seamapi","description":"Metabase dashboard documentation and SQL queries for Connect Webview funnel analysis","archived":false,"fork":false,"pushed_at":"2026-01-10T00:49:08.000Z","size":40,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-02T18:03:55.156Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/seamapi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-10T00:48:01.000Z","updated_at":"2026-01-10T00:49:11.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/seamapi/connect-webview-metrics","commit_stats":null,"previous_names":["seamapi/connect-webview-metrics"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/seamapi/connect-webview-metrics","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seamapi%2Fconnect-webview-metrics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seamapi%2Fconnect-webview-metrics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seamapi%2Fconnect-webview-metrics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seamapi%2Fconnect-webview-metrics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/seamapi","download_url":"https://codeload.github.com/seamapi/connect-webview-metrics/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seamapi%2Fconnect-webview-metrics/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34051798,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-08T02:00:07.615Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-08T07:05:34.361Z","updated_at":"2026-06-08T07:06:30.488Z","avatar_url":"https://github.com/seamapi.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Connect Webview Funnel \u0026 Error Analysis Dashboard\n\n## Overview\n\nThis dashboard provides comprehensive analysis of connect webview performance, drop-off points, errors, and conversion metrics across all providers.\n\n## Quick Stats (Last 30 Days - Verified)\n\n- **Total Webviews**: ~43,000\n- **Overall Success Rate**: ~15%\n- **Most Common Drop-off**: brand_select_pane (11,700 webviews)\n- **Fastest Authorizations**: 45% complete in \u003c 30 seconds\n\n## Critical Issues Identified\n\n1. **Brivo Integration**: 97% failure rate - requires immediate investigation\n2. **Brand Selection Abandonment**: 27% of users never select a provider\n3. **Kwikset Login Issues**: 87% abandonment at login pane\n4. **Generic Error Messages**: 99.7% of errors show as \"unknown_error\"\n\n## Important: Funnel Analysis\n\n⚠️ **Different providers have different authentication flows!**\n\n- OAuth providers (schlage, august): use `redirect_pane`\n- Credential providers (kwikset, yale): use `login_pane`  \n- Fields providers (wyze, lockly): use `fields_pane`\n\n**Three funnel approaches:**\n1. **Mixed Funnel** (02): Quick overview, combines all flows\n2. **Per-Provider Funnel** (02b): ⭐ Most accurate, filter by provider\n3. **Abstract Funnel** (02c): Universal stages, works across all providers\n\n**📖 Read FUNNEL_GUIDE.md for detailed explanation and best practices**\n\n## Implementation Guide\n\n### Prerequisites\n\n- Access to Metabase instance\n- Database connection to seam database already configured in Metabase\n- Permissions to create questions and dashboards\n\n### Step 1: Create Questions (Queries)\n\nNavigate to the `queries/` directory and create each query as a \"Question\" in Metabase:\n\n1. **01_kpi_metrics.sql** - Overall funnel metrics (Number visualization)\n2. **02_funnel_stages.sql** - Mixed funnel (all providers) ⚠️ See FUNNEL_GUIDE.md\n   - **02b_funnel_by_provider.sql** - Per-provider funnel ⭐ RECOMMENDED\n   - **02c_funnel_by_flow_type.sql** - Abstract universal funnel\n3. **03_top_errors.sql** - Top errors by count (Table)\n4. **04_provider_performance.sql** - Provider comparison (Table + Bar chart)\n5. **05_daily_trends.sql** - Daily trend analysis (Line chart)\n6. **06_event_analysis.sql** - Event analysis (Table)\n7. **07_failed_panes.sql** - Failed webviews by pane (Table)\n8. **08_time_to_authorize.sql** - Time-to-authorize by provider (Table)\n9. **09_abandoned_webviews.sql** - Abandoned webviews by stage (Table)\n10. **10_authorization_time_dist.sql** - Authorization time distribution (Bar chart)\n11. **11_errors_by_provider.sql** - Errors by provider (Table)\n\n### Step 2: Set Up Parameters\n\nCreate these parameters in Metabase:\n\n1. **date_from**: Date parameter, default: `relative_datetime(-30, 'day')`\n2. **date_to**: Date parameter, default: `relative_datetime(0, 'day')`\n3. **min_attempts**: Number parameter, default: `50`\n\n### Step 3: Create Dashboard\n\n1. Create a new dashboard named \"Connect Webview Funnel \u0026 Error Analysis\"\n2. Add questions in this layout:\n\n#### Row 1: KPI Cards (Full Width)\n- Add question #1 (KPI Metrics)\n- Configure as 5 separate number cards:\n  - Total Webviews\n  - Successful\n  - Failed\n  - Pending/Abandoned\n  - Success Rate %\n\n#### Row 2: Funnel Visualization (Full Width)\n- Add question #2 (Funnel Stages)\n- Visualize as Funnel Chart\n\n#### Row 3: Two Columns\n- **Left**: Question #3 (Top Errors) - Table\n- **Right**: Question #11 (Errors by Provider) - Table\n\n#### Row 4: Provider Performance (Full Width)\n- Add question #4 (Provider Performance)\n- Create two visualizations:\n  1. Table showing all metrics\n  2. Bar chart showing success_rate by provider\n\n#### Row 5: Trends (Full Width)\n- Add question #5 (Daily Trends)\n- Line chart with dual Y-axes (volume + success rate)\n\n#### Row 6: Three Columns\n- **Left**: Question #7 (Failed Panes)\n- **Middle**: Question #9 (Abandoned Webviews)\n- **Right**: Question #10 (Authorization Time Distribution)\n\n#### Row 7: Two Columns\n- **Left**: Question #8 (Time to Authorize by Provider)\n- **Right**: Question #6 (Event Analysis)\n\n### Step 4: Add Dashboard Filters\n\n1. Click \"Add Filter\" → \"Time\" → Connect to all questions\n2. Click \"Add Filter\" → \"Text or Category\" → Label: \"Provider\" → Connect to `selected_provider` field\n3. Default date range: Last 30 days\n\n### Step 5: Add Documentation Cards\n\nAdd markdown text cards between sections:\n\n1. **Above KPIs**: Explain what the success/failure/pending statuses mean\n2. **Above Funnel**: Explain the different pane stages\n3. **Above Errors**: Note about generic \"unknown_error\" issue\n4. **Above Provider Performance**: How to interpret success vs failure vs abandonment rates\n\n### Step 6: Configure Auto-Refresh\n\n1. Dashboard settings → Auto-refresh: 30 minutes\n2. Save dashboard\n\n## Using the Dashboard\n\n### Key Metrics to Monitor\n\n1. **Success Rate Trends**: Watch for sudden drops indicating integration issues\n2. **Provider Performance**: Identify which providers need attention\n3. **Error Messages**: Look for spikes in specific error types\n4. **Abandonment Points**: Find where users drop off most frequently\n\n### Interpreting Results\n\n**High Pending Count**: Users started but didn't complete - may indicate UX issues or confusion\n\n**High Failure Rate**: Integration or authentication problems - requires engineering investigation\n\n**Brand Select Pane Abandonment**: Users aren't seeing their desired provider or are confused by options\n\n**Long Authorization Times**: May indicate API slowness or complex authentication flows\n\n### Recommended Actions\n\n1. **Daily**: Check KPI metrics for anomalies\n2. **Weekly**: Review provider performance table for new issues\n3. **Monthly**: Analyze trends to identify long-term patterns\n4. **Ad-hoc**: Investigate specific providers when alerted to issues\n\n## Query Optimization Notes\n\n- All queries are optimized for recent data (typically 30-90 days)\n- Queries use indexes on `created_at`, `workspace_id`, and `selected_provider`\n- Event analysis query may be slow for large date ranges - limit to 7-30 days\n\n## Maintenance\n\n- Review and update error categorization quarterly\n- Add new providers to provider list as they're onboarded\n- Monitor query performance and add indexes if needed\n\n## Support\n\nFor issues with:\n- **Dashboard display**: Contact Metabase admin\n- **Data accuracy**: Contact Data Engineering team\n- **Connect webview issues**: Contact Platform team\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseamapi%2Fconnect-webview-metrics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseamapi%2Fconnect-webview-metrics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseamapi%2Fconnect-webview-metrics/lists"}