Marketing Dashboard in 30 Minutes - The Definitive Step-by-Step Guide in Google Sheets


How many hours a week do you waste copying and pasting data for your marketing reports? Let’s be honest: it’s one of the most tedious and error-prone tasks for any analyst. That time, your most valuable asset, could be invested in analyzing trends, optimizing campaigns, and generating real impact.
Creating reports is crucial, but manual processes are tedious. They consume time, are boring, and take you away from your true function: strategic analysis.
The good news is it doesn’t have to be this way. In this guide, we’ll teach you a 7-step method to build a robust, automated, and professional marketing dashboard in Google Sheets. The best part? Once you master the flow, you can do it in less than 30 minutes. Get ready to free up your time and focus on strategy.
Step 1: Data Centralization (The Brain of the Report)
Every report starts with clean, centralized data. The goal is to have all your raw information in one place (your Google Sheet), but in separate tabs by source. This maintains order. Once you define which data sources will feed your report, it’s time to download them.
Option A: Automatic Connectors (The Fast Track)
If you’re looking for maximum efficiency, automation tools are your best allies. Connectors like Detrics can extract data from Meta Ads, Google Ads, Shopify, and more, to dump it directly into your Google Sheet. If you’ve already installed Detrics, open a new Spreadsheet and open the sidebar in Extensions > Detrics > Launch to start creating your automated data flows.
Set up a tab for each source: “Raw_Meta”, “Raw_Google”, “Raw_Shopify”. Schedule updates to run daily and you’ll forget about manual downloads forever.
Tip: We always recommend using colors to differentiate raw data, which comes directly from the connector you’ve used, from data generated or manipulated by formulas. In the example shown below, we’ll use ARRAYFORMULA to fix the channel in each tab. Array formula allows us to apply a formula not just to one cell, but to an entire row or column without having to manually drag each time the data updates and our table gets longer.
In black, you can see the column headers that bring raw information from the connector. That data comes directly from the platform to your Sheets. In Blue, the column where we define the channel is a column of data generated by formulas.
Analyzing the Arrayformula formula
=ARRAYFORMULA( IF( ISBLANK(A2:A) , , "Meta" ) )
- ARRAYFORMULA activates “for the entire column” mode.
- Inside each cell, the IF starts working. The first thing it does is ask ISBLANK: “Hey, check the adjacent cell in column A. Is it empty?” (For example, if the formula is in B2, it checks A2. If it’s in B3, it checks A3, and so on).
- ISBLANK responds to the IF with a TRUE or FALSE.
- The IF makes the final decision based on the response:
- If ISBLANK says TRUE (the cell in A is empty), the IF formula returns the second value. In your formula it’s ,,. That double comma with nothing in between means “do nothing, leave it blank”.
- If ISBLANK says FALSE (the cell in A is not empty), the IF formula returns the third value, which in this case is the word “Meta”.
Option B: Manual Download (Not Recommended)
If you don’t have access to connectors, the manual method is still valid. Export your reports from each platform (for example, a CSV with Meta Ads campaign data) and paste them into their corresponding tab.
Key advice: Make sure the column structure is consistent across all tabs. A typical order is: Date, Campaign, Investment, Clicks, Impressions, Conversions, Revenue. If you used Detrics, you can order the columns after running your Queries with the Sort & Order fields function.
Step 2: Unify Raw Data
Now that you have your data in different tabs, the next step is to unify it into a single master and consolidated database. Create a new tab called “Consolidated”. This is where the magic happens.
The Importance of a Consolidated Database
Having all the data in one table is the secret to efficiency. It allows your summary formulas (like sums or averages) to work on a single data range, substantially simplifying dashboard construction.
Using VSTACK to Stack Data
If all your raw data tabs have exactly the same columns in the same order, VSTACK is your best option. This formula “stacks” data ranges on top of each other.
In cell A1 of your “Consolidated” tab, write:
={'Raw_Meta'!A1:G1; VSTACK('Raw_Meta'!A2:G; 'Raw_Google'!A2:G)}
{'Raw_Meta'!A1:G1; ...}
: This takes the headers from one of your tabs.VSTACK(...)
: Vertically stacks all the data (without headers) from the Raw_Meta and Raw_Google tabs.
Using QUERY to Unify and Filter
The QUERY function is like having SQL language inside Google Sheets. It’s incredibly powerful and flexible. It allows you to select, filter, and sort data.
Important: For this formula to work correctly, it’s crucial that the columns in your Raw_Meta and Raw_Google tabs are in the same order. Otherwise, the data will be misaligned in the consolidated table.
To unify, you can use a construction with curly braces . In cell A1 of “Consolidated”, write:
={QUERY('Raw_Meta'!A:G, "SELECT * WHERE A IS NOT NULL");
QUERY('Raw_Google'!A2:G, "SELECT * WHERE A IS NOT NULL")}
{... ; ...}
: The curly braces and semicolon stack the results of the two QUERY queries."SELECT * WHERE A IS NOT NULL"
: Selects all columns (*) but only from rows where column A (the date) is not empty. This avoids bringing blank rows.
Step 3: Name Ranges - Your Best Practice for the Future
This is the step that differentiates an amateur analyst from a professional one. Naming ranges will transform the readability and maintenance of your report.
What is a Named Range and Why Should You Use It?
A Named Range is simply a label you assign to a set of cells. Instead of referring to the investment column as Consolidated!D2:D1000, you can call it “Consolidated_Investment”.
Key benefits:
- Readable Formulas: SUM(Consolidated_Investment) is much easier to understand than SUM(‘Consolidated’!D2:D1000).
- Simple Maintenance: If your database grows and now reaches row 2000, all formulas using it will update automatically.
- Error Prevention: Avoid problems when copying or dragging formulas, since the reference is descriptive.
How to Create a Named Range in 2 Clicks
- Go to your “Consolidated” tab and select the entire column you want to name (e.g., column D, which contains investment).
- Go to Data menu > Named ranges.
- A sidebar will open. Write a descriptive name like Consolidated_Investment (no spaces) and click “Done”.
- Repeat this for your key metrics and dimensions: Consolidated_Country, Consolidated_Date, Consolidated_Clicks, Consolidated_Conversions, etc.
Step 4: Design the Frontend (Your Visualization Canvas)
With the database ready and named ranges, it’s time to create the visible face of your report.
Creating the “Dashboard” Tab
Create a new tab called “Dashboard”. This will be the only tab you share with stakeholders. It should be clear and focused on the results that you or your client consider important.
Structuring Main KPIs
Design a simple layout. Create a table where you’ll list your most important metrics. For now, leave the result cells empty. It’s important to order them by hierarchy, from most important for the business to least important:
- Conversions
- Total Investment
- ROAS (Return on Ad Spend)
- Impressions
- Clicks
- CTR (Click-Through Rate)
- CVR (Conversion rate)
- CPA (Cost per Acquisition)
Step 5 (Optional but Recommended): Make Your Dashboard Dynamic
A static report is useful, but a dynamic one is a powerful tool. Let’s add a dropdown menu to filter data by country, client, or channel.
The Power of Dropdown Menus
- Create an auxiliary tab called “Aux” or “Config”.
- In cell A1, use the UNIQUE formula to extract a list without duplicates of all countries, clients, or channels from your consolidated database
=UNIQUE(Consolidated_Channel)
;=UNIQUE(Consolidated_Country)
Implementing Data Validation
- Return to your “Dashboard” tab. Select a cell where you want the dropdown menu to appear (e.g., C1).
- Go to Data > Data validation.
- In “Criteria”, choose “List from a range”.
- Click the grid icon and select the range from the “Aux” tab where you created the list of countries, channels, etc… To make it truly dynamic, choose the entire column without considering the header
- Click “Save”. You now have your dropdown menu!
Step 6: Populate the Frontend and Bring Data to Life
Now we connect the logic with the visualization. We’ll use summary formulas that feed from our named ranges and the dynamic filter.
Formulas for Summarizing Data
The star here is SUMIFS (or SUMAR.SI.CONJUNTO in Spanish). It allows you to sum a column only if certain conditions in other columns are met.
Example: In the cell where you want to display the total investment of your campaigns, write:
=SUMIFS(Consolidated_Investment, Consolidated_Channel, C1)
- Consolidated_Investment: The range we want to sum (our named range!).
- Consolidated_Channel: The range where we’ll apply the criterion.
- C1: The cell that contains our dropdown menu.
Now, when you change the Channel in the dropdown menu, the investment will update automatically! Repeat this logic for other metrics like Clicks and Conversions.
Another of our favorites is the SUM and FILTER combination
=SUM(FILTER(Consolidated_Investment,Consolidated_Channel=C1))
With this combination, SUM will only sum the data that FILTER filters, and in this case, it’s when the channel from the consolidated base equals cell C1 (the dropdown we created)
Calculating Derived Metrics Safely (with IFERROR)
The most interesting metrics are often ratios (CPA, ROAS, CTR, etc.). However, these formulas often involve division, which can generate errors like #DIV/0! if the denominator is zero (for example, 0 conversions or 0 clicks). This not only looks unprofessional but can break charts.
The solution is to wrap your formula with the IFERROR function.
Example for CPA (Cost per Acquisition):
- Standard formula (with risk):
=Investment_Cell / Conversions_Cell
- Safe formula (recommended):
=IFERROR(Investment_Cell / Conversions_Cell, 0)
The IFERROR function works like this: “Try to do this calculation. If it works, show the result. If it gives an error, show this other value (in our case, a 0)”. This keeps your dashboard clean and functional at all times.
Step 7: The Final Touch - Formatting and Charts
A good report is not only functional but also visually appealing.
Branding and Readability
Use your company’s or your client’s colors. Use conditional formatting (Format > Conditional formatting) so that cells change color if a value is positive (green) or negative (red), as in the case of CPA variation.
Creating Impactful Charts
- Evolution Chart: Select your date data and a key metric (e.g., Conversions) and go to Insert > Chart. A line chart is ideal for showing trends over time.
- Distribution Chart: To see which channels or campaigns contribute most, a pie or bar chart is perfect. Show, for example, the distribution of investment by source.
Conclusion: Intelligence, not Effort
Congratulations! You’ve gone from having multiple disorganized files to a functional, dynamic, and efficient marketing dashboard in less than 30 minutes.
You’ve learned to centralize data, unify it with powerful formulas like VSTACK and QUERY, and implement one of the industry’s best practices: named ranges and error-proof formulas with IFERROR.
Remember, the key is not to work harder, but to build intelligent systems. This method not only saves you countless hours but also minimizes human errors and allows you to dedicate your valuable time to what really matters: analyzing data and making strategic decisions.