From Analytics to Action: How we Personalize Outreach With AI

Julie Beynon
14 November 2024

Ever wish you could read your prospects' minds? While we haven't cracked telepathy yet, we've built something almost as good. In this post (and accompanying video tutorial), I'll show you how Census uses AI to transform raw website analytics into actionable marketing insights.

 

The Challenge: Beyond Basic Analytics

We've all been there – staring at website analytics, trying to divine meaning from page views and bounce rates. Are visitors actually interested in your new feature, or did they just get lost in your site architecture? Traditional analytics tell you what happened, but not why it matters.

The Solution: A Three-Step Process

Here's how we use Census GPT Columns to transform raw page views into actionable insights about prospect interests.

Step 1: Automated Page Categorization

Using Census GPT Columns, we categorize every URL based on its content with this prompt: 

Analyze the text from { { record['PAGE_URL'] } } and categorize it by selecting the most relevant category based on the presence of specific keywords. Return only the category name without any extra text or explanations.

Steps:

  1. Review the { { record['PAGE_URL'] } } text thoroughly.
  2. Match the content to one of the categories below, based on the presence of keywords.

Categories and Keywords:

  • Operational Analytics Awareness: [“operational-analytics”]
  • CDP Essentials Campaign: [“cdp”, “customer-360”, “data-warehouse”]
  • Data Warehouse Activation: [“data-warehouse”, “snowflake”, “google-sheets”]
  • Mastering Reverse ETL: [“reverse-etl”, “etl”, “sync”]
  • Customer Success Stories: [“customer-stories”]
  • Machine Learning Lead Scoring: [“machine-learning”, “lead-scoring”]
  • Data Engineering Lifecycle: [“data-engineering”]
  • Data Enrichment Awareness: [“data-enrichment”]
  • Composable CDP Promotion: [“composable-cdp”]
  • Entity Resolution Best Practices: [“entity-resolution”]
  • SQL Tutorial Series: [“sql”, “tutorial”, “aggregate”]
  • Tech Interview Improvement: [“technical-interviews”]
  • Data Activation with dbt: [“dbt”]
  • Boosting E-commerce Targeting: [“ecommerce”, “ad-targeting”]

If none of the keywords match, return General Campaign.

Example Input:

PAGE_URL: { { record['PAGE_URL'] } }

Expected Output:

Only return the most relevant category name, such as CDP Essentials Campaign.

 
Pro Tip: Custom Campaign Categories

Your marketing team can maintain full control by adding custom campaign categories directly in HubSpot. Simply add a campaign category to any page, and if no category exists, our GPT analysis will fill in the gaps. This hybrid approach ensures both automation and accuracy.

 

Step 2: Building the Activity Dataset

This SQL query transforms individual page views into meaningful patterns:

WITH source AS (
    SELECT 
        pv.anonymous_id,
        pv.happened_at,
        pv.id,
        pv.page_url,
        pv.user_id,
        categories.census_third_party_result_column AS categories
    FROM 
        census_on_census.production.census_page_views AS pv
    LEFT JOIN 
        census.census.dataset_column_gpt_fe4891a7_5a86_4494_b89b_3ff82cbf3e05 AS categories 
    ON 
        categories.census_third_party_unique_id_column = pv.page_url
    WHERE 
        pv.user_id BETWEEN 1 AND 500
)

SELECT 
    user_id,
    ARRAY_AGG(
        OBJECT_CONSTRUCT(
            'page_url', page_url, 
            'categories', categories, 
            'happened_at', happened_at
        )
    ) AS page_views
FROM 
    source
GROUP BY 
    user_id


Step 3: Identifying Primary Interests

The final GPT Column analyzes these patterns:

Analyze the { { record['PAGE_VIEWS'] } } JSON array for each { { record['USER_ID'] } } to uncover the single most relevant overarching theme of interest, inferred from the page_url data. Use category information as supporting context to refine your understanding but prioritize identifying the primary theme that reflects the account’s broader interests.

Instructions:

  1. Analyze the URLs and associated categories to infer a single, overarching theme that represents the account’s dominant area of interest or concern.
  2. Return only the top theme in a concise and descriptive manner, avoiding duplication or overly narrow categorizations.

Input:

  • { { record['PAGE_VIEWS'] } } JSON array containing page_url and category data for each account ID.

Output Format:

For each account ID, provide the top theme in plain text format:

Output Example:

Data Activation with dbt

 

Making It Actually Useful

The real power comes from turning these insights into action. Here's how it works end-to-end:

  1. Analyze: Our GPT Columns analyze visitor behavior and identify their primary interests
  2. Sync: Census automatically syncs these themes to HubSpot (or one of our 200+ destinations)
  3. Automate: HubSpot uses these themes to enroll prospects in the most relevant sequence based on their actual interests

For example, if our analysis shows a prospect is primarily interested in Data Activation with dbt, they'll automatically receive content tailored to that topic instead of generic marketing messages.

The result? Marketing automation that finally responds to what people want to learn about, not what we think they should care about. No more spray-and-pray email sequences – just targeted content that matches each prospect's demonstrated interests.

Want to Build This Yourself?

We've made all of this possible with Census GPT Columns - our tool for adding AI-powered enrichment directly in your data workflow. Want to see it in action? Check out our GPT Columns page to learn how to build intelligent, automated workflows for your marketing team.