Centralizing Our Marketing Intelligence with Singer.io

Singer—a simple, composable Open Source ETL (a Python script framework for Extracting, Transforming, and Loading data)—publicly launched today, and we are excited to announce our first contribution! Over the past year, Facet has been refining skills around data warehousing and marketing intelligence. In the past few months, as early alpha testers of Singer, we tested various integrations, contributed to common Singer utilities, and built our first “Tap” integration with Harvest (more on Taps below).

Singer helps us waste less time in collecting metrics for our client’s marketing campaigns by integrating with third-party APIs, and sending them to our Data Warehouse in Redshift via StitchData. At Facet, we leverage data insights to ensure our marketing campaigns move the right needles for our partners.

Why We Need Marketing Intelligence

In this age, our lives are defined by fast-paced and integrated digital experiences; for businesses, the number and complexity of those integrations continuously compound—making it more complex to model, track, and make sense of how businesses touch customer’s lives.

Customer journeys are increasingly entangled across omni-channel experiences.

Tracking the performance of marketing campaigns can prove to be extremely complex. Singer allows us to build integrations to centralize marketing metrics in our data warehouse, where we later compose custom reports for each client.

For enterprises and small businesses, marketing intelligence is the only way to waste less time on low-impact digital ventures.

Why We Are Excited About Singer

  1. Getting involved with Singer in the open source community allows us to bring new marketing integrations to our clients and partners.
  2. Singer and, in turn, Stitch Data help us waste less time in reporting the results of both client and internal digital strategies.
  3. We are building expertise in data warehousing and marketing intelligence best practices, enabling Facet to develop a suite of data-insight services for our customers.
  4. Singer gives us a framework to modularly expand our toolbelt for data warehousing.
  5. We have reaped the rewards of open source technology with our experience in the Drupal and Mautic projects. We are excited to see the benefits of Singer on our ETL practices. For us, open source is paramount in helping our partners wasting less time, our core mission.

How Singer Works

Singer explains itself well:

Singer is an open-source standard for writing scripts that move data between databases, web APIs, files, queues, and just about anything else you can think of.

It describes how data extraction scripts—called “Taps” —and data loading scripts—called “Targets”— should communicate, allowing them to be used in any combination to move data from any source to any destination.

Nerd Note

Stitch is a Unix-inspired, JSON-based ETL scripting language, allowing you to pipe data sources (“Taps”) into data targets (“Targets”) based on your simple JSON schema definitions.


Taps are scripts used to define the schema of the data source and the interface with a third-party API, file, or database.

Singer.io Taps

Fully-formatted data is printed to standard output. Then, you need a Target script to send it to your data’s final destination.


Targets take data from your Taps and send it to a final destination, like load it into a file, API, or database.

Singer.io Targets

That’s it! Pretty simple, huh?

What We’re Building With Singer

We just published our first Tap—an integration with Harvest. You can checkout and fork the Singer Tap for Harvest ETLs on GitHub. It is about 90% done, with a few final data extractions being worked out this week.

We have a few new taps in the works and some planned:

  • Mautic MySQL Database (In Progress)
  • Mautic MySQL API (Planned)
  • Zenefits API (Planned)
  • Twitter Analytics (Planned)
  • Drupal MySQL Database (Planned)

What other integrations would help you waste less time in tracking your marketing campaigns?