Easily automate marketing campaign reporting using Tray and Google Sheets

Tired of pulling the same campaign numbers every week? Sick of copy-pasting between dashboards and spreadsheets just to answer the same questions? If you handle marketing reporting and want those reports to, well, basically build themselves—this guide is for you. We’ll walk through connecting your data sources, building an automated workflow, and setting up Google Sheets so you get the numbers you want, when you want them. No fluff, no “digital transformation” talk—just the real steps, with honest notes on what works and where things get weird.


Why automate your marketing reports?

Manual reporting is a time sink. It’s easy to mess up, it’s boring, and nobody wants to spend their Friday mornings triple-checking exports. Automating your campaign reporting means:

  • Less human error (no more “oops, pasted the wrong column” moments)
  • Faster answers for your team and stakeholders
  • More time for actual analysis, not data wrangling
  • A single source of truth—no more “which spreadsheet is right?” debates

But let’s be real: automation does take some setup. And not all tools are created equal. This guide shows you how to use Tray (a popular workflow automation tool) and Google Sheets (because everyone loves a spreadsheet) to make your reporting run on autopilot.


What you’ll need

Before you start, check that you have:

  • A Tray account (paid, though they offer trials for new users)
  • Google Sheets access (personal or business Google account)
  • API access to your marketing platforms (like Facebook Ads, Google Ads, HubSpot, Salesforce, etc.)
  • A clear idea of what you want in your reports (metrics, date ranges, breakdowns)
  • 60–90 minutes for the initial setup (after that, it’s mostly hands-off)

Step 1: Map out your reporting needs

Don’t skip this. The biggest mistake is jumping into automation before you actually know what you want. Ask yourself:

  • Which marketing channels need to be included? (Facebook, Google, LinkedIn, email, etc.)
  • What are the key metrics? (Clicks, spend, conversions, leads, revenue, etc.)
  • How often does the report need to update? (Daily, weekly, monthly?)
  • Who needs access to the finished report? (Just you, or a wider team?)

Pro tip: Sketch your ideal Google Sheet on paper or in a blank doc first. List out the columns and rows you want. This makes the automation setup way faster.


Step 2: Set up Google Sheets for reporting

  1. Create a new Google Sheet
    This will be your “destination” spreadsheet.

  2. Lay out your headers
    Add the columns you planned—like Date, Campaign Name, Channel, Impressions, Clicks, Spend, etc.
    Leave the rows blank for now; Tray will fill them in.

  3. Share the Sheet (if needed)
    If other people need to see or edit the report, set sharing permissions now.

Why start with Google Sheets?
It’s easy to use, everyone knows how to read one, and you can always connect it to fancier dashboards later if needed.


Step 3: Connect Tray to your data sources

Tray is built to connect different services and move data between them—think “Zapier for bigger jobs.” Here’s how to get it talking to your marketing platforms and Google Sheets.

  1. Log in to Tray and create a new workflow
    Name it something clear, like “Weekly Campaign Reporting.”

  2. Add your marketing platform(s) as data sources

  3. Use Tray’s built-in connectors for platforms like Facebook Ads, Google Ads, HubSpot, etc.
  4. You’ll need API credentials for each (usually found in the platform’s developer or integrations section).
  5. For each source, test the connection to make sure it pulls sample data correctly.

Heads up: Some platforms (looking at you, Facebook) have tricky API limits or require extra permissions. If you hit errors, double-check your access or ask your platform admin.

  1. Add Google Sheets as a destination
  2. Use the Google Sheets connector in Tray.
  3. Authenticate with your Google account (OAuth pop-up).
  4. Select the spreadsheet and worksheet you made earlier.

Real talk: Not every marketing tool has a plug-and-play Tray connector. For weird or niche platforms, you might need to use Tray’s “HTTP Client” to fetch data via API—doable, but more technical.


Step 4: Build your data workflow in Tray

Here’s where the real automation magic happens. Tray works with a drag-and-drop interface, but you still need to think through the steps.

  1. Set your trigger
    Decide what kicks off the workflow. Most people use a scheduled trigger (e.g., every Monday at 8am), but you could also use “on demand” if that fits better.

  2. Fetch data from each marketing channel
    For each source:

  3. Use the relevant connector to pull campaign data.
  4. Filter or map fields to match your Google Sheet’s columns.
  5. Watch for quirks like date formats or missing fields.

  6. Transform or clean the data

  7. Rename columns if needed.
  8. Combine or split fields (e.g., split “Campaign Name” into “Channel” and “Campaign”).
  9. Remove any empty or junk rows.

  10. Push data to Google Sheets

  11. Use the “Add Row(s)” action to insert your data.
  12. If you want to replace old data (like for a weekly report), add a step to clear the existing rows first.
  13. Double-check that the right fields go into the right columns.

What about errors?
Set up error handling in Tray—like email or Slack notifications if a workflow fails. Nothing’s worse than finding out your report broke after your boss asks for it.


Step 5: Test your workflow (don’t skip this!)

Before you turn things loose, run a few tests:

  • Trigger the workflow manually and check what shows up in your Google Sheet.
  • Look for missing or mismatched data.
  • Try different date ranges or campaign types.
  • If possible, review the raw data in your marketing platform vs. the sheet—make sure nothing’s getting lost in translation.

Pro tip: Schedule your first few runs during business hours, not at 2am. That way you can fix problems before anyone else notices.


Step 6: Set your schedule and share your report

  1. Schedule your workflow in Tray
  2. Set it to run as often as you need.
  3. Weekly and monthly are most common, but daily is fine if you need fresh data.

  4. Lock down or share the Google Sheet

  5. Double-check sharing settings so only the right people can see/edit the data.
  6. Consider protecting headers or formulas if you add any.

  7. Let your team know

  8. Share the link, explain what’s included, and ask if anything’s missing.
  9. If you want, set up email notifications (either in Google Sheets or via Tray) to let people know when new data is ready.

What works—and what to watch out for

What works

  • Tray’s connectors are solid for most big marketing platforms.
  • Google Sheets is perfect for simple sharing and quick analysis.
  • Once set up, things mostly run themselves. Small tweaks are easy.

What doesn’t

  • Initial setup can be fiddly. Expect some trial and error, especially with API quirks.
  • Some platforms (like LinkedIn Ads or TikTok) have spotty API support. You might need workarounds.
  • Complex reports (with charts, pivots, etc.) still need some manual setup in Sheets, or you’ll need to hook up a dashboard tool.

What to ignore

  • Overcomplicating things. Start with just the core data you need—add bells and whistles later, once the basics work.
  • Chasing “real-time” data when nobody actually needs it. Daily or weekly is usually more than enough.

Keep it simple, improve as you go

Automating your marketing campaign reporting doesn’t have to be some massive project. Get the basics working: connect your data, push it to a sheet, and let your team know where to find it. Once you’ve got a reliable workflow, you can always add more polish—charts, dashboards, whatever. The key is to keep it simple, stay flexible, and tweak things as your needs change. Happy automating!