LogoLogo
  • 🦩Overview
  • 💾Datasets
    • Overview
    • Core Concepts
      • Columns & Annotations
      • Type & Property Mappings
      • Relationships
    • Basic Datasets
      • dbt Integration
      • Sigma Integration
      • Looker Integration
    • SaaS Datasets
    • CSV Datasets
    • Streaming Datasets
    • Entity Resolution
    • AI Columns
      • AI Prompts Recipe Book
    • Enrichment Columns
      • Quick Start
      • HTTP Request Enrichments
    • Computed Columns
    • Version Control
  • 📫Syncs
    • Overview
    • Triggering & Scheduling
    • Retry Handling
    • Live Syncs
    • Audience Syncs
    • Observability
      • Current Sync Run Overview
      • Sync History
      • Sync Tracking
      • API Inspector
      • Sync Alerts
      • Observability Lake
      • Datadog Integration
      • Warehouse Writeback
      • Sync Lifecycle Webhooks
      • Sync Dry Runs
    • Structuring Data
      • Liquid Templates
      • Event Syncs
      • Arrays and Nested Objects
  • 👥Audience Hub
    • Overview
    • Creating Segments
      • Segment Priorities
      • Warehouse-Managed Audiences
    • Experiments and Analysis
      • Audience Match Rates
    • Activating Segments
    • Calculated Columns
    • Data Preparation
      • Profile Explorer
      • Exclusion Lists
  • 🧮Data Sources
    • Overview
    • Available Sources
      • Amazon Athena
      • Amazon Redshift
      • Amazon S3
      • Azure Synapse
      • ClickHouse
      • Confluent Cloud
      • Databricks
      • Elasticsearch
      • Kafka
      • Google AlloyDB
      • Google BigQuery
      • Google Cloud SQL for PostgreSQL
      • Google Pub/Sub
      • Google Sheets
      • Greenplum
      • HTTP Request
      • HubSpot
      • Materialize
      • Microsoft Fabric
      • MotherDuck
      • MySQL
      • PostgreSQL
      • Rockset
      • Salesforce
      • SingleStore
      • Snowflake
      • SQL Server
      • Trino
  • 🛫Destinations
    • Overview
    • Available Destinations
      • Accredible
      • ActiveCampaign
      • Adobe Target
      • Aha
      • Airship
      • Airtable
      • Algolia
      • Amazon Ads DSP (AMC)
      • Amazon DynamoDB
      • Amazon EventBridge
      • Amazon Pinpoint
      • Amazon Redshift
      • Amazon S3
      • Amplitude
      • Anaplan
      • Antavo
      • Appcues
      • Apollo
      • Asana
      • AskNicely
      • Attentive
      • Attio
      • Autopilot Journeys
      • Azure Blob Storage
      • Box
      • Bloomreach
      • Blackhawk
      • Braze
      • Brevo (formerly Sendinblue)
      • Campaign Monitor
      • Canny
      • Channable
      • Chargebee
      • Chargify
      • ChartMogul
      • ChatGPT Retrieval Plugin
      • Chattermill
      • ChurnZero
      • CJ Affiliate
      • CleverTap
      • ClickUp
      • Constant Contact
      • Courier
      • Criteo
      • Crowd.dev
      • Customer.io
      • Databricks
      • Delighted
      • Discord
      • Drift
      • Drip
      • Eagle Eye
      • Emarsys
      • Enterpret
      • Elasticsearch
      • Facebook Ads
      • Facebook Product Catalog
      • Freshdesk
      • Freshsales
      • Front
      • FullStory
      • Gainsight
      • GitHub
      • GitLab
      • Gladly
      • Google Ads
        • Customer Match Lists (Audiences)
        • Offline Conversions
      • Google AlloyDB
      • Google Analytics 4
      • Google BigQuery
      • Google Campaign Manager 360
      • Google Cloud Storage
      • Google Datastore
      • Google Display & Video 360
      • Google Drive
      • Google Search Ads 360
      • Google Sheets
      • Heap.io
      • Help Scout
      • HTTP Request
      • HubSpot
      • Impact
      • Insider
      • Insightly
      • Intercom
      • Iterable
      • Jira
      • Kafka
      • Kevel
      • Klaviyo
      • Kustomer
      • Labelbox
      • LaunchDarkly
      • LinkedIn
      • LiveIntent
      • Loops
      • Mailchimp
      • Mailchimp Transactional (Mandrill)
      • Mailgun
      • Marketo
      • Meilisearch
      • Microsoft Advertising
      • Microsoft Dynamics
      • Microsoft SQL Server
      • Microsoft Teams
      • Mixpanel
      • MoEngage
      • Mongo DB
      • mParticle
      • MySQL
      • NetSuite
      • Notion
      • OneSignal
      • Optimizely
      • Oracle Database
      • Oracle Eloqua
      • Oracle Fusion
      • Oracle Responsys
      • Orbit
      • Ortto
      • Outreach
      • Pardot
      • Partnerstack
      • Pendo
      • Pinterest
      • Pipedrive
      • Planhat
      • PostgreSQL
      • PostHog
      • Postscript
      • Productboard
      • Qualtrics
      • Radar
      • Reddit Ads
      • Rokt
      • RollWorks
      • Sailthru
      • Salesforce
      • Salesforce Commerce Cloud
      • Salesforce Marketing Cloud
      • Salesloft
      • Segment
      • SendGrid
      • Sense
      • SFTP
      • Shopify
      • Singular
      • Slack
      • Snapchat
      • Snowflake
      • Split
      • Sprig
      • Statsig
      • Stripe
      • The Trade Desk
      • TikTok
      • Totango
      • Userflow
      • Userpilot
      • Vero Cloud
      • Vitally
      • Webhooks
      • Webflow
      • X Ads (formerly Twitter Ads)
      • Yahoo Ads (DSP)
      • Zendesk
      • Zoho CRM
      • Zuora
    • Custom & Partner Destinations
  • 📎Misc
    • Credits
    • Census Embedded
    • Data Storage
      • Census Store
        • Query Census Store from Snowflake
        • Query Census Store locally using DuckDB
      • General Object Storage
      • Bring Your Own Bucket
        • Bring your own S3 Bucket
        • Bring your own GCS Bucket
        • Bring your own Azure Bucket
    • Developers
      • GitLink
      • Dataset API
      • Custom Destination API
      • Management API
    • Security & Privacy
      • Login & SSO Settings
      • Workspaces
      • Role-based Access Controls
      • Network Access Controls
      • SIEM Log Forwarding
      • Secure Storage of Customer Credentials
      • Digital Markets Act (DMA) Consent for Ad Platforms
    • Health and Usage Reporting
      • Workspace Homepage
      • Product Usage Dashboard
      • Observability Toolkit
      • Alerts
    • FAQs
Powered by GitBook
On this page

Was this helpful?

  1. Datasets
  2. Enrichment Columns

HTTP Request Enrichments

PreviousQuick StartNextComputed Columns

Last updated 3 months ago

Was this helpful?

What are HTTP Request Enrichments?

HTTP Request Enrichments allow you to enrich your dataset using any HTTP service. This allows you to build enrichments using any service that Census may not natively support. Similar to AI columns and other enrichments, Census allows you to configure a HTTP request that is unique to each row in your dataset, and map the response back to a column. The enrichment is stored and materialized back in your warehouse.

Example Use Cases

Identifying Anonymous Traffic

Generating insights from anonymous usage is one of the most common requests a data team will receive from marketing. Connect to a service like which takes browser event information such as IP address and provides geographic information so you can determine where in the world traffic is coming from.

Address Verification

Using invalid data to run campaigns is like lighting money on fire. Taking the time to verify that addresses, both email and physical, are valid before running campaigns can save a lot of money and increase ROAS as a result. Doing that once in your source of truth is the most efficient approach. Now any of your downstream deduping (ER benefits here!), segments, campaigns, and syncs to destination services can rely on having the most accurate and standardized address verification. Even the for this.

Integrating Internal Services

HTTP Enrichment isn't limited to working with public data provider companies. You can enrich from any JSON API endpoint, which means you can also use private APIs your company already offers. For companies with existing APIs to support their existing apps or microservice architecture, you can now easily integrate API data into your data warehouse ondemand without relying on a separate ETL process. Use this to connect to an internal API that returns live inventory availability or connect to your proprietary recommendation algorithm to connect product recommendations for retention campaigns.

HTTP Request Enrichments are currently supported for Snowflake, Redshift, BigQuery, Databricks, and Postgres.

Creating a HTTP Request Enrichment

For this example, we will use to enrich website event data with geographic information.

Defining a HTTP Request Connection

  1. Login to Census and select a Dataset you want to enrich on the Datasets tab

  2. On the top right corner, navigate to Enrich & Enhance > Enrichments > HTTP Request

  3. Create a new HTTP Request Connection, or select an existing connection that you want to use

    1. For MaxMind, we will use their GeoLite API: https://geolite.info/geoip/v2.1/country

When creating a new HTTP Request Connection, you will be asked to input the static Base URL and any other Headers required for your request. Note that the static Base URL does not include the endpoint, as this may be a dynamic value that will be configured in the next step


Example:

Say you want to query from https://geolite.info/geoip/v2.1/country/192.168.123.132. In this case, the Base URL is https://geolite.info/geoip/v2.1/country and the endpoint is 192.168.123.132

Defining the Request

  1. Once you have your HTTP Request Connection selected, you can begin setting up your HTTP request

    1. Name your enrichment

    2. Choose an HTTP method, ex. GET

The request body should be a valid JSON object.

Defining the Response

It is expected that the response from the endpoint is a JSON object.

  1. Define each column of your enrichment by mapping the output names to keys in the returned JSON object. Each output name can be either a:

    1. Top level key of the JSON object

Example

Let's say the you had an endpoint https://somewebsite.com/x returns the following example response:

{
    "lang": "EN",
    "country": {
        "iso_code": "US",
    }
}

Then here are the values you would get back for each out output name:

  • Output name: lang

  • Returned data type: String

  • Returned value: EN

  • Output name: country

  • Returned data type: JSON String

  • Returned value: {"iso_code":"US"}

  • Output name: country.iso_code (using JSONPath syntax)

  • Returned data type: String

  • Returned value: US

Final Steps

  1. Once you are done configuring your request and response, you can go ahead and create your HTTP Column!

Behind the scenes, Census will set up a table in your warehouse to store your enriched data. Census will also create a sync configuration that runs your enrichment and writes it into the created table.

Ensure that your dataset has a Unique ID Column. You can configure this by setting the on the Dataset

You will need to add an Authorization Header in the form Basic <base64 encoding of ACCOUNT_ID:LICENSE KEY>. You can generate a new license key with MaxMind through their accounts portal: . See MaxMind's for more information.

Configure your endpoint. This could be a constant value, or use to encode record values in your endpoint. Note that theurl_encode should be used to ensure that any special characters in your data will be parsed properly to be used in the URL

If your chosen HTTP method supports defining a request body (ex. POST), you can also use to reference column values for each row.

A valid pointing to a nested value in the JSON object

💾
MaxMind
US Postal Service offers an API
MaxMind
Type and Property Mappings
https://www.maxmind.com/en/accounts/
docs on Authorization
Liquid Templates
Liquid Filter
Liquid Templates
JSONPath