Anonymous_customer_id replacing source and source_id

Activity transformations are getting simpler!

What's changing?

anonymous_customer_id is replacing the source and source_id columns in the activity transformation

Why is it changing?

  1. Simplified Logic
    source and source_id have caused a lot of confusion for users. The single anonymous_customer_id is much more clear and straightforward to use.

  2. Performance Improvements
    When using datasets or the customer journey, the source and source_id would need to be concatenated to create a unique identifier. This additional processing step creates unnecessary strain on the warehouse. Now, the unique identifier will be defined once, alleviating the need for more processing.

Example Activity Transformation:

SELECT as activity_id,
  s.timestamp as ts,
  s.anonymous_id as anonymous_customer_id, -- new column! as customer,
  'logged_in' as activity,
  NULL as feature_1,
  NULL as feature_2,
  NULL as feature_3, 
  NULL as revenue_impact,
  s.url as link
FROM table.schema as s


  • Do I need to migrate my transformations that use source and source_id?
    No, existing transformations will still work, but all new transformations should use anonymous_customer_id.

  • How is anonymous_customer_id used?
    It's used for identity resolution in the data processing. Learn more about Identity Resolution in Narrator.

  • What if two different data sources use the same ID for two different people?
    The anonymous_customer_id should be unique for that user across all activities in the activity stream. An easy way to ensure this is to concatenate a string before the ID for each data source. For example, if two different systems uses a numeric ID 1 to 10,000, you could define the anonymous_id as ('system_1 -' || id) to create a unique ID for that system that won't be confused with system 2's id.

Still have questions?

Our data team is here to help! Here are a couple ways to get in touch...

šŸ’¬ Chat us from within Narrator

šŸ’Œ Email us at [email protected]

šŸ—“ Or schedule a 15 minute meeting with our data team