Tutorials

Using CloudQuery for Marketing

I like to measure things. I like to know when what we do actually makes an impact and when we need to improve. At CloudQuery, we used to churn out blog posts and videos, and at one point, I started wondering if they were actually worth the time spent.

Considering we posted on a number of social media, on our Discord server, and we also sent emails, we faced the challenge of bringing all the data together in one place. We had questions about who we were reaching, how our audience was growing, how our posts were performing, and what content really clicked.

Luckily, we knew a company that made a tool just for us: our own! Apart from solving a real problem for ourselves, I was excited about the opportunity of “eating our own dog food” and learning about the challenges some of our customers may face.

Making It Work

First, we mapped out the user journey: what do we want people visiting our website to do? How do they get there? Where are the points where we can measure the number of people getting through?

We reviewed the tools we were using. For website analytics, we used Simple Analytics. We had Typeform for surveys and sign ups, Discord, Twitter, LinkedIn, and YouTube for socials. We also used HubSpot as a CRM. We decided the best way to measure the campaign's performance across the social media was to use Bitly links with UTM tags.

Architecture diagram showing CloudQuery syncing data from Typeform, Bitly, HubSpot, and Simple Analytics into PostgreSQL with a Metabase dashboard

The setup with CloudQuery was pretty straightforward: we now have a few containers running CloudQuery with a cron schedule. Plugins such as Typeform, Bitly, HubSpot, and Simple Analytics are used to sync data from the individual services to a single PostgreSQL database. Another container hosts a Metabase dashboard to help us dig into audience engagement and post performance. We are looking at how our posts to social media are doing from the clicks perspective, how the individual content from emails and blog posts is driving engagement, and how it all translates to website visits and sign ups.

What We Found Out

First, we ran the syncs too often with Bitly and almost ran out of our monthly API quota 😅.

We had to develop a new integration for Bitly using our Python SDK. It was fairly straightforward, although we found out a few things we could improve internally. These will help more developers coming to our platform to develop new integrations.

We learned and also confirmed what we knew about social networks and devised a new strategy for one of them.

Metabase dashboard showing marketing analytics with social media engagement and website traffic metrics

What's Next

Looking forward, we are not stopping here. Our plan is to include YouTube in our data mix. While YouTube has its own analytics dashboards, they do not offer as much detail as the actual API does. We also think the power is in combining the data with the other data we already have.

Share your own story

Get inspired by our selection of plugins for Sales and Marketing on our Hub.

Are you interested in learning more? Or have your own story about your data integration journey to share? We’d love to get in touch!
Want to see CloudQuery in action? Schedule a demo with our team or check out the platform documentation to learn more.

Want help getting started? Join the CloudQuery community to connect with other users and experts, or message our team directly here if you have any questions.

Try CloudQuery yourself

Self-hosted, open source, and free to start. Or schedule a demo to see the managed version.

Related posts

Tutorials

How to Automatically Update CloudQuery Integrations with Renovate

Configure Renovate to automatically update CloudQuery integration versions in your YAML files using the CloudQuery Hub API as a custom datasource.

Matthew M

Matthew M

May 20, 2026

AWS

Security

Tutorials

Finding AWS Unrestricted Outbound Access in 2026: EC2, Lambda, and Beyond

Find EC2, Lambda, and ECS Fargate resources with unrestricted outbound access in AWS using SQL. Why egress controls still break attack chains in 2026.

Joe Karlsson

Joe Karlsson

May 5, 2026

AWS

Security

Tutorials

AWS IAM Identity Center with Google Workspace as an IdP: 2026 Step-by-Step Guide

Set up AWS IAM Identity Center with Google Workspace: SAML authentication, SCIM user provisioning, and group sync with CLI or ssosync. Updated for 2026.

Joe Karlsson

Joe Karlsson

May 5, 2026

GCP

Security

Tutorials

Creating Cross-Project Service Accounts in GCP (Console + gcloud CLI)

Create a GCP service account that reads across all your projects with one credential. Covers gcloud CLI, org-level vs.

Joe Karlsson

Joe Karlsson

May 5, 2026

AWS

Cloud Infrastructure

Security

Tutorials

Integrate AbuseIPDB Threat Intelligence with CloudQuery

Enrich your cloud asset inventory with AbuseIPDB threat intelligence to identify public cloud IPs with known abuse reports.

Joe Karlsson

Joe Karlsson

April 20, 2026

AWS

Cloud Infrastructure

Tutorials

How to Query ipinfo.io Data with CloudQuery

Learn how to enrich your cloud asset inventory with ipinfo.io IP geolocation and threat intelligence data using CloudQuery.

Joe Karlsson

Joe Karlsson

April 20, 2026

AWS

Security

Tutorials

AWS IAM Identity Center (Formerly AWS SSO): The Complete 2026 Guide

AWS IAM Identity Center replaced AWS SSO in 2022. Learn how to set it up, configure permission sets, use the AWS CLI, and audit access with CloudQuery.

Joe Karlsson

Joe Karlsson

April 6, 2026

AWS

Tutorials

AWS Pinpoint Is Being Deprecated: How to Assess Your Migration Scope

AWS Pinpoint reaches end of support October 2026. Query your Pinpoint usage across all accounts to find what needs migrating before the deadline.

Joe Karlsson

Joe Karlsson

March 24, 2026

Tutorials

Moving Data from PostgreSQL to MotherDuck

How to sync PostgreSQL data to MotherDuck using CloudQuery, with both one-off batch and continuous CDC streaming options for serverless analytics.

Herman Schaaf

Herman Schaaf

March 13, 2026

Own your pipeline.
Own your data.