Profile Faces with Data

How to Design Profiles for Journey Optimizer from Day One

Or: How Not to Wait Until It’s Too Late to Personalize Like You Meant To


Hello, confused marketing technologist.
You’re sitting in your Steelcase chair, sipping mediocre coffee, wondering why your expensive, glittering Adobe Journey Optimizer (AJO) won’t send emails to people who definitely, absolutely exist in your system. You checked twice. Three times.

“It’s all in the data,” someone mutters behind a bright Canva template. And they are right. And they are wrong.

See, AJO is a bit like a spaceship (NASA-era, not the weird new ones). Beautiful to behold. Capable of amazing things. But without the right fuel, namely structured, identified, and blessed data, it just sits there humming, refusing to launch.

Let’s rewind.


Profiles Are Not People (But They Might Be)

In Adobe Experience Platform (AEP), a profile is not a person. Not yet. It is a potential person. A glorious soubise of signals: email, ECID, loyalty ID, maybe a cookie or two.

Gotta stitch these things together, Frankenstein-y, into something living. Something AJO can recognize and say:
“Oh hey, this is James. He likes purple shoes. Let us send him a message about purple shoes.”

But that can’t happen unless you’ve done your part. Let’s talk about that part.


Step One: Schemas That Don’t Suck

A schema is kinda like your elevator pitch to a computer. Or a collection of words you might use to describe someone before they walk into the room. In AEP, it’s how you define the attributes and events that form a person’s profile.

The secret: Use the XDM Individual Profile class from the start.

Stick to Adobe’s standard field groups as the foundation. If you must customize, do so as a minimalist, be Dieter Rams:

  • firstName – Sweet.
  • preferred_shoe_size – Alright.
  • productSeenButDidNotClickBecauseDistractedByIndigestion – Nope.

Step Two: Identity Is Everything

AJO does not speak to profiles. It speaks to identified profiles.

If your data comes in anonymously (it should and it will), make sure it carries at least one identity namespace that AEP understands. Like:

  • email (for email campaigns, obvi)
  • ECID (Adobe’s universal browser ID)
  • phoneNumber or CRM_ID (oooh, you fancy)

And for the love of Kilgore Trout, map the identities correctly in the identity graph. Stitch ‘em. Merge ‘em. Adobe’s Profile Service will gladly play matchmaker. Let it.

“To love [market to] someone means to see them as God intended them [their profile is enriched].”

Dostoyevsky (ish)

Step Three: Events Are Not Suggestions

Let’s say James visits your site. Again. He views a product. Again. Puts it into the cart. Again.
That’s not just web traffic, that’s behavioral manna, right? 1 visit? Who cares. 2? Okay, right on. 3, 4, 5!? We should probably do something about this.

But if you don’t capture that event in AEP with:

  • A matching identity
  • A decent schema (like XDM ExperienceEvent)
  • A timestamp that makes sense

…then that manna turns to slop.

AJO can’t properly trigger journeys, calculate eligibility, or send “abandoned cart” nudges unless the event is real, clean, and aligned.


Bonus Round: Consent Is Not Optional

You think you have consent? Prove it.

Store consent in your schema. Something like:

json

"consents": {
  "marketing": true,
  "email": true
}

The built-in field groups have more than enough standard and even somewhat obtuse fields ready for this. AJO respects them. It must. It wants to be good puppers.
If your profiles don’t have clear opt-in status, AJO will be a mime. Silent and a tad annoying.


All This… for One Reason

So when the day comes, and your MarComm team says,
“We’re launching a birthday journey with dynamic content, across channels, in real time! Oh, and we need it by EoD on Wednesday.”

You don’t panic. Well, maybe a little about the absurd timeline.

But you smile anyway, lean back in your well-adjusted chair, and whisper calmly to yourself:

“We built AJO-ready profiles. From day one.”

Can do, will do.


TL;DR

  • Use the XDM Individual Profile schema. Don’t reinvent the inclined plane.
  • Stitch identities. No loose ends. No mysteries. Rules can be fun.
  • Feed AEP real-time behavioral events with matching IDs.
  • Respect consent, always.
  • Don’t wait to “fix your data” after the journeys have begun. That’s just silly.

Need help crafting a profile strategy that won’t completely implode on launch? I’ll be here. Watching the data constellations align into pretty tessellations.