{"id":35070,"date":"2025-12-21T16:36:43","date_gmt":"2025-12-21T09:36:43","guid":{"rendered":"https:\/\/dps.media\/toi-uu-hoa-du-lieu-marketing-cai-dat-metabase-self-hosted-tren-vps-theo-yeu-cau\/"},"modified":"2025-12-21T16:37:00","modified_gmt":"2025-12-21T09:37:00","slug":"marketing-data-optimization-install-metabase-self-hosted-on-vps-as-required","status":"publish","type":"post","link":"https:\/\/dps.media\/en\/marketing-data-optimization-install-metabase-self-hosted-on-vps-as-required\/","title":{"rendered":"Marketing Data Optimization: Custom Setup of Metabase Self-Hosted on VPS"},"content":{"rendered":"<?xml encoding=\"utf-8\" ?><h2>Benefits of Self-Hosted Metabase for marketing businesses<\/h2><p>Self-hosted Metabase helps marketing businesses fully control their data. You are not dependent on expensive cloud services. Customer data and ads performance are always ready for analysis.<\/p><p>According to the 2023 VietnamWorks report, 68% of Vietnamese SMEs face difficulties in accessing real-time data. Metabase solves this problem effectively. Agencies like <a class=\"wpil_keyword_link\" href=\"https:\/\/dps.media\/en\/\" title=\"DPS.MEDIA JSC\" data-wpil-keyword-link=\"linked\" data-wpil-monitor-id=\"636\">DPS.MEDIA<\/a> use it to optimize ROI quickly.<\/p><p>Hosting on your own VPS ensures high security. Sensitive marketing data is absolutely protected. Operating costs are 40-60% lower than SaaS.<\/p><h3>Accelerate marketing decision-making speed<\/h3><p>The Metabase dashboard displays real-time metrics from Facebook Ads and Google Ads. The marketing team grasps trends immediately. No more waiting for delayed Excel reports.<\/p><p>You can create funnel analysis and cohort retention in just 5 minutes. Beautiful visualizations easily persuade stakeholders. Conversion rates increase by an average of 15-25% after implementation.<\/p><p>Important insight: Integrating Metabase with Google Analytics 4 helps discover hidden insights that the GA4 dashboard does not display.<\/p><ul>\n<li>Identify key marketing KPIs that need to be tracked daily<\/li>\n<li>Set up database connections with ads platforms<\/li>\n<li>Create real-time dashboards for the sales &amp; marketing team<\/li>\n<li>If using Facebook Ads Manager, sync data every 15 minutes<\/li>\n<li>Test query performance before sharing the dashboard<\/li>\n<li>Schedule automated weekly email reports<\/li>\n<\/ul><h3>Long-term Cost Savings for SMEs<\/h3><p>Cloud SaaS like Tableau and Power BI charge per user\/month. Self-hosted Metabase only costs about 200,000 VND\/month for VPS. Scale according to actual business needs.<\/p><p>With a traffic of 10,000 sessions\/day, a 4GB RAM VPS is sufficient. Automatic backups, 99.9% uptime. No worries about unexpected overage fees.<\/p><p>Actual case: An agency in HCM City saved 180 million\/year after switching to self-hosted. ROI from data visualization doubled.<\/p><p><img decoding=\"async\" src=\"https:\/\/dps.media\/wp-content\/uploads\/2025\/12\/photo-1551288049-bebda4e38f71-7.jpg\" alt=\"\" title=\"\"><\/p><h2>Professional Metabase installation process on VPS<\/h2><p>DPS.MEDIA deploys Metabase according to enterprise standards. From choosing the VPS, setting up the server to migrating old data. Ensuring zero downtime for the business.<\/p><p>We use Ubuntu 22.04 LTS with Docker containers. Metabase runs stably, easy to scale horizontally when needed. PostgreSQL as the backend database.<\/p><p>Complete setup time is only 4-6 hours. Your IT team can manage it easily after 2 hours of training.<\/p><h3>Choose optimal VPS configuration for marketing data<\/h3><p>VPS needs at least 4GB RAM, 2 CPU cores, 100GB SSD. DigitalOcean, Vultr, Viettel IDC are all suitable. Choose a Singapore data center for the lowest latency.<\/p><p>For agencies running 5+ campaigns simultaneously, 8GB RAM is recommended. Database size under 50GB still runs smoothly. Supplement with Prometheus + Grafana monitoring.<\/p><p>Pro tip: Use a reserved static IP to whitelist in Facebook Business Manager.<\/p><table class=\"wp-block-table\">\n<thead>\n<tr>\n<th>Configuration<\/th>\n<th>Small traffic<\/th>\n<th>Medium traffic<\/th>\n<th>Large agency<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>RAM<\/td>\n<td>4GB<\/td>\n<td>8GB<\/td>\n<td>16GB<\/td>\n<\/tr>\n<tr>\n<td>CPU<\/td>\n<td>2 cores<\/td>\n<td>4 cores<\/td>\n<td>8 cores<\/td>\n<\/tr>\n<tr>\n<td>Storage<\/td>\n<td>100GB SSD<\/td>\n<td>200GB SSD<\/td>\n<td>500GB NVMe<\/td>\n<\/tr>\n<tr>\n<td>Cost\/month<\/td>\n<td>200k VND<\/td>\n<td>500k VND<\/td>\n<td>1.2m VND<\/td>\n<\/tr>\n<tr>\n<td>Recommendations<\/td>\n<td>SMBs<\/td>\n<td>Growing biz<\/td>\n<td>Agency<\/td>\n<\/tr>\n<\/tbody>\n<\/table><ol>\n<li>Choose a VPS provider with 99.9% uptime SLA<\/li>\n<li>Install clean Ubuntu 22.04 LTS<\/li>\n<li>Set up firewall only opening ports 3000, 5432<\/li>\n<li>If using a domain, configure Nginx reverse proxy<\/li>\n<li>Enable free Let's Encrypt SSL<\/li>\n<li>Daily backup to S3 bucket<\/li>\n<\/ol><h3>Install Docker &amp; Metabase container<\/h3><p>Docker helps isolate Metabase from the system. Pull the latest official image. Volume mapping keeps data persistent through container restarts.<\/p><p>postgres:13-alpine as a database companion. Environment variables config database name, user, password. Health check ensures the service is always ready.<\/p><p>The automated script used by DPS.MEDIA has been tested with 50+ projects. Zero error deployment.<\/p><p><img decoding=\"async\" src=\"https:\/\/dps.media\/wp-content\/uploads\/2025\/12\/photo-1706535849689-59e888460d10-1.jpg\" alt=\"\" title=\"\"><\/p><h2>Integrate Metabase with the marketing ecosystem<\/h2><p>Metabase connects natively with Google BigQuery, Postgres, MySQL. Facebook Ads and Google Ads via Supermetrics or BigQuery export. All data in one place for analysis.<\/p><p>Custom SQL queries for complex marketing metrics. LTV calculation, multi-touch attribution model. No need for expensive data engineers.<\/p><p>Alert system notifies when CAC exceeds the threshold. The team reacts immediately to protect the budget.<\/p><h3>Connect Facebook &amp; Google Ads data<\/h3><p>Facebook Ads Manager exports CSV daily automatically via API. Google Ads uses native OAuth2 connector. Data syncs real-time every 15 minutes.<\/p><p>Create calculated fields for ROAS and CTR benchmarks by industry. Dashboards compare performance at the campaign and adset level. Spot underperforming ads immediately.<\/p><p>Real-world example: Agency A discovered 30% of the budget was poured into ineffective adsets thanks to the Metabase dashboard. Optimized immediately, ROI increased 42% the following month.<\/p><ul>\n<li>Setup Google Cloud service account for BigQuery<\/li>\n<li>Config Facebook API token with ads_read permission<\/li>\n<li>Create custom metrics: ROAS = Revenue \/ Ad Spend<\/li>\n<li>If tracking offline conversion, sync CRM data<\/li>\n<li>Build cohort analysis for customer retention<\/li>\n<li>Export professional monthly PDF reports<\/li>\n<\/ul><h3>Build in-depth marketing dashboards<\/h3><p>Main dashboard includes 6 tiles: Overview KPIs, Funnel Analysis, Channel Performance, Geo Analysis, A\/B Test Results, Forecast Revenue. Each tile is drillable.<\/p><p>Use native chart types: Sankey for funnel, Heatmap for geo performance. Flexible filters by date range and campaign type.<\/p><p><img decoding=\"async\" src=\"https:\/\/dps.media\/wp-content\/uploads\/2025\/12\/photo-1674027392887-751d6396b710.jpg\" alt=\"\" title=\"\"><\/p><h2>Security &amp; Scaling Metabase for enterprises<\/h2><p>3-layer security: Network firewall, App level auth, Data encryption. SSO integration with Google Workspace, Azure AD. Detailed role-based access control.<\/p><p>Scale horizontally using Docker Swarm or Kubernetes. Load balancer distributes traffic. Redis caching increases query speed by 300%.<\/p><p>Backup strategy 3-2-1 rule: 3 copies, 2 media types, 1 offsite. Recovery time objective under 4 hours.<\/p><h3>Setup authentication &amp; user management<\/h3><p>Disable public signup, only admin creates users. Group permissions by team: Marketing view-only, Analyst edit query, Admin full access.<\/p><p>LDAP\/SSO for enterprise. Mandatory 2FA for admin users. Session timeout at 30 minutes of inactivity.<\/p><p>Audit log tracks every query and dashboard access. Detect unauthorized access immediately.<\/p><ol>\n<li>Enable SSO with Google Workspace<\/li>\n<li>Setup user groups by department<\/li>\n<li>Config 2FA for all admin users<\/li>\n<li>If there are compliance requirements, enable audit log<\/li>\n<li>Review permissions quarterly<\/li>\n<li>Test disaster recovery monthly<\/li>\n<\/ol><h3>Monitoring &amp; performance optimization<\/h3><p>Prometheus + Grafana monitor CPU, RAM, and query latency. Slack\/Email alerts when resources &gt; 80%. Auto-scaling script when needed.<\/p><p>Database indexing for frequently queried tables. 24h query cache for static reports. CDN for dashboard static assets.<\/p><p>Insight: 80% of performance issues come from unindexed foreign keys in ads data tables.<\/p><p><img decoding=\"async\" src=\"https:\/\/dps.media\/wp-content\/uploads\/2025\/12\/photo-1706248504630-d165ae5f7134.jpg\" alt=\"\" title=\"\"><\/p><h2>Why choose DPS.MEDIA services for Metabase<\/h2><p>7 years of experience in digital marketing data infrastructure. Set up for 50+ agencies and SMEs. Available dashboard templates for 12 popular industries.<\/p><p>24\/7 support in Vietnamese. 99.9% uptime SLA guarantee. Clear fixed price packages, no hidden fees.<\/p><p>Free migration from Looker Studio and Google Data Studio. Onsite or online training options. Guaranteed ROI within the first 3 months.<\/p><h3>Service packages suitable for every business size<\/h3><p>Basic package 15m: VPS Setup + Metabase + 3 basic dashboards. Pro package 35m: Full integrations + custom metrics + training. Enterprise package 75m+: SSO, scale infra, dedicated support.<\/p><p>All packages have a monthly maintenance fee of 2m. 30-day money-back if not satisfied.<\/p><table class=\"wp-block-table\">\n<thead>\n<tr>\n<th>Service packages<\/th>\n<th>Basic<\/th>\n<th>Pro<\/th>\n<th>Enterprise<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Setup VPS + Metabase<\/td>\n<td>\u2713<\/td>\n<td>\u2713<\/td>\n<td>\u2713<\/td>\n<\/tr>\n<tr>\n<td>Integrations (FB, GG Ads)<\/td>\n<td>3<\/td>\n<td>8+<\/td>\n<td>All<\/td>\n<\/tr>\n<tr>\n<td>Custom dashboards<\/td>\n<td>3<\/td>\n<td>10<\/td>\n<td>Unlimited<\/td>\n<\/tr>\n<tr>\n<td>Training<\/td>\n<td>Video<\/td>\n<td>Onsite<\/td>\n<td>Dedicated<\/td>\n<\/tr>\n<tr>\n<td>Support<\/td>\n<td>Email<\/td>\n<td>24\/7<\/td>\n<td>Account Manager<\/td>\n<\/tr>\n<\/tbody>\n<\/table><h3>Successful real-world case studies<\/h3><p>Agency X in Hanoi serves 25 beauty brand SMEs. Previously used Google Sheets to track ads. Switched to Metabase after 1 month, the team saved 20 hours\/week reconciling data.<\/p><p>Discovery: 25% of the Facebook ads budget was wasted on ineffective peak hours. Optimized timing, CAC decreased by 35%. Satisfied clients, retention rate increased by 40%.<\/p><p>They expanded to 12 new clients thanks to real-time proof-of-concept dashboards sent to partners.<\/p>\n<style>\r\n.lwrp.link-whisper-related-posts{\r\n            \r\n            margin-top: 40px;\nmargin-bottom: 30px;\r\n        }\r\n        .lwrp .lwrp-title{\r\n            \r\n            \r\n        }.lwrp .lwrp-description{\r\n            \r\n            \r\n\r\n        }\r\n        .lwrp .lwrp-list-container{\r\n        }\r\n        .lwrp .lwrp-list-multi-container{\r\n            display: flex;\r\n        }\r\n        .lwrp .lwrp-list-double{\r\n            width: 48%;\r\n        }\r\n        .lwrp .lwrp-list-triple{\r\n            width: 32%;\r\n        }\r\n        .lwrp .lwrp-list-row-container{\r\n            display: flex;\r\n            justify-content: space-between;\r\n        }\r\n        .lwrp .lwrp-list-row-container .lwrp-list-item{\r\n            width: calc(33% - 20px);\r\n        }\r\n        .lwrp .lwrp-list-item:not(.lwrp-no-posts-message-item){\r\n            \r\n            max-width: 150px;\r\n        }\r\n        .lwrp .lwrp-list-item img{\r\n            max-width: 100%;\r\n            height: auto;\r\n            object-fit: cover;\r\n            aspect-ratio: 1 \/ 1;\r\n        }\r\n        .lwrp .lwrp-list-item.lwrp-empty-list-item{\r\n            background: initial !important;\r\n        }\r\n        .lwrp .lwrp-list-item .lwrp-list-link .lwrp-list-link-title-text,\r\n        .lwrp .lwrp-list-item .lwrp-list-no-posts-message{\r\n            \r\n            \r\n            \r\n            \r\n        }@media screen and (max-width: 480px) {\r\n            .lwrp.link-whisper-related-posts{\r\n                \r\n                \r\n            }\r\n            .lwrp .lwrp-title{\r\n                \r\n                \r\n            }.lwrp .lwrp-description{\r\n                \r\n                \r\n            }\r\n            .lwrp .lwrp-list-multi-container{\r\n                flex-direction: column;\r\n            }\r\n            .lwrp .lwrp-list-multi-container ul.lwrp-list{\r\n                margin-top: 0px;\r\n                margin-bottom: 0px;\r\n                padding-top: 0px;\r\n                padding-bottom: 0px;\r\n            }\r\n            .lwrp .lwrp-list-double,\r\n            .lwrp .lwrp-list-triple{\r\n                width: 100%;\r\n            }\r\n            .lwrp .lwrp-list-row-container{\r\n                justify-content: initial;\r\n                flex-direction: column;\r\n            }\r\n            .lwrp .lwrp-list-row-container .lwrp-list-item{\r\n                width: 100%;\r\n            }\r\n            .lwrp .lwrp-list-item:not(.lwrp-no-posts-message-item){\r\n                \r\n                max-width: initial;\r\n            }\r\n            .lwrp .lwrp-list-item .lwrp-list-link .lwrp-list-link-title-text,\r\n            .lwrp .lwrp-list-item .lwrp-list-no-posts-message{\r\n                \r\n                \r\n                \r\n                \r\n            };\r\n        }<\/style>\r\n<div id=\"link-whisper-related-posts-widget\" class=\"link-whisper-related-posts lwrp\">\r\n            <div class=\"lwrp-title\">Related Posts<\/div>    \r\n        <div class=\"lwrp-list-container\">\r\n                                <div class=\"lwrp-list lwrp-list-row-container lwrp-list-double-row\">\r\n                <div class=\"lwrp-list-item\"><a href=\"https:\/\/dps.media\/en\/awe-dropping-event-organized-on-september-10-is-attractive\/\" class=\"lwrp-list-link\"><span class=\"lwrp-list-link-title-text\">Apple organizes the \"Awe Dropping\" event on September 10, attracting attention.<\/span><\/a><\/div><div class=\"lwrp-list-item\"><a href=\"https:\/\/dps.media\/en\/cheap-facebook-seeding-service-package-to-increase-likes-and-comments\/\" class=\"lwrp-list-link\"><span class=\"lwrp-list-link-title-text\">Cheap Facebook Seeding Service, Package \u2013 Increase Likes, Comments<\/span><\/a><\/div><div class=\"lwrp-list-item\"><a href=\"https:\/\/dps.media\/en\/complete-tiktok-shop-documentation-on-regulations-and-terms-that-sellers-need-to-know\/\" class=\"lwrp-list-link\"><span class=\"lwrp-list-link-title-text\">TikTok Shop Document: Everything About Rules, Terms Sellers Need to Know<\/span><\/a><\/div>                <\/div>\r\n                            <div class=\"lwrp-list lwrp-list-row-container lwrp-list-double-row\">\r\n                <div class=\"lwrp-list-item\"><a href=\"https:\/\/dps.media\/en\/how-to-design-banners-for-seo-standard-websites-and-optimize-the-interface\/\" class=\"lwrp-list-link\"><span class=\"lwrp-list-link-title-text\">How to design SEO standard and interface optimized banners for websites<\/span><\/a><\/div><div class=\"lwrp-list-item\"><a href=\"https:\/\/dps.media\/en\/facebook-banner-design-ideas-and-cost-optimization-methods\/\" class=\"lwrp-list-link\"><span class=\"lwrp-list-link-title-text\">Facebook banner design price and cost optimization methods<\/span><\/a><\/div><div class=\"lwrp-list-item\"><a href=\"https:\/\/dps.media\/en\/reliable-blue-tick-verification-service-for-facebook-instagram-dps-media\/\" class=\"lwrp-list-link\"><span class=\"lwrp-list-link-title-text\">Reputable Facebook Instagram Green Accumulation Service \u2013 DPS.MEDIA<\/span><\/a><\/div>                <\/div>\r\n                <\/div>\r\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Explore Metabase self-hosted installation service on VPS dedicated for marketing businesses. Data autonomy, realtime ad campaign analysis, cost savings and increased digital business efficiency. DPS.MEDIA supports full package!<\/p>","protected":false},"author":0,"featured_media":35072,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1720,1742,1755,1635,1756],"tags":[],"class_list":["post-35070","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-case-study","category-cong-nghe-marketing","category-data-analytics","category-digital-marketing","category-toi-uu-hoa-chi-phi"],"acf":[],"rankmath_keywords":{"primary":"Metabase self-hosted, c\u00e0i \u0111\u1eb7t Metabase VPS, ph\u00e2n t\u00edch d\u1eef li\u1ec7u marketing, dashboard marketing realtime, t\u1ed1i \u01b0u h\u00f3a ROI qu\u1ea3ng c\u00e1o","secondary":["c\u00e0i \u0111\u1eb7t Metabase VPS","ph\u00e2n t\u00edch d\u1eef li\u1ec7u marketing","dashboard marketing realtime","t\u1ed1i \u01b0u h\u00f3a ROI qu\u1ea3ng c\u00e1o"]},"yoast_keywords":{"primary":"","secondary":[]},"yoast_focuskw":"","rankmath_focuskw":"Metabase self-hosted, c\u00e0i \u0111\u1eb7t Metabase VPS, ph\u00e2n t\u00edch d\u1eef li\u1ec7u marketing, dashboard marketing realtime, t\u1ed1i \u01b0u h\u00f3a ROI qu\u1ea3ng c\u00e1o","seo_keywords":{"primary":"Metabase self-hosted, c\u00e0i \u0111\u1eb7t Metabase VPS, ph\u00e2n t\u00edch d\u1eef li\u1ec7u marketing, dashboard marketing realtime, t\u1ed1i \u01b0u h\u00f3a ROI qu\u1ea3ng c\u00e1o","secondary":["c\u00e0i \u0111\u1eb7t Metabase VPS","ph\u00e2n t\u00edch d\u1eef li\u1ec7u marketing","dashboard marketing realtime","t\u1ed1i \u01b0u h\u00f3a ROI qu\u1ea3ng c\u00e1o"]},"_links":{"self":[{"href":"https:\/\/dps.media\/en\/wp-json\/wp\/v2\/posts\/35070","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dps.media\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dps.media\/en\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/dps.media\/en\/wp-json\/wp\/v2\/comments?post=35070"}],"version-history":[{"count":2,"href":"https:\/\/dps.media\/en\/wp-json\/wp\/v2\/posts\/35070\/revisions"}],"predecessor-version":[{"id":35076,"href":"https:\/\/dps.media\/en\/wp-json\/wp\/v2\/posts\/35070\/revisions\/35076"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dps.media\/en\/wp-json\/wp\/v2\/media\/35072"}],"wp:attachment":[{"href":"https:\/\/dps.media\/en\/wp-json\/wp\/v2\/media?parent=35070"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dps.media\/en\/wp-json\/wp\/v2\/categories?post=35070"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dps.media\/en\/wp-json\/wp\/v2\/tags?post=35070"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}