Custom Nodes

Learn how to leverage custom nodes in journeys

In this article, we will walk you through how you can leverage custom nodes in your journeys. Custom nodes allow you to orchestrate marketing journeys with your internal data processes. Let's imagine a few key scenarios where this proves valuable:

  1. Prediction APIs - Your data science team has created a model to predict the likelihood for a customer to buy products in a specific category. You would like to get that prediction while the customer travels through your journey so you can make the best next decision for them.
  2. Experiments - Your analytics team has created a custom pipeline to assign treatment/control groups to mitigate randomization bias. Prior to exporting users in your journey to specific destinations, you would like to assign them to a treatment or control group and only export the treatment users.
  3. Offer Assignment - Your data engineering teams have created an internal process for assigning offers and coupon codes to each customer in a journey. You would like to get the offer assignment and specific coupon code so it can be included in your channel communications.

With custom nodes, you can leverage these internal processes within GrowthLoop journeys.


How Custom Nodes Work

Let's start with an overview of how Custom Nodes operate. They follow a few simple key steps:

  1. Publish Journey: Create a journey and place your custom node on canvas. Publish Journey.
  2. Internal Process: When users reach a Custom node in your journey it will trigger your Internal Process
  3. Enrichment Table: Your Internal Process is expected to write additional data about each user back to an Enrichment Table for that specific journey step.
  4. Activation: You can now use any data in the Enrichment Table for journey splits and destination activation.
    1. Criteria: Enrichment Table fields can be leveraged to further split your Journey paths.
    2. Personalization:When sending users to a destination in your journey can you insert the enrichment fields as personalization.

Custom Node Configuration

  • Define Custom Node Type
    • Airflow
    • Cloud Composer
  • Create Service Account with proper permissions in Google Cloud
    • Permissions required:
  • Provide Airflow DAG url
  • Provide enrichment column names
  • GrowthLoop with create enrichment table
    • dataset: flywheel_system
    • tablename: `[journey_id][step_id]_enrichment`
  • GrowthLoop will trigger DAG Url via webhook with the following parameters:
    • table_name: [journey_id][step_id]_enrichment
    • step_id: step_id
  • Create Airflow DAG to read users from journey step table, and writes to enrichment table
    • DAG reads unique_ids from journey step
      • dataset: flywheel_system
      • tablename: `[journey_id][step_id]_enrichment`
    • DAG writes to enrichment table
      • table_name: [journey_id][step_id]_enrichment

Fields from enrichment tables can be used in destination nodes for use downstream in marketing channels like email and direct mail.

For more information or to provide feedback to the team, please reach out to [email protected]. We can’t wait to hear from you!