--- title: "How to ingest profiles from business systems" slug: "how-to-ingest-profiles-from-business-systems" description: "Ingest profile data from business systems to enhance targeting precision, reflecting real customer states for effective audience journeys and activations." updated: 2026-09-04T05:34:42Z published: 2026-09-04T05:34:42Z canonical: "docs.supermetrics.com/how-to-ingest-profiles-from-business-systems" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.supermetrics.com/llms.txt > Use this file to discover all available pages before exploring further. # How to ingest profiles from business systems Profile ingestion brings customer context from business systems into Data activation, so audiences and journeys can reflect the real customer state rather than just website behavior. Targeting becomes more precise when it uses attributes like relationship status, value, eligibility, and preferences. You can ingest profile data from your CRM, data warehouse, billing system, or any business system that holds customer attributes. If your data source is supported by Supermetrics connectors (for example, HubSpot, Shopify, Klaviyo, or others), you can use [self-serve data ingestion](/v1/docs/how-to-get-started-with-self-serve-data-ingestion) for an automated setup. ## What does profile data mean Profile data refers to attributes that describe a customer over time. Unlike events, these attributes remain true until they're changed. Common examples: - Customer ID and account status - Loyalty tier and points balance - Subscription package, renewal date, contract end date - Customer value band or predicted value - Consent state and channel preferences - Home market, language, and product ownership The most useful profile attributes are the ones you already use to make targeting decisions. These descriptive profile attributes are also referred to as facts in our documentation. ### Sources of profile data Profile data usually lives in a small set of business systems. You will need to determine which system you want to use as the source for each attribute based on your use case. - **CRM ingestion** works well when the CRM is the system of record for customer identity and status, and you want a simple first integration. - **CRM systems** Often contain customer identifiers, lifecycle status, sales context, and marketing permissions. - **Billing and subscription systems** Often contain contract details, subscription state, renewals, churn signals, and payment status. - **Ecommerce platforms** Often contain purchase history, product ownership, and customer status flags. - **Customer support systems** Often contain service status, open tickets, satisfaction signals, and escalation flags. - **Data warehouses and lakes** often contain joined and enriched attributes across many sources, including value models and derived segments. Warehouse ingestion works well when you need enriched attributes (LTV bands, churn risk) or when you want a single integration that aggregates data from multiple upstream sources. - **Supermetrics-connected platforms** can be used as data sources for [self-serve data ingestion](/v1/docs/how-to-get-started-with-self-serve-data-ingestion) to automate the data pull and mapping. The following platforms are currently supported: - HubSpot - Adobe Analytics 2.0 - Klaviyo - Shopify - Mailchimp ### Example: churn prevention using contract end date A subscription business wants to target customers whose contract end date is approaching: 1. The billing system provides contract end date and renewal status as profile attributes. 2. A daily sync keeps these attributes up to date. 3. An audience is defined as "contract ends in 30 days and renewal not confirmed". 4. A journey triggers reminders and offers across available channels. 5. When renewal status changes, the profile updates, and the customer exits the journey. This use case depends more on profile ingestion than on website tracking. ## Before you begin Make sure that you have the following details ready before setting up profile ingestion: - You have identified which system is the source of truth for each attribute. Use a source that has the most reliable data for the attributes you want to ingest. - You have a stable customer identifier that matches across systems. - You have defined the necessary attributes for your first activation use cases. Most implementations achieve better results by starting small, as in the following examples. This minimal set is enough to support several high-value activation patterns without creating a large mapping effort: - **Customer identifier**: Customer ID, account ID - **Relationship status**: Prospect, active, churned - **Value signal**: Tier, value band, LTV segment - **Time-based attribute**: Renewal date, contract end date - **Consent and preferences**: Email opt-in, channel preferences - You understand the update cadence required for each attribute. The right cadence depends on the use case. The goal is predictable freshness for the decisions being made, not maximum frequency: - **Daily** is often enough for value bands, tier, and lifecycle status. - **More frequent** may be needed for renewal windows, eligibility flags, or consent updates. - **Real-time** is typically reserved for attributes with immediate activation impact. ## Instructions For sources supported by Supermetrics connectors, you can create a data stream on the Supermetrics Hub instead of connecting manually. The data stream automates the connection, data pull, and storage. See our [guide for getting started with self-serve data ingestion for step-by-step instructions](/v1/docs/how-to-get-started-with-self-serve-data-ingestion). ### Step 1: Set up the profile sync To ingest the profile data, connect to the source system and define what data to ingest, and when: 1. Connect the source system using the provided integration method in our Data Activation setup guides. 2. Map the source fields to platform profile attributes. 3. Specify the customer identifier field for matching. 4. Set the sync schedule based on your freshness requirements. 5. Run an initial sync to populate profiles. ### Step 2: Validate attribute values After the sync completes: 1. Go to **Data** → **Profiles**, where you can search with the identifier to check sample profiles to confirm attributes appear correctly. 2. Verify that values match what you expect from the source system. 3. Go to **Orchestration** and then **Create Audience** to test that audiences using these attributes populate as expected. ## Verify the setup works After setting up profile ingestion: 1. Confirm that profiles have the expected attributes populated. - Go to **Data** → **Profiles** and search for the profiles with the identifier. If the attributes don't appear for the profile, check that the sync is running. 2. Check that attribute values update when the source changes (after the next sync). - If the values are stale, the sync cadence may be too low. To fix this, increase the sync frequency. 3. Validate that audiences based on these attributes include the right profiles. - If the attributes connect to the wrong profiles, there is likely an identifier mismatch. Check the customer ID mapping. - If you see duplicate profiles, check that you use consistent identifiers across the sources. 4. Test a journey that uses a profile attribute as an entry or exit condition. - Under **Orchestration** → **Create Orchestration**, set up an entry condition and count profiles on a step or two to confirm that profiles go through each stage as expected. ## More resources - [Identity resolution and profile model](/v1/docs/identity-resolution-and-profile-model) - [About flow of data in self-serve data ingestion](/v1/docs/about-flow-of-data-in-self-serve-data-ingestion) - [How to map source fields for data ingestion](/v1/docs/how-to-map-source-fields-for-data-ingestion) - [About flow of data in self-serve data ingestion](/v1/docs/about-flow-of-data-in-self-serve-data-ingestion)