How Flowcode Activates Identity Across Every Interaction
Flowcode's identity solution is built around a simple idea: brands should be able to recognize and act on their audience the moment someone engages.
Two-way syncing and enrichment campaigns make this possible together. Two-way syncing brings your existing CRM contacts into Flowcode and sends real-world engagement data back to your database automatically. Enrichment campaigns activate those contacts by linking each one to a real device, creating a valid, actionable FlowID.
Together, they close the gap between who you know and who you can recognize in the real world.
Understanding FlowIDs and Identity
FlowID is Flowcode's proprietary identity solution that captures rich, real-time first-party data at every brand touchpoint then enriches it into dynamic audience profiles that power retargeting, personalization, and smarter marketing across your entire stack.
A FlowID can only be created when Flowcode captures a real interaction, a scan or a click. That interaction allows Flowcode to recognize the user's device and link it to a known identifier like an email address or CRM ID.
Until that moment, even a fully populated CRM record is not yet actionable inside Flowcode. Two-way syncing and enrichment campaigns close that gap.
Two-Way Syncing
Two-way syncing lets brands bring their existing CRM contacts into Flowcode and automatically send enriched engagement data back out. Instead of treating your CRM and your Flowcode data as separate systems, two-way sync connects them under a single roof.
Import from anywhere your contacts already live. Upload a CSV or sync directly from a native integration—HubSpot, Salesforce, or Marketo. Contacts land in Flowcode tagged by source so you always know where they came from and whether they've interacted with a flow yet. Note that the two-way sync lives in the same integration settings you're already using without a separate setup.
Built on BYO-ID. Two-way sync uses the custom primary identifier you set (email, loyalty number, or any CRM ID) as the shared key that makes bidirectional data flow possible without duplicating records.
Data flows back automatically. Once the contacts are imported, CRM attributes like loyalty status, lifecycle stage, or customer tier can flow into Flowcode and attach directly to each contact. At the same time, behavioral data from connections and clicks flows back to your CRM on its own.
Imported contacts are not yet FlowIDs. At this stage, Flowcode knows who the person is, but not which device they use to engage. Enrichment campaigns are what create that link.
Enrichment Campaigns
Two-way syncing gets your CRM contacts into Flowcode. Enrichment campaigns are what you do with them once they're here.
An enrichment campaign generates a unique FlowURL or Flowcode for each contact in your database, tied directly to their primary identifier. When that person clicks their link, Flowcode captures their device, assigns a FlowID, and links it to their CRM record. From that point forward, they're recognized across every future interaction automatically.
Audience First Start by filtering your imported contacts into a targetable segment by source, interaction status, upload date, or any contact property. Enrichment campaigns are intentional and one-to-one by design. Before launching, you'll see the exact campaign size so you have full control over who gets reached and when.
Bulk Asset Generation Once your audience is defined, Flowcode generates a unique FlowURL per contact. This FlowURL can lead to any traditional marketing (webpage, help article, offer) and doesn’t have to lead to a Flowcode-hosted experience. Each link is mapped to that person's primary identifier and stored as a contact property. Send it through your existing outbound channels—email, SMS, or direct mail. Each person receives their own personalized link.
From Click to FlowID When a contact clicks their link, Flowcode captures their device and immediately assigns a FlowID linked to their CRM identifier. From that point forward, you can leverage Smart Rules and dynamic modules to activate tailored experiences every time they engage in the real world.
Putting It All Together: Sports Team Example
Imagine a sports team runs a ticket sweepstakes during a televised game.
During the commercial, fifty people scan the Flowcode. Twenty-five complete the experience and submit their contact information. Those twenty-five immediately become actionable FlowIDs because Flowcode now knows who they are and which device they used to engage.
Five of those people were already known fans. The team had their information in its CRM, but those records had never been linked to a device. As a result, Flowcode could not recognize them in real time.
To solve this, the team runs an enrichment campaign, sending a marketing email with a personalized FlowURL to each existing fan in their database. Five fans click their link. On that first click, Flowcode assigns FlowIDs and links them to the team's CRM data.
When the commercial runs again, the results compound. Fifty people scan. Twenty-five convert. Five are already recognized. The team now has thirty actionable FlowIDs.
With two-way syncing enabled, the team pushes a key CRM attribute—Season Ticket Holder—into Flowcode. When the next campaign runs, Flowcode routes users in real time. Season ticket holders see a VIP experience. New fans see an acquisition offer. The same Flowcode delivers different outcomes instantly, based on identity.
Why It Matters
Without these two features, identity remains fragmented. CRM contacts exist in your database without real-time recognition. Personalization is delayed. Real-world engagement disappears into a data gap.
With two-way syncing and enrichment campaigns, Flowcode becomes the system that activates identity. Known contacts are recognized the moment they engage. CRM data informs real-time routing. Behavioral signals continuously enrich customer profiles, and every campaign you run makes your data stack stronger.
Together, they transform Flowcode from a point-in-time engagement tool into a living identity layer. Brands can stop simply collecting data and start acting on it immediately, intelligently, and at scale.
