Personal Shopper
Personal Shopper is a guided product discovery flow. A visitor clicks a button on your site, answers a short series of AI-generated questions (with an optional photo), and gets a personalized shortlist of products with a short explanation of why each was picked.
It’s the in-store advisor experience, online — and a much sharper conversion driver than static quizzes or search bars.
How activation works
Section titled “How activation works”You attach a Personal Shopper to a CSS selector on your site. When a visitor clicks any element matching that selector, the matching Personal Shopper opens. You can run multiple Personal Shoppers in parallel on the same store, each with its own selector, persona, prompts, and collections — for example one for skincare routine recommendations on the homepage, another for gift discovery in the navigation.
A Personal Shopper without a cssSelector is never triggered.
Where you configure it
Section titled “Where you configure it”Everything is self-serve from the Dialog dashboard, at:
https://app.askdialog.com/organization/{your-org-slug}/personal-shoppersFrom there you create Personal Shoppers, edit their content, configure CRM integration, and publish them. There’s nothing to email support about for setup.
Status workflow
Section titled “Status workflow”A Personal Shopper moves through three states:
- Draft — visible only in your dashboard, not exposed to visitors.
- Published — live on the storefront and triggerable from its CSS selector.
- Archived — taken offline, kept for reference.
Only published Personal Shoppers are fetched by the widget.
Configuration fields
Section titled “Configuration fields”Identification
Section titled “Identification”- Name — internal label for your team.
- CSS selector — the selector on your site whose clicks trigger this Personal Shopper.
Introduction
Section titled “Introduction”- Introduction text — what the assistant says when the conversation opens. Per-locale.
Questions
Section titled “Questions”- Min / max number of AI questions — bounds how long the qualification flow runs before recommendations.
Photo capture (optional)
Section titled “Photo capture (optional)”Visitors can be asked for a photo (skincare, hair, outfit fit, etc.) to inform the recommendations.
- Photo enabled — turn on / off.
- Default camera view —
frontorback. - Photo capture guidelines — per-locale instructions shown to the visitor (e.g. “Take the photo in natural light, no makeup”).
Email collection (optional)
Section titled “Email collection (optional)”- Email collection enabled — turn on / off.
- Placement — when the email is asked:
onStart— before the qualification starts.beforeDiagnostic— after the qualification, before the recommendations.onCompletion— after the recommendations.
- Email message — per-locale prompt shown alongside the input.
Marketing opt-in (optional)
Section titled “Marketing opt-in (optional)”- Marketing opt-in enabled — show a consent checkbox alongside the email.
- Marketing opt-in label — per-locale wording. Keep it compliant with your local regulations.
AI prompts (advanced)
Section titled “AI prompts (advanced)”Three prompts shape the AI’s behavior. The dashboard generates locale-appropriate defaults; override them when you want a specific tone or constraints (e.g. “always ask about skin sensitivity before recommending”).
- Information collection prompt — guides how the assistant asks the qualifying questions.
- Results prompt — guides how it explains the chosen products.
- Photo analysis prompt (only used if photo is enabled) — guides how the assistant interprets the uploaded image.
Collections scope
Section titled “Collections scope”Restrict — or boost — the catalog the Personal Shopper recommends from. Each Shopify collection you attach to a Personal Shopper has a scope:
- Included — only products from these collections are recommendable.
- Excluded — products in these collections are never recommended.
- Promoted — products in these collections are favored when relevant.
Example: a “Gift Guide” Personal Shopper might be included: ["Gift collection"] to keep recommendations on-topic.
CRM tags (Klaviyo / Yotpo)
Section titled “CRM tags (Klaviyo / Yotpo)”Each Personal Shopper can carry a list of CRM tags (a tagName and an optional description). When the visitor completes the flow and submits their email, the tags are attached to the profile pushed to your CRM. Use them to drive downstream marketing flows (“anyone tagged skincare-dry-skin gets the dry-skin nurture sequence”).
Klaviyo integration
Section titled “Klaviyo integration”Klaviyo is the supported CRM platform out of the box (Yotpo is also wired in but with less day-one polish).
What Dialog sends to Klaviyo for Personal Shopper:
- A profile event when the visitor submits their email during the flow — so Klaviyo knows they engaged and has their address.
- A profile event when the visitor completes the Personal Shopper — so you can branch a flow on it.
- The CRM tags configured on the Personal Shopper get attached to the profile.
That’s the entire Klaviyo wiring — there’s no need for a separate metric setup, custom JSON, or webhook.
How to configure Klaviyo on your org:
- Go to
https://app.askdialog.com/organization/{your-org-slug}/personal-shoppers. - Open the CRM configuration.
- Pick
Klaviyoas the platform. - Paste your Klaviyo private API key.
- Save. From the next published Personal Shopper completion, events flow to Klaviyo.
For the legacy diagnostic email template (separate from Personal Shopper), see Klaviyo integration.
Dashboard insights
Section titled “Dashboard insights”Personal Shopper performance shows up in your Dialog dashboard alongside the rest of your assistant metrics. Track:
- Completion rate — how many visitors who start the flow reach the recommendations.
- Email capture rate — how many submit their email.
- Click-through to product — how many click a recommendation.
- Add-to-cart from Personal Shopper — direct conversion from the flow.
If you run multiple Personal Shoppers, you can compare these numbers across them in the dashboard to see which entry point converts best.
Quick checks (debug)
Section titled “Quick checks (debug)”If you’ve configured a Personal Shopper and clicking the CSS selector does nothing:
- Widget loaded on the page? The assistant widget must be present on the page where the trigger sits. On Shopify and Prestashop this is automatic on pages with the widget. On custom installs, make sure your storefront code loads the SDK on those pages.
- Selector actually matches? Open devtools and run
document.querySelectorAll('YOUR_SELECTOR')— if it returns nothing, the selector is wrong. - Personal Shopper status is
published? Drafts are not fetched by the widget.
For deeper investigation, email support@askdialog.com with the URL where you expect the trigger and the selector you configured.