Zum Hauptinhalt springen

💻 WEBINAR am 27.11.2025: Erfolgreiche B2B Marketing Planung 2026 - Gratis anmelden >

25.07.2025: Blog-Serie Teil 1

Wie dbt Ihren Marketing Data Stack revolutioniert


HMA Team Giorgio Frisenda 1b90ede9
Giorgio Frisenda, 25.07.2025

Verabschieden Sie sich von komplexem SQL mit übersichtlicherer dbt-Datenmodellierung
Ein Beitrag für BI Manager- und Spezialist:innen, Data Analysts, Analytics Engineers und Marketing Managers

In der schnelllebigen digitalen Welt von heute wird von Marketing- und Werbeteams erwartet, dass sie in jeder Situation datengestützte Entscheidungen treffen, von der Optimierung der Kampagnenleistung bis hin zur Feinabstimmung der Customer Journey in Echtzeit. Die Realität sieht jedoch oftmals verwirrend aus: Daten befinden sich auf isolierten Plattformen, Namenskonventionen sind inkonsistent und die Bedeutung von Metriken wie Attribution oder Engagement kann je nach Quelle stark variieren.

Diese Fragmentierung wirft eine entscheidende Frage auf: Wie können Marketing-Teams ihren Daten vertrauen, sie skalieren und sicher darauf reagieren?

Hier kommt der moderne Marketing Data Stack ins Spiel. Durch die Verbindung der besten Tools über die gesamte Data Pipeline hinweg – von der Erfassung über die Transformation bis hin zur Visualisierung – ermöglicht er skalierbare, automatisierte Analysen, die für Marketer funktionieren.

Hopmann Modern Data Stack with dbt

Im Zentrum dieses Stacks steht ein leistungsstarkes Transformationstool: dbt (Data Build Tool). Während die Erfassung und Speicherung zunehmend standardisiert werden, liegt der eigentliche strategische Wert in der Transformationsebene – insbesondere im Marketing, wo Agilität, Konsistenz und Transparenz entscheidend sind.

Falls Sie dbt noch nicht kennen oder ihr Wissen auffrischen möchten, bietet der Kurs „dbt Fundamentals“ eine hilfreiche Einführung. Und falls Sie Ihr Wissen vertiefen möchten, könnte unser HMA Academy dbt-Kurs spannend für Sie sein.

In dieser Blogpost-Reihe wird ein traditioneller Workflow, der ausschließlich auf Snowflake basiert, mit einem moderneren Ansatz verglichen, bei dem dbt (Data Build Tool) zusammen mit Snowflake eingesetzt wird. Wir werden drei wesentliche Vorteile von dbt vorstellen, die es zu einem leistungsstarken Werkzeug für saubere, zuverlässige und skalierbare Marketing Data Pipelines machen.

Die Umwandlung von rohen Marketing-Daten in verwertbare Erkenntnisse ist selten einfach. Daten aus Werbeplattformen, CRM-Systemen und Analyse-Tools können unübersichtlich sein, mit inkonsistenten Formaten, unterschiedlichen Metrikdefinitionen und benutzerdefinierten Logiken wie Attributionsmodellen, die sich ständig weiterentwickeln.

Traditionell erfordert die Umwandlung dieser Daten die Verwendung mehrerer Arten von SQL in komplexen gespeicherten Prozeduren:

DDL (Data Definition Language): definiert und verwaltet Tabellen (z. B. CREATE TABLE)
DML (Data Manipulation Language): modifiziert Datensätze (z. B. INSERT INTO, MERGE)
DQL (Data Query Language): ruft Daten ab (z. B. SELECT)

Diese Workflows sind schwer zu warten, schwer zu debuggen und oft von der Geschäftslogik getrennt, die für Marketing-Verantwortliche tatsächlich wichtig ist.

dbt vereinfacht diesen Prozess erheblich, indem es nur einen einzigen SQL-Befehl verwendet: SELECT. Anstatt Daten mit prozeduralem Code zu verwalten, schreiben Sie deklarative SQL-Modelle, die beschreiben, was Sie möchten, und dbt kümmert sich um den Rest – einschließlich Tabellenerstellung, Aktualisierungen und Zeitplanung.

Betrachten wir ein gängiges Beispiel aus der Marketing-Analyse: inkrementelles Laden von Daten. Kampagnen- oder Interaktionsdaten (wie Ad Impressions, Klicks oder Conversions) müssen oft täglich aktualisiert werden, aber das erneute Laden des gesamten Datensatzes ist ineffizient.

Traditionell erfordern inkrementelle Aktualisierungen eine komplexe MERGE-Logik in einer gespeicherten Prozedur (unten eine reduzierte SQL-Version):

Hopmann MERGE logic
# This is a simplified version, production logic may include more error handling and logging.

CREATE OR REPLACE PROCEDURE update_ facebook_campaign_metrics()
RETURNS STRING
LANGUAGE SQL
AS
$$
BEGIN
  MERGE INTO db.intermediate.facebook_campaigns AS target
  USING (
    SELECT * FROM db.raw.facebook_ads
    WHERE updated_at > (
      SELECT MAX(updated_at) 
FROM db.raw.facebook_ads
    )
  ) AS source
  ON target.campaign_id = source.campaign_id
     AND target.date = source.date
WHEN MATCHED THEN UPDATE SET
    campaign_name     = source.campaign_name,
    url	          = source.url,
    total_cost        = source.cost,
    total_impressions = source.impressions,
    total_clicks      = source.link_clicks,
    total_conversions = source.conversions,
    total_reach       = source.reach,
    updated_at	    = source.updated_at

  WHEN NOT MATCHED THEN INSERT (
    campaign_id,
    campaign_name,
    date,
    url,
    total_cost,
    total_impressions,
    total_clicks,
    total_conversions,
    total_reach,
    updated_at
  )
  VALUES (
    source.campaign_id,
    source.campaign_name,
    source.date,
    source.url,
    source.cost,
    source.impressions,
    source.link_clicks,
    source.conversions,
    source.reach,
    source.updated_at
  );  
RETURN 'Success';

In dbt wird dieselbe Logik auf ein übersichtliches und lesbares SQL-Modell reduziert:

Hopmann Readable SQL model in dbt
{{ config(
    materialized='incremental',
    unique_key=['campaign_id', 'date']
) }}

SELECT
    campaign_id,
    campaign_name,
    date,
    url,
    total_cost,
    total_impressions,
    total_clicks,
    total_conversions,
    total_reach,
    updated_at
FROM {{ source('raw', 'facebook_ads') }}

# Ensure that only new rows are appended to the table
{% if is_incremental() %}
WHERE updated_at > (
    SELECT MAX(updated_at) FROM {{ this }}
)
{% endif %}

Durch die Vereinfachung komplexer Transformationen und die Optimierung von SQL-Workflows ermöglicht dbt Marketing-Teams, weniger Zeit mit der Fehlerbehebung von Code zu verbringen und sich stattdessen mehr auf die Auswertung zuverlässiger Daten zu konzentrieren.