Every marketing report contains the same basic elements: data tables, charts, text summaries, and scorecards. Instead of copying and pasting these manually every week, you can automate each element.

This guide shows you how to automate each report element step-by-step. We’ll use Google Ads as an example, but the same approach works for any data source (Meta Ads, LinkedIn Ads, Google Analytics, etc.).

What you’ll learn to automate:

  • Data Tables - Campaign performance tables
  • Scorecards - Key metrics and KPIs
  • Charts - Visual trends and comparisons
  • Text Updates - AI-generated insights and summaries

Report Elements Overview

Most marketing reports contain these elements:

ElementWhat It ShowsExample
Data TableRaw performance dataCampaign names, clicks, cost, conversions
ChartVisual trendsMonthly spend trend, campaign comparison
Text SummaryWritten insights”Brand campaigns had 25% higher CTR this month”
ScorecardKey metricsTotal spend: $12,500, Total conversions: 145

Instead of building one complex workflow, we’ll automate each element separately. This makes it easier to build, test, and troubleshoot.

Creating Data Tables

Most marketing reports start with a data table showing campaign performance, website metrics, or ad results. Instead of manually copying and pasting this data every week, let’s automate it.

The Manual Process (What We’re Replacing)

Normally, to create a data table in Google Slides, you would:

  1. Create a table in Google Slides
  2. Style it with colors, fonts, and formatting
  3. Go to Google Ads (or your data source)
  4. Export or copy the performance data
  5. Paste it into your table
  6. Repeat this every week/month

This is exactly what we’re going to automate.

Overview of Steps

Here’s what we’ll build:

  1. Create a styled table in Google Slides (one-time setup)
  2. Add “alt text” to identify the table (one-time setup)
  3. Build a workflow that pulls fresh data and updates the table
  4. Schedule it to run automatically

What’s Alt Text?

Alt text is normally used for accessibility (describing images to screen readers), but we use it as a unique identifier to tell Markifact which table to update.

You’ll hear about alt text a lot in this guide - it’s the cornerstone of all our updates. Every element we want to automate (tables, charts, text) needs alt text so Markifact knows what to update.

Step 1: Create Your Table in Google Slides

  1. Open Google Slides and create a new presentation
  2. Insert → Table → Choose any size (it will auto-adjust)
  3. Style your table: Add colors, fonts, borders - whatever you like
  4. Right-click the tableAlt text → Set to campaign_table

That’s it! Don’t worry about headers or exact size - Markifact handles all that automatically.

Step 2: Build the Workflow in Markifact

Now let’s create the automation that will update your table.

Create the Workflow

  1. Go to Workflows in Markifact
  2. Click ”+ New Workflow”
  3. Name it: Update Campaign Table

Add a Scheduler

If you want this to run automatically:

  1. Add NodeScheduler
  2. Set it up:
    • Frequency: Weekly
    • Day: Monday
    • Time: 9:00 AM

This will update your table every Monday morning with fresh data.

Add Google Ads Data

  1. Add NodeGoogle AdsGet Report
  2. Connect it to your Scheduler (or skip scheduler for manual runs)
  3. Configure your data:
    • Accounts: Select your Google Ads account
    • Date Range: Last week (or your preferred period)
    • Metrics: Choose what you want to see:
      • Cost
      • Impressions
      • Clicks
      • Conversions
    • Dimensions: Campaign name
    • Options:
      • Pretty Column Names (makes headers readable)
      • Display Currency Symbol (shows $ for cost)
      • Compact Numbers (shows 10K instead of 10,000)

This pulls clean, formatted data that’s ready for your table.

Update Your Google Slides Table

  1. Add NodeGoogle SlidesUpdate Table
  2. Connect it to your Google Ads node
  3. Configure:
    • Presentation URL: Copy/paste your Google Slides URL
    • Table Alt Text: campaign_table (must match what you set earlier)
    • Table Data: Connect the output from your Google Ads node

Step 3: Test It

  1. Click “Run” button in the top right of Markifact
  2. Go to your Google Slides and check your table
  3. Your table now shows fresh Google Ads data with proper headers and formatting

That’s it! Your table updates automatically.

What Just Happened?

  • Markifact found your table using the alt text campaign_table
  • Pulled fresh Google Ads data and automatically created headers (Campaign Name, Cost, Clicks, etc.)
  • Sized the table to fit your data perfectly
  • Preserved your styling (colors, fonts, borders)
  • Formatted the data with currency symbols and readable numbers

Creating Scorecards

Key metrics displayed prominently - total spend, conversions, etc. This is much simpler than tables because we can use the metric names directly.

The Manual Process (What We’re Replacing)

Normally, to create scorecards in your reports, you would:

  1. Go to Google Ads and look up total spend, total clicks, etc.
  2. Copy these numbers manually
  3. Format them properly ($12,450, 2.4%, etc.)
  4. Type these numbers into text boxes in your slides
  5. Repeat this every reporting period

This is exactly what we’re going to automate

Step 1: Prepare Your Slide

  1. Create text boxes for each metric in your Google Slides presentation
  2. Set alt text for each text box to match the Google Ads metric names:
    • Total cost box: cost
    • Total clicks box: clicks
    • Total impressions box: impressions
    • Total conversions box: conversions

Key insight: The alt text matches what Google Ads calls these metrics for easier identification.

Step 2: Get Totals from Google Ads

  1. Add NodeGoogle AdsGet Report
  2. Configure for totals:
    • Accounts: Select your Google Ads account
    • Date Range: Last week (or your preferred period)
    • Metrics: Choose the metrics you want as scorecards:
      • Cost
      • Clicks
      • Impressions
      • Conversions
    • Dimensions: Leave empty (this gives you totals, not per-campaign)
    • Options:
      • Display Currency Symbol (shows $ for cost)
      • Compact Numbers (shows 10K instead of 10,000)

Important: No dimensions = total numbers across all campaigns!

Step 3: Update Your Scorecard Text Boxes

Add one Replace Text node for all metrics:

  1. Add NodeGoogle SlidesReplace Text
  2. Connect it to your Google Ads totals node
  3. Configure:
    • Presentation URL: Your slides URL
    • Search Method: Find by alt text
    • Replacement Method: Manual text replacement
    • Text Replacements: Add each metric:
      • cost → Connect Cost from Google Ads output
      • clicks → Connect Clicks from Google Ads output
      • impressions → Connect Impressions from Google Ads output
      • conversions → Connect Conversions from Google Ads output

One node updates all your scorecards at once!

Step 4: Test Your Scorecards

  1. Run the workflow
  2. Check your Google Slides - each text box should show the total for that metric
  3. Your scorecards now update automatically with properly formatted numbers!

What Just Happened?

  • Google Ads calculated totals automatically (no dimensions = totals)
  • Alt text matched metric names - cost finds cost, clicks finds clicks
  • Numbers are pre-formatted with currency symbols and readable formatting

Creating Charts

Visual charts make data easier to understand. Here’s how to automate them.

The Manual Process (What We’re Replacing)

Normally, to add charts to your Google Slides reports, you would:

  1. Export data from Google Ads to a spreadsheet
  2. Create a chart in Google Sheets manually
  3. Copy the chart and paste it into Google Slides
  4. Every time you need fresh data, repeat steps 1-3
  5. Or manually click “refresh” buttons on existing charts

This is exactly what we’re going to automate.

The Solution: Refresh Existing Charts

The key insight: When you paste a Google Sheets chart into Google Slides, the chart data doesn’t automatically update. You have to manually open the slides and click the “refresh” button every time the underlying data changes. This approach automates that clicking for you!

Step 1: Get Your Data in Google Sheets First

You need data before you can create a chart!

  1. Add NodeGoogle SheetsWrite Data

  2. Connect it to your Google Ads node (from your table workflow)

  3. Configure:

    • Spreadsheet URL/ID: Create a new Google Sheets or use existing
    • Working Sheet: “Chart Data” (or any sheet name)
    • Write Mode: Overwrite (to replace old data)
    • Starting Row: 1 (includes headers)
    • Data: Connect Google Ads output
  4. Run the workflow once to populate your Google Sheets with data

Step 2: Create Your Chart (One-Time Setup)

Now that you have data in Google Sheets:

  1. Open your Google Sheets (the one from Step 1)
  2. You’ll see your Google Ads data with proper headers and formatting
  3. Select all the data (including headers)
  4. Insert → Chart
  5. Choose your preferred chart type
  6. Customize the styling - colors, titles, labels, etc.

Step 3: Copy Chart to Google Slides

  1. Copy the chart from Google Sheets (right-click → Copy)
  2. Go to your Google Slides presentation
  3. Paste the chart where you want it
  4. Choose “Link to spreadsheet” when prompted (this is important!)

Step 4: Build the Automation

Now we’ll automate the data updates and chart refreshing:

The data update is already done (from Step 1), so we just need to add the chart refresh:

  1. Add NodeGoogle SlidesRefresh Sheets Chart
  2. Connect it to your Write Data node
  3. Configure:
    • Presentation URL/ID: Your Google Slides URL
    • Refresh Type: Refresh all charts
    • Slide Number: Leave empty (refreshes all slides)

Step 5: Test the Chart Automation

  1. Run the workflow
  2. Check your Google Sheets - data should be updated
  3. Check your Google Slides - chart should show fresh data with no refresh button

Perfect! Your charts now update automatically with fresh data.

Note: if you want to refersh a specific chart, you can give the chart an ALT text like spend_chart and use that in the Refresh Sheets Chart node.


Creating Text & Insights

Replace static text with AI-generated insights that update automatically.

The Manual Process (What We’re Replacing)

Normally, to add insights to your reports, you would:

  1. Look at your Google Ads data manually
  2. Identify trends and patterns yourself
  3. Write summary text and insights
  4. Type or paste this text into your slides
  5. Repeat this analysis every reporting period

This is exactly what we’re going to automate with AI.

Step 1: Prepare Your Slide

  1. Insert → Text box
  2. Add placeholder text like “Weekly insights will appear here”
  3. Right-clickAlt text → Set to weekly_insights

Step 2: Add AI Analysis

Add AI Node:

  1. Add NodeAIAnalyze Data
  2. Connect to Google Ads node
  3. Configure:
    • Data: Connect Google Ads output
    • Model: GPT-4o
    • Prompt:
    Analyze this Google Ads campaign data and write 3-4 key insights:
    
    1. Which campaigns performed best (by CTR and conversions)
    2. Any significant changes vs typical performance
    3. One specific recommendation for optimization
    
    Write in bullet points, keep each insight to one sentence.
    

Update Slides Text:

  1. Add NodeGoogle SlidesReplace Text
  2. Connect to AI Analyze node
  3. Configure:
    • Presentation URL: Your slides URL
    • Alt Text: weekly_insights
    • New Text: Connect AI output

Step 3: Test AI Insights

  1. Run workflow
  2. Check your slide for AI-generated insights
  3. Adjust the prompt if you want different insights

Combining Elements

Once you’ve built individual elements, combine them into one master workflow:

Scheduler → Google Ads → [Split to multiple paths]
                       ├── Update Table
                       ├── Create Chart → Add Chart to Slides  
                       ├── AI Insights → Update Text
                       └── AI Metrics → Update Scorecards

Pro Tips:

  • Test each element separately before combining
  • Use consistent alt text naming (e.g., campaign_table, spend_chart)
  • Start simple - add one element at a time
  • Screenshots help - document your alt text setup

Troubleshooting


What’s Next?

Now you know how to automate the core elements of any marketing report:

Apply to Other Channels:

  • Use Meta Ads Get Report instead of Google Ads
  • Use Google Analytics Get Report for website data
  • Use LinkedIn Ads Get Report for B2B campaigns

Advanced Elements:

  • Comparison tables (this month vs last month)
  • Conditional formatting based on performance
  • Image automation with AI-generated visuals

The key is starting with one element, getting it working, then adding more. Each element follows the same pattern: data → processing → update slide.