Managing contacts | IcloneU
Contacts

Managing contacts

Every person your Clone talks to becomes a contact. The Contacts page is where that audience lives — a searchable, filterable list on the left and a deep profile on the right, with the Clone's own observations folded in. This guide walks the whole surface: groups, segments, filters, broadcasts, and the four tabs of a contact's profile.

12 min read Beginner Updated October 31, 2026

Open Contacts from the left sidebar and you land on a three-panel workspace: a collapsible left sidebar that groups and filters your audience, a contact list in the middle, and a full profile panel on the right. Most of a contact is built for you — when someone messages your Clone on any connected channel, a contact is created automatically and then enriched as the conversation goes on. This guide covers how to read, search, organise and annotate that audience, and how to message a group of it at once.

Included with every paid plan
Contacts are created automatically

You don't add contacts by hand to get started — they appear the moment a person first messages your Clone. When you do want to add someone yourself, the list header has two buttons: New (its tooltip reads New Contact) adds one person — see Adding a contact by hand below — and Import (its tooltip reads Import Contacts) opens a CSV importer for seeding contacts from a spreadsheet — see Importing contacts from a CSV below. Both show only to members who can manage contacts.

The four tabs

The Contacts area is really four pages behind one tab strip at the top — Contacts, Tags, Fields and Broadcasts. Most of this guide is about the first one, Contacts, which is where the list and profiles live; Broadcasts gets its own section further down because it is where the audience you built here actually gets messaged.

  • Contacts — the list of everyone who has talked to your Clone, plus each person's profile.
  • Tags — the labels you can attach to contacts (some applied by hand, some by the AI or an automation).
  • Fields — the lead-qualification fields your Clone tries to collect during conversations.
  • Broadcasts — sending one message out to a group of contacts at once, on either of two channels, with a per-contact delivery report afterwards.
Letting your Clone see a tag or a field

A tag or a field can be shared with your Clone. On Tags, edit or create a tag and switch on Visible to the clone: when a person carries that tag, the Clone knows it while chatting with them. As the hint puts it: Name the tag so it explains itself. The clone never mentions tags to the customer. On Fields, edit a field and switch on Visible to the clone in its AI Prompt section; the Clone then knows that field's value for the person, including values a workflow's Set Custom Field step wrote. Both are off until you turn them on. The Tags and Fields lists show the setting in a Visible to clone column, Shared or Not shared. It is worth a look on Fields: until late September 2026 the field editor always opened with the switch off, so saving any edit to a field switched sharing off. The Clone gets the shared tags and field values (up to 15 of each, values cut at 200 characters) on every reply in a private chat — always on WhatsApp, Messenger, Instagram and Telegram, and on web chat or email only once the person has verified who they are in that conversation — and never when it answers a public comment. It treats them as the current truth, doesn't bring them up unprompted, never mentions tags or fields, and they never widen what it may offer: a tag doesn't authorize a discount or a refund.

Reading the contact list

The middle panel is the list itself. Each row shows the contact's avatar with a small channel badge, their name (or Anonymous when no name is known), a coloured status dot, and a relative time for the last interaction. Below the name you'll see a one-line summary of the last interaction, up to two tag pills, and a couple of mono stats — an engagement number and, when there are any, a message count. When a contact hasn't had an interaction yet, that summary line instead reads a muted, italicised No interactions yet.

Two small icons can sit next to the name. A blue check badge means the contact is Verified. A bell means the contact is opted in to automated messages (Opted in to automated messages); a slashed bell means they've opted out (Opted out of automated messages).

Status dotMeans
GreenActive
GreyInactive
RedBlocked

Above the list, a toolbar holds a search box and a sort dropdown. Search matches across name, email and phone — its placeholder reads Search by name, email or phone. The list header counts the audience: N total, and when a filter or segment is active, how many match current filters.

  1. Search for someone

    Type into the search box at the top of the list. It searches name, email and phone, and the list narrows as you type (after a short pause).

  2. Change the sort order

    Use the dropdown next to the count. The options are Last interaction, Engagement, Name and Date created.

    Tip

    Last interaction is the default, so the people who messaged most recently sit at the top — usually who you want to see first.

  3. Open a profile

    Click a row. The right-hand panel fills with that contact's full profile. The first contact is selected for you when the list loads.

Last interaction here counts more than messages

The time on the row, the Last interaction sort and the Last interaction filter all read a timestamp that moves on any touch of the contact — including a returning visitor clicking one of your ads, tapping a referral link or scanning a QR code without writing a word. Automations read a different, stricter timestamp: one that only moves when the contact actually sends a message. So a person who last wrote 45 days ago and clicked an ad this morning shows as recent here, while a workflow condition on days since the last interaction still counts 45. When you want “hasn't replied in N days”, build it in a workflow rather than eyeballing this column.

Adding a contact by hand

Click New in the list header to open the New Contact form: Add one person by hand. You can complete their profile after saving. It asks for a Name plus an Email or a Phone — the name and at least one of the two are required. Write the phone with its country code, as the hint says — Include the country code, e.g. +52 55 1234 5678. It must start with + and have 8 to 15 digits. When your account has tags, a Tags box lets you tag the person straight away. Click Create: a Contact created toast confirms, and the list opens the new contact so you can fill in the rest of its profile.

What a hand-added contact is

It lands in the Imported bucket, like a CSV row, but without the Imported tag, and its Source reads Added manually. If the email or phone is already on one of your contacts, nothing new is created and the tags you picked aren't added: you see A contact with this email or phone already exists. Showing it instead. and the list opens that contact. The phone check compares the exact digits, so the same number saved in another form on another contact can still give you a second contact; the two are then linked as the same person, because linking compares the last 10 digits (see Linked contacts below). Adding a contact sends no message by itself, but the person can still enter a sequence that starts on Contact created, or on a tag you gave them. No workflow trigger starts for them, not New contact created and not Tag applied, because they have no channel.

Importing contacts from a CSV

To add many people at once, use the Import button in the list header (its tooltip reads Import Contacts). It opens a three-step CSV importer: upload the file, map its columns, review the result.

  1. Upload the file

    Click Import and add your file — drag it onto the dropzone (Drag and drop file here) or click Choose a CSV file. Only .csv files are accepted, up to 8 MB.

  2. Map your columns

    The importer reads the file and reports N rows detected. Match your columns below. The target list opens with eight built-in fields — Name, Email, Phone, Country, Language, plus three commerce fields (Orders (count), Total spent, Last purchase date) — and then continues with every active field you've defined on the Fields tab, so a spreadsheet can fill those too. Point each target at one of your columns, or leave it on — Ignore —. Common header names are pre-matched for you (English and Spanish ones are both recognised); one of your own fields is pre-matched when a column header is exactly its Key from the Fields tab (a space in the header counts as an underscore). The three commerce fields are optional; map them to seed a contact's purchase stats, which show up in the Overview Engagement section.

    Tip

    Only the columns you map are imported; everything else in the file is ignored.

  3. Import and review the result

    Click Import Contacts. While it works you'll see live progress — the stage and a running count — plus a Stop import button; a stopped import keeps what it already brought in, and running the import again continues where it left off. Very large imports are processed in batches, and if one is cut short the result says so and asks you to run it again to continue. When it finishes you'll see Import complete with a summary — Imported: N · Already existed: N · Empty skipped: N — plus N rows could not be imported. if some rows couldn't be read. Click Done.

What import does (and doesn't do)

Imported contacts land in an Imported platform bucket — they show up under the Imported chip in the Platform filter and carry an Imported tag. Re-importing the same file doesn't duplicate people: rows are matched by email, then phone, and existing ones are counted as Already existed (though rows with only a name — no email or phone — can duplicate on a re-import). Rows with no name, email or phone are skipped. Importing sends no message by itself, though new contacts can still enter a sequence that starts on Contact created, or on a tag the import gives them. And when an imported row shares an email or phone with a contact from a real channel, the two are linked automatically as the same person — see Linked contacts below.

Your own fields import too

Every active field on the Fields tab is a mapping target, so an import can fill a renewal date, a plan name, a customer number — not just the built-in eight. Three things worth knowing. A blank cell leaves whatever the contact already has, so an import tops values up instead of wiping them. A field whose type is Date is normalised to yyyy-MM-dd on the way in, which is what lets a workflow's date trigger read it later — write that column in that form and the match is exact. And the values land in the Custom fields section of the contact's Overview tab — the hint beside that section still reads written by Automations, which is one writer of several: an import writes there too.

When your account has a Shopify store connected, the importer offers a second source: an Import from Shopify option that pulls the store's customers straight in — no spreadsheet needed. With a single store it's one click; with more than one, a store picker appears (the Active store is listed first, and any non-active store is flagged needs attention). The customers come in as Imported contacts enriched with their purchase history and order count, carry both an Imported and a Shopify tag, and are stitched to any existing profile that shares the same email or phone. Like a CSV import, this pulls them in as contacts and sends no message by itself (new contacts can still enter a sequence that starts on Contact created, or on the Imported or Shopify tag).

With a WooCommerce store connected (since production 1.137.0), the importer also shows Import from WooCommerce, with its own store picker when you have more than one store. It brings in the store's registered customers as Imported contacts tagged Imported and WooCommerce, then records the store's paid orders from the last 12 months on each buyer's purchase history; a customer who checked out as a guest, without an account, arrives from their order. Running it again refreshes the purchases without counting an order twice, and it sends no message by itself.

Groups: filter by status

The top section of the left sidebar is Groups — the fastest way to narrow the list by contact status. There are five entries:

  • All Contacts — everyone, with a running total next to it.
  • Active — contacts with an active status (green dot).
  • Inactive — contacts who have gone quiet (grey dot).
  • Blocked — contacts you've blocked (red dot).
  • Archived — contacts you've archived. Archiving is a soft delete that hides a contact from the normal groups without losing their history; it's a separate axis from status (not Active/Inactive/Blocked), so it gets its own entry here. Open an archived contact and its profile shows a Restore action to bring it back.

Click one to filter the list to just that group; click All Contacts to clear it. Picking a group resets any tag filter you had selected.

Collapse the sidebar for room

The header of the sidebar has a toggle that collapses it to a thin icon rail, giving the list and profile more width. The groups stay clickable while collapsed.

Segments: saved audiences

A segment is a named, reusable audience that appears in the middle section of the sidebar. Each segment shows a coloured dot, its name, and a count of how many contacts it holds. There are two kinds, and the difference matters:

TypeHow it's builtWhen it updates
StaticManually curated contact listOnly when you change it by hand
DynamicAuto-matched by filter criteriaAutomatically, every time it's queried
Static segments cannot be filled yet — use Dynamic

Static is offered in the editor, but nothing in IcloneU adds a contact to one today: there is no add to segment control on a contact, none in the segment editor, and no automation node that does it. So a static segment stays at zero members — the list shows nothing when you click it, and a broadcast aimed at it resolves to nobody and finishes as Sent with no recipients rather than telling you it was empty. Build every audience you actually intend to reach as Dynamic.

Dynamic segments carry a small lightning bolt to mark them apart. They store a set of filter criteria and re-run them whenever you open the segment, so the membership stays current as contacts come and go.

  1. Create a segment

    Click the + on the Segments section header. The New Segment editor opens.

  2. Name it and pick a colour

    Give the segment a Name (required) and an optional Description and Color. The colour is what shows as the dot in the sidebar.

  3. Choose Static or Dynamic

    Pick Static (Manually curated contact list) or Dynamic (Auto-matched by filter criteria).

    Note

    Choosing Dynamic reveals the Filter Criteria builder, in this order: platform, contact status, contact type, tags and Exclude tags (both only once your account has tags), a minimum engagement score; then Contact details — Email, Phone and Name, each with contains, is exactly or ends with (for the phone, Only the digits are compared); Location & language — Country, Language and Time zone, offering only values your contacts carry (the group shows only when some contact has one); Dates — Created from, Created until, Last interaction from and Last interaction until, where an until date includes that whole day; Custom fields — + Add field condition adds a row of field, equals, contains or has a value, and value, and every row must match (the group shows only when you have active fields); Segments — In segment and Not in segment, with the hint A referenced dynamic segment is evaluated one level deep; its own segment conditions are ignored. (shown only when there's another segment to pick); since production 1.148.0, a Phone calls group — Has had at least one call (placed or received), Last call ended as, Called since and Last call before (phone calls come with the Expert and Enterprise plans, and the count of active filters at the bottom leaves these four out); then a Purchases group — Verified buyers only (has purchases or the verified-buyer badge), Min. total spent, Min. orders, Max. orders (its hint reads 0 = never purchased), Purchased since and No purchase since; then a Reachability group of four checkboxes — Reachable by WhatsApp (has a phone number), Only contacts opted in to SMS/WhatsApp marketing, Only contacts with an email address and Only contacts opted in to email marketing; and finally first-touch / last-touch UTM campaign, source and medium. A summary line counts how many criteria are active — N active filter(s), or No criteria set — segment will match all contacts when you've set none.

  4. Save

    Click Save. The segment appears in the sidebar; click it any time to load that audience.

Two purchase criteria that don't mean what they look like

Max. orders set to 0 is the way to say never purchased — it is the only purchase control that treats zero as a real value rather than as "off", so clearing the box turns the filter off but typing 0 turns it into a never-bought filter. And No purchase since selects people whose last purchase predates that date, so it finds lapsed buyers only — someone who never bought at all has no last-purchase date and is not matched. For a true "never bought" audience use Max. orders 0; for "bought once, then went quiet", pair Min. orders 1 with No purchase since.

Hovering a segment row reveals a pencil to Edit it and a trash icon to Delete it. Deleting asks you to confirm and cannot be undone.

Turn a filter into a segment

If you've set up filters you like, the Save as new segment button at the bottom of the Filters section opens the same editor pre-loaded — a quick way to bottle a useful filter set for reuse. The same criteria builder also backs a broadcast's inline audience and a sequence's enrolment filter, so a criteria set you learn here is the same one everywhere.

A segment can start an automation

In Automations, a workflow can be triggered by Segment entered (Contact enters a saved segment) — pick one of your segments as the Segment and the flow runs for each contact who newly matches it. The drawer states the behaviour: Fires when a contact newly matches the selected segment (checked every 15 minutes). Contacts already in the segment when you save don't fire; a contact that leaves and re-enters fires again. Three things the hint doesn't say. There is no any segment option, so a trigger with no segment picked simply never fires. Entries are processed in batches of up to 200 per segment each time it is checked, so a criteria edit that suddenly matches thousands drains over several rounds rather than firing at once. And the trigger reaches a contact through their messaging channel, so an imported contact with no channel identity is recorded as having entered but never starts the flow.

Filters: narrow on the fly

Below Segments, the Filters section refines the list without saving anything. Filters combine with each other, and the header shows a Clear link when any are active.

Or just describe who you're looking for

An AI filter box sits on the toolbar — its tooltip reads AI filter — describe who you're looking for and its own example is E.g. customers with a @gmail.com address who haven't bought in 6 months. Type plain language, press Filter, and it converts your description into regular filter chips — total spent, order count, purchase dates, verified-buyer status, contact status, contact type, platform, engagement score, tags to include or leave out, an email, phone or name match, created and last-interaction dates, custom fields, country, language, time zone and segment membership — which you can inspect and remove one at a time like any filter you set by hand. Each request describes the whole audience, so a second request replaces the first rather than adding to it, and applying one clears any selected segment. If part of your sentence has no matching filter you'll see Applied, except: …; if none of it does, Couldn't turn that into a filter — try describing the contacts differently.

  • Platform — chips for Facebook, Instagram, WhatsApp, YouTube, Telegram, Mercado Libre, Website and Imported (the bucket for contacts added by an import or by hand). Pick one to show only contacts from that channel (clicking the active one clears it).
  • Tags — chips for each tag in your account. Selecting several is AND-combined: a contact must carry all of them. If you have more than eight tags, a + N more chip expands the rest.
  • Last interaction — quick windows of 24h, 7 days and 30d, plus a calendar-range button that opens a date picker for a custom last-interaction window.
  • Engagement score — a slider that sets a minimum score from 0 to 100; contacts below it drop out of the list.
Filters and segments don't stack

When a segment is selected, the Filters section is disabled and shows the note Filters apply when no segment is selected. Clear the segment (with the small × on its active chip, or by clicking another group) to filter freely again.

Broadcasts: one message, many contacts

The Broadcasts tab is where the audience you built here gets messaged. New opens the New broadcast editor, and every broadcast answers the same four questions: which channel it sends on, who it goes to, how many of them at most, and when. Afterwards, the Delivery button on the toolbar opens a per-contact report.

  • Automation — Send a workflow per contact (WhatsApp, connectors…). Every contact in the audience is run through one workflow, on the platform that workflow's account is attached to. The workflow has to be Live: a broadcast pointing at a draft is marked Failed before a single contact is attempted, with the reason The automation is still a draft — set it to Live and reschedule.
  • Email campaign — Compose an email and send it through your email marketing account. No workflow is involved. IcloneU hands the surviving audience to your email marketing provider, and from there on the provider owns delivery, its own suppression list and the unsubscribe link, and an unsubscribe made there comes back and turns off the contact's email-marketing consent in IcloneU.
The channel is chosen once and then locked

The Channel selector only appears while the broadcast is new. Once it is saved the choice is fixed, because switching would orphan the workflow or the email you already wrote — to change channel, create a new broadcast. Everything after the channel step is shared: both channels use the same audience picker, the same Maximum contacts cap, the same schedule and the same delivery report.

  1. Name it and pick the channel

    Give the broadcast a Name, then choose Automation or Email campaign. On the automation channel you also choose the flow: Use existing to point at a workflow you already built, or Create new for this broadcast to start one that belongs only to this broadcast and is built after saving.

  2. Choose the audience

    Saved segment (Use an existing contact segment) or Custom filter (Pick status, platform, tags, engagement…), which opens the same criteria builder segments use. A live count sits underneath: N contact(s) match.

    Note

    Two groups are removed from every audience on both channels, before that count is even shown: contacts who opted out of automated messages, and archived contacts. You never have to exclude them by hand.

  3. Cap it, if you want

    Maximum contacts — Optional cap on how many contacts receive this broadcast, whatever the filter matches. 0 = no limit. Set one below the number that matches and the count line becomes N contact(s) match — will send to at most N; a cap at or above that number has nothing to trim, so the plain count line stays exactly as it was.

    Heads up

    The cap counts audience rows and is applied before the per-person and per-address checks in the table below, so a capped send normally reaches fewer people than the number you set. On the email channel it can be far fewer, because the consent check also runs after the cap: cap 500 on an audience where only a tenth have given email-marketing consent and roughly fifty emails go out.

  4. Schedule it, or park it

    Send now (Dispatch on the next tick), Schedule for later (Pick a date and time) or Recurring (Repeats on a schedule) with a frequency, an end rule and a start time. Dates and times are entered and shown in your browser's timezone, not the server's. Save as draft parks it without arming anything; Schedule commits it. A broadcast that is due starts on the next check, within about 30 seconds. When you open the list or save a broadcast and one is due or sending, the list reads itself again every 5 seconds, so its row moves from Scheduled to Sending to Sent without a reload (it stops checking once nothing is in flight, or after 5 minutes). A broadcast scheduled for later whose time comes while the page stays open isn't followed this way unless the list is still checking another broadcast: reload the page to see it move.

The email channel needs an email marketing connection first

Connect your email marketing provider on the Connectors tab of Automations first. Three work here: Klaviyo, with a Klaviyo private API key; Mailchimp, with a Mailchimp API key, which ends in your account's data-center suffix such as -us21; and Flodesk, with a key you create in Flodesk under Account → Integrations → Flodesk API. Until one is connected, the email pane says so and points you there. Each provider shapes the pane its own way. With Klaviyo or Mailchimp, the compose pane asks for Email provider connection (Mailchimp then adds the audience to send to, see below), Subject, an optional Preview text, From name and From email (Must be a sender address verified with your email marketing provider.), then the email itself: Write it here, where Email body (HTML) takes raw HTML you paste in (there is no visual editor), or a template saved in your provider's account. With Flodesk there is nothing to compose, as the Flodesk note below explains. The audience rule is stricter than the automation channel's, and the pane says so: Only contacts with an email address and email-marketing consent are included. Your provider also applies its own suppression and unsubscribe lists. Consent has to be recorded as a yes — a contact whose consent was never captured is excluded, not assumed.

If you send through Klaviyo

Four things to know when you send through Klaviyo. Send from an address on your own domain, verified with Klaviyo: mail from a free address such as Gmail can't be authenticated and lands in spam, and the pane warns you when you type one, though it doesn't stop you. IcloneU sets only the From name and From email on the campaign — there is no separate reply-to address. Every run creates a new list in your Klaviyo account, plus a template when you wrote the body here, and IcloneU never deletes them, so tidy them up in Klaviyo from time to time. And the Klaviyo template picker shows at most 50 of your saved templates.

If you send through Mailchimp

A Mailchimp campaign always goes to one of your Mailchimp audiences, so the pane asks for a Mailchimp audience first, and the hint under it explains the rest: Recipients are added to this audience and tagged for this broadcast, and the campaign goes only to that tag. Contacts who unsubscribed in Mailchimp stay unsubscribed and are skipped. A note below it adds what that can cost: Sending adds new recipients to your Mailchimp audience as subscribed contacts. Mailchimp bills by audience size, so this can increase your Mailchimp bill. Someone already in the audience keeps the status Mailchimp has for them: a person who unsubscribed there gets no email, and if IcloneU hadn't yet turned their consent off (see below), their row in the delivery report shows Failed with Not an active subscriber in the Mailchimp audience (status: unsubscribed). If nobody in the send is an active subscriber there, nothing is sent: the broadcast fails, and every row in its report reads None of the recipients is an active subscriber in the Mailchimp audience (they unsubscribed, bounced or are pending confirmation there) — campaign not sent. The From email goes on the campaign as its reply-to address. Just before sending, IcloneU runs Mailchimp's send checklist; when it finds a problem, a sender domain not verified in Mailchimp for example, nothing is sent and the broadcast fails with The email provider rejected the campaign: Mailchimp's send checklist blocked the campaign: followed by Mailchimp's own explanation. By then the recipients are already in the audience, and the unsent campaign stays in your Mailchimp account: fix the problem there and reschedule the broadcast. Every run creates a new campaign and a new tag, both named after the broadcast, and IcloneU never deletes them. The Mailchimp template option lists up to 100 of your saved templates.

If you send through Flodesk

Flodesk can't send a one-off campaign, so a Flodesk broadcast goes out through a workflow you design and publish in Flodesk. Picking a Flodesk connection swaps the subject, sender and body for a single Flodesk workflow picker, and the hint says how it works: Flodesk has no campaign API, so each recipient is enrolled in this workflow and its first email delivers your message. Design the email in Flodesk. For recurring broadcasts, enable "Allow repeat subscribers" on the workflow. Only active workflows are listed; with none, the pane reads No active workflows found in this Flodesk account. Create and publish one in Flodesk first. A note adds what that can cost: Sending adds the recipients as active subscribers in your Flodesk account. Flodesk bills by active subscriber count, so this can increase your Flodesk bill. A subscriber Flodesk won't email, such as one who unsubscribed there, keeps that status and isn't enrolled; if IcloneU hadn't yet turned their consent off, their row shows Failed with Not an active subscriber in Flodesk (status: unsubscribed). On a repeat send, someone the workflow already holds shows Failed with Already active in this workflow; the provider only enrolls each subscriber once, unless the workflow allows repeat subscribers. If the workflow is paused, unpublished or deleted after you schedule the broadcast, IcloneU sees it in Flodesk's list of active workflows before adding anyone, and the broadcast fails with The email provider rejected the campaign: The Flodesk workflow '…' is not active (paused, draft or deleted). Publish it in Flodesk and reschedule the broadcast. If that list can't be read at send time, IcloneU goes ahead with the send.

Unsubscribes in your provider come back

When someone unsubscribes in your email marketing provider — Klaviyo, Mailchimp or Flodesk — IcloneU turns off email-marketing consent for every contact with that address, so later broadcasts leave them out. For this, IcloneU sets up a webhook in your provider account before each broadcast; in Klaviyo it is named IcloneU unsubscribe sync, and Klaviyo then reports each unsubscribe as it happens. If Klaviyo won't accept that webhook, IcloneU instead checks each recipient's consent in Klaviyo just before the send: anyone who unsubscribed there has their consent turned off and gets a Skipped row reading Unsubscribed from email marketing in Klaviyo, and if that leaves nobody, the broadcast ends Sent without sending to anyone. Subscribing again in Klaviyo doesn't turn consent back on here.

Not everyone in the audience is attempted. A contact who is dropped gets a Skipped row in the delivery report with the reason in the Error column. The report shows IcloneU's own reasons in your language, while a provider's message, a bounce and the Klaviyo unsubscribe above stay in English. Which reasons you can see depends on the channel (an older broadcast can also show A human handover was open, a reason no longer used):

ReasonChannelWhat happened
Same person as another recipientAutomationThe same human matched on two channels. One send per person; the row that can actually be messaged is kept.
Not reachable on the sending channelAutomationThe contact has no identity on the channel the broadcast sends from. Imported contacts hit this on anything but a WhatsApp send, because only a WhatsApp send can fall back to the phone number on file.
No usable phone numberAutomation (WhatsApp)The fallback needs a number it can dial internationally. A number saved without its country code gets one added when its digit count fits the contact's country, or else your account's (from your business address or, failing that, a Mexican reply time zone); anything that still has fewer than 10 digits is skipped rather than guessed at.
Number not on WhatsAppAutomation (WhatsApp)WhatsApp already reported that number as unreachable, so it is not tried again. Correct the phone on the contact and it gets a fresh attempt.
Marketing frequency cap reachedAutomationThe contact has had too many marketing messages recently — see the callout below.
No email addressEmailNo address on file. Also appears on the automation channel when the workflow is made only of connector nodes, since those route by email rather than by platform.
No email marketing consentEmailEmail-marketing consent is not recorded as a yes for that contact. Never-captured counts as no.
Same email as another recipientEmailAnother contact already in this send has the same address. One send per address, compared ignoring case.
Unsubscribed from email marketing in KlaviyoEmail (Klaviyo)When IcloneU checked just before the send, Klaviyo reported that the contact had unsubscribed there, so their email-marketing consent was turned off. Shown in English. See the callout above.
Marketing messages share one frequency budget

On the automation channel, every contact reached is written to a single per-contact marketing ledger — broadcasts, sequence steps and store-recovery flows all draw from the same one. A contact already touched once in the last 24 hours, or three times in the last 7 days, is skipped with Marketing frequency cap reached. Those windows are a platform default rather than a per-account setting, so you cannot raise them from the app. And because a broadcast is one-shot, a capped contact is skipped rather than queued for later — that is the design: the cap protects the person, not the send. Two routes are exempt, both because the message doesn't leave over your channel: the email campaign channel, and an automation built only from connector nodes. In those cases the provider on the other side does its own frequency management.

Reading the delivery report

Delivery opens the Delivery report — one row per contact with Contact, Status, Sent, Delivered, Read and Error. The status ladder is Skipped, Failed, Sent, Undeliverable, Delivered, Read, and it only ever moves forward. On WhatsApp the Delivered and Read stamps come from WhatsApp's own delivery receipts, so rows advance in place as those arrive. On the email channel, IcloneU reads your provider's report every 30 minutes for a week after the send: Delivered means the provider reports the email reached the address, Read an open or a click, and Undeliverable a bounce, with Hard bounce or Soft bounce in the Error column. A line above the rows reads Email provider report last updated: …, or says nothing has been received yet. Mailchimp and Klaviyo send that report; Flodesk doesn't, so its recipients stay at Sent. Some providers also report recipients they left out of the send — someone already unsubscribed there, for example — and those rows show Failed with the provider's reason; Klaviyo doesn't report them when the campaign goes out, so a contact Klaviyo suppresses shows Sent. When the whole broadcast fails rather than individual contacts, the reason sits above the rows — for example The automation is still a draft — set it to Live and reschedule., The email provider connection was not found. Reconnect your email provider and reschedule., The email content is incomplete — edit the broadcast and fill in subject, sender and body., No audience is selected for this email campaign — edit the broadcast, pick the audience and reschedule., The selected connection does not support email campaigns., or The email provider rejected the campaign followed by the provider's own message. When every single send failed, it points you to Delivery for each contact's reason.

When Meta reports unsettled WhatsApp payments

If Meta refuses a WhatsApp message because of a problem with your WhatsApp Business account's payment method (Meta error 131042), a banner appears at the top of Broadcasts (and of Automations) naming the number: Meta reports unsettled payments, and messages are not being delivered. Settle the balance in Meta to resume delivery. Open Meta billing takes you to Meta's billing. Fixing it there doesn't clear the banner by itself: it goes once a message from that number is delivered again and the last refusal is more than an hour old. The banner is read when the page opens, so reload the page to check.

The profile: header and tabs

Click a contact and the right panel shows their profile. At the top sits the avatar, the name, a status pill, the channel and platform, and meta lines like Contact since and Last seen. To the right are action buttons: Message (active only when the contact has an email), a phone button (active only with a phone number), an Edit pencil, and a more-actions (three-dots) button that opens an Actions menu: View Last Conversation, Opt out of messages / Opt back in, Do not call this contact / Allow calls again (since production 1.146.0; a flag IcloneU's phone calls respect, shown in the contact list as a crossed-out phone with the hint Asked not to be called; phone calls come with the Expert and Enterprise plans), Sales call permissions… (since production 1.148.0; where you record whether the contact agreed to receive sales calls and where that consent came from, and what you found when you looked their number up in PROFECO's REPEP registry, which a sales call will need; you can record it on any plan, though calls come only with Expert and Enterprise), Mark as verified buyer / Remove verified buyer (a manual buyer flag for the contact's reviews, distinct from the blue Verified badge), Archive contact / Restore contact, Block contact / Unblock contact, and Erase personal data (Erase is greyed out once the data has already been erased).

Erasing personal data covers the whole person

Erase personal data opens a confirmation spelling out what goes: This permanently removes this contact's personal data — name, email, phone, profile, notes, and more. Conversation history and aggregate stats are kept on an anonymized record. This cannot be undone. You must type ERASE to enable the Erase data button — the keyword is the literal word ERASE in every language. And erasure is identity-wide: if the person has Linked contacts, the confirmation adds This person is also linked to N contact(s) on other channels. To honor the request, they will all be erased too., confirming erases every linked record in one go, and the success toast reports the total (Erased N linked contacts). To erase only one channel's record, Unlink it from the group first, then erase.

For contacts that came from a connected Shopify store, the panel also offers a View in Shopify action — a popup showing the customer's live record pulled straight from the store.

Under the header, four tabs organise everything else: Overview, Activity, Notes and Files. The Activity tab carries a count of the conversations, post comments, reviews and questions it lists, and Notes shows a small badge when a note exists.

Editing what you can edit

The pencil (in the header or on the Details section) switches the profile into edit mode, where you can fill in fields like email, phone, source, language, country, timezone, username, gender, website, profile link and biography. Click Save to keep them or Cancel to back out. The AI-observed and lead-qualification parts of the profile are read-only — they fill in from conversations, not by hand.

Overview tab

Overview is the at-a-glance profile. It opens with an engagement strip of four cells — Engagement (a 0–100 score with a tier label like high or low), Sessions, Messages, and a Sentiment trend — then the sections below, each shown only when there's something to show.

  • Details — the known contact fields. Empty fields are collapsed into a Not provided box with an + Add button rather than cluttering the layout.
  • Linked contacts — the other channels where this same person has reached you, with a Link button to group records by hand (covered below).
  • Campaign attribution — first-touch and, when it differs, last-touch UTM data (campaign, source, medium, term, content), showing how the contact was acquired and whether they returned via a different campaign. When the contact is linked across channels and a combined journey exists, the Cross-channel journey card replaces this one (covered below).
  • Tags & Segments — the contact's tags (with an Add tag control) and the segments they belong to.
  • Lead qualification — interest level, a qualification score, collected fields, products of interest and buying signals, all written by the Clone (covered below).
  • Custom fields — the extra values held on the contact, when any exist. The hint beside the section reads written by Automations; an automation is one source, and a CSV import or the public API fills the same fields. You can change them here too: hover a row for a pencil (Edit) and an × (Clear). Edit turns the value into a box, where Enter saves and Esc cancels; Clear asks Clear this field? and removes the field from the contact. A change made here counts like any other, so it reaches the contact's linked contacts and starts a workflow that runs when that field changes. Only fields the contact already has are listed, so a new one can't be added from this section.
  • Engagement (commerce) — purchase count, total value and last purchase date, shown only when there are purchases. These are the same numbers the Purchases criteria in a segment match on.
  • Latest conversation — a preview of the most recent chat, with a link through to the full Activity tab.
Where a tag came from

Tags carry their provenance. A tag the AI applied is marked AI, one applied by an automation rule is marked AUTO, and tags you add by hand carry no marker. Hovering a tag shows the source and the date it was assigned.

Linked contacts: one person, many channels

The same person often reaches you on more than one channel — a WhatsApp message one day, an Instagram DM the next. Each channel keeps its own contact row, but IcloneU groups those rows into one identity, and the Linked contacts section (right under Details on the Overview tab) is where you see and manage the group. When links exist, it lists each linked record with its channel under the hint The same person reached you on these channels.; until then it reads No linked contacts yet. The group's most-recently-active record is flagged Primary — the best channel to reach the person on. Where IcloneU recorded how a link was made, the linked row shows a small provenance chip — Linked via email, Linked via phone, Matched by Meta, or Linked manually — with the date it was linked.

  • Automatic linking — contacts in your account are grouped when they share an email (case and surrounding spaces ignored) or a phone number. Phone matching compares the last 10 digits, so a number saved with a country code and one saved without still match (numbers under 7 digits are never matched). A WhatsApp contact's number and an email-channel contact's address count as identifiers too.
  • Links can appear later — when your Clone collects an email or phone during lead qualification, or an automation saves an email or phone field, the value fills the contact's empty Email/Phone field (it never overwrites one already there) and matching is re-checked. Facebook and Instagram contacts can also link automatically when Meta confirms they're the same person.
  • Manual linking — click Link on the section header, type into the picker (Search a contact by name, email or phone, then press Enter) and click a result to link it — a Contact linked toast confirms. If nothing matches, it reads No matching contacts.
  • Unlinking — every linked row carries an Unlink control (Contact unlinked). Unlinking detaches just that channel's record; when only one member would remain, the group dissolves. Because linked contacts share fields and tags, a wrong link spreads them until you unlink it; unlinking stops the sharing, and each contact keeps what it already has.
  • What a link shares — linked contacts act as one person for custom fields, tags and the Clone's bookings. A field or tag written on one contact — by a workflow, automatic tagging, an import, the API or by hand — is also written on the linked contacts that receive it, and a removed tag or cleared value is removed or cleared there too. Workflows still start only once: the tag or field event belongs to the contact the change was made on. A Clone that books in Google Calendar treats a linked contact's bookings as the customer's own, so it moves them instead of booking twice. Consent, the 24-hour messaging windows and conversations stay per channel.
  • Which way it travels — sharing follows proof. A WhatsApp contact's number and an email-channel contact's address prove that contact, so an Instagram, Messenger, web chat or imported contact that gave that number or address gives its fields, tags and bookings to the WhatsApp or email contact but gets none back — only removals and cleared values travel back, and a customer who proves the number or address with a one-time code in a conversation reaches its bookings for that conversation. A link your team made by hand or confirmed, and a Facebook and Instagram pair that Meta matched, share both ways. A link made by hand or matched by Meta before production 1.114.0 doesn't count as confirmed: its line says the link is not confirmed, so click Confirm link. A group of more than 8 linked contacts shares nothing.
  • The sharing line — each linked row says what its link carries: "Fields and tags are shared both ways", "Receives this contact's fields and tags", "Gives its fields and tags to this contact", "Fields and tags are not shared: the link is not confirmed" or "Fields and tags are not shared: too many linked contacts". Where a link isn't two-way yet, a member who can manage contacts sees Confirm link ("Confirm that both contacts are the same person. Their fields and tags are then shared both ways."); clicking it shows Link confirmed and brings the contacts up to date with each other.

Linking also changes what Overview shows. When a contact is linked and a combined journey exists, a Cross-channel journey card replaces Campaign attribution: its hint reads Combined across N channels (N linked contacts)., and up to three steps appear — First touch, Last touch and Qualified by — each with the channel icon, the channel and campaign (or the raw source when no campaign was recorded) and a date. When the linked profiles have purchases, a footer totals them across the whole group, e.g. $500 across 3 purchases.

Lead qualification, explained

When your Clone is set up to qualify leads, the Overview tab includes a Lead qualification card built entirely from what the Clone observed in conversation — you don't fill any of it in.

  • Interest Level — a 1-to-5 scale with a caption, from Casual browser at 1 up to Ready to buy at 5.
  • Qualification Score — a 0–100% bar, with the note Recalculated after every update.
  • Collected Information — the lead fields the Clone has gathered, each ticked or marked Not yet collected, with an N/N required progress count.
  • Products of Interest — products the contact mentioned, each with its own 1-to-5 interest and a mention count.
  • Buying Signals — moments the Clone flagged, such as Pricing inquiry, Budget mentioned or Ready to buy. Each kind shows once, with how many times it came up (×3), its highest confidence, the latest date and, under it, the customer's own latest words for it when the Clone quoted them. Each kind also counts once toward the qualification score, however often the Clone reports it.

Which fields the Clone collects comes from the Fields tab. If nothing has been gathered yet, the card reads No qualification details collected yet.

Activity, Notes and Files

Activity is the contact's history. At the top, when there's a recent exchange, an AI card summarises the last interaction (Last interaction — AI summary). Below it, Recent conversations lists past chats as rows — each with the channel, a date and message count, and a summary line. Click a row to jump into that conversation. Below it, when the contact has commented on your Facebook or Instagram posts, a Post comments section lists those comments — each with the platform, a date and the comment text, plus the post caption shown as on "…" when the post has one. Below that, when the contact has left reviews or asked questions through the reviews widget, a Reviews section and a Questions section list them — each review with its star rating, the item reviewed, a date and a status; each question with the item, a date, a status and the question text. When there are no conversations, post comments, reviews or questions, the tab reads No activity yet.

Notes has two clearly separate parts. The top is your own Notes — a free-text card only your team sees; use Add note to write one and Save to keep it. Below it, AI-observed is a read-only block (read-only · updated from conversations) where the Clone records interests and a communication style it inferred. When the contact comments on your posts, the Clone works these out — and the AI summary on Activity — from that person's own comments on the post and the replies to them, not from other people's comments. Until it has observed anything, it reads Nothing observed yet — this fills in as conversations happen.

Files: the contact's file cabinet

The Files tab has two parts. From conversations (attachments exchanged in chat) lists the files you and the contact sent each other in chat, voice notes aside; until there are any it reads No attachments yet. Uploaded by team holds the files your team added with Add file or by dropping one on the zone below it: Drop a file here, or use Add file. Up to 15 MB. Anyone who can see the contact can open a file; members who can manage contacts can also add, rename and delete files. Deleting a file IcloneU stores removes it from storage for good, and a conversation that showed it shows File removed to free storage in its place; a file that is only a link to another platform's copy just leaves the list, and its conversation keeps showing it. These files count toward your plan's document storage, which Account settings → Storage lists in full.

Tagging a contact

System tags

Tags that arrive with an import or a store connection are managed by the platform. On the Tags tab they carry a System badge (its tooltip reads System-managed tag), and on a contact they show a small robot icon next to the tag name. Open one and the name field is locked, with the reason spelled out: System tag — its name is managed by the platform and shown in each user's language. Color and folder can still be changed. So renaming and deleting are off the table, but you can restyle one and remove it from a contact.

Tags are the most useful thing you can add by hand — they drive the Tags filter and dynamic-segment membership. You manage a contact's tags from the Tags & Segments section on the Overview tab.

  1. Open the tag editor

    On the contact's Overview tab, click Add tag in the Tags & Segments section. A tag picker appears.

  2. Pick existing tags

    Choose one or more tags from the dropdown. They're added to the contact as you select them.

  3. Create a tag on the spot

    Need a tag that doesn't exist yet? Use New Tag to create one without leaving the contact — it's added and assigned in one step.

  4. Remove a tag

    Each assigned tag has a small × — click it to remove the tag from this contact.

Tip

Tags also get applied automatically — by the AI from conversation analysis, or by an automation rule — so a contact may already carry tags you didn't add. The AI and AUTO markers tell you which is which.

Tags that follow the person

Open a tag on the Tags tab and its editor has a Shared between linked contacts switch, on by default: "When the same person has more than one contact (Instagram and WhatsApp, for example) and the contacts are linked, this tag is applied to and removed from all of them. Turn it off for a tag that describes one channel only." System tags don't have the switch and are never shared.

The same tags label conversations

Your tag list also tags conversations in Messages, by brand or by sales versus support, say. Tagging a conversation doesn't change the contact's tags, and a tag you delete here disappears from conversations too. See Reviewing and editing AI responses.

Frequently asked

Mostly from your connected channels. When a person first messages your Clone on WhatsApp, Facebook, Instagram, Telegram, YouTube, web chat or another connected channel, IcloneU creates a contact for them automatically and keeps enriching it as the conversation continues. Contacts also arrive without a conversation: from the Import button (a CSV file, see Importing contacts from a CSV, Import from Shopify or Import from WooCommerce), from sign-up forms on your store, from an inbound webhook that names someone, from your connected store's orders and checkouts, and from the public API. A contact created that way can show a channel badge — WhatsApp, say — although the person never wrote to you there. And you can add one person yourself with the New button — see Adding a contact by hand.

Phone matching compares the last 10 digits of the number, so +52 1 55 1234 5678 and 55 1234 5678 count as the same phone — a number saved with a country code and one saved without still match (anything under 7 digits is never compared). Emails match ignoring case and surrounding spaces. Links can also form without a shared number: Facebook and Instagram contacts can link when Meta confirms they're the same person, an email or phone your Clone collects in conversation can complete a match, and links may appear on long-standing contacts after an upgrade back-fills the matching. If a link is wrong, open the contact and click Unlink on that row — a Contact unlinked toast confirms. Unlinking stops fields and tags from being shared; each contact keeps what it already has.

The count is how many contacts match, not how many are messaged. Between the two sit the Maximum contacts cap (applied first, to audience rows), the one-send-per-person and one-send-per-address checks, the frequency cap on the automation channel, and the email channel's requirement for an address plus recorded email-marketing consent. Open the Delivery report and read the Error column on the Skipped rows — every drop is recorded there with its reason, and the table in Broadcasts above says what each one means.

Because no name has been captured yet. Some channels don't share a display name up front, and a contact can talk to your Clone without ever giving one. You can add a name yourself with the Edit pencil, or the Clone may pick one up later in conversation.

A static segment is a Manually curated contact list — but nothing in IcloneU can add a contact to one yet, so in practice it stays empty and is not usable as an audience. A dynamic segment is Auto-matched by filter criteria: it stores a set of filters and re-applies them every time you open it, so membership stays current as contacts come and go. Dynamic segments are marked with a small lightning bolt, and they are the ones to build.

No — those are read-only. The qualification score, interest level, buying signals, observed interests and communication style are all written by the Clone from conversations. What you can edit are the contact's own fields (email, phone, source, language, and so on) via the Edit pencil, the values in Custom fields, and your own team Notes, which are separate from the AI-observed block.

Yes — the public API's contact endpoints take them. Creating or updating a contact accepts a custom_fields object of field key to value: at most 50 entries per request, each key 1–100 characters, each value up to 4,000 characters, and a null value clears that key. Write dates as yyyy-MM-dd — the same shape the CSV importer stores — so a workflow's date trigger can read them. Those calls need a public API key created on the API Keys tab of Automations, on the Standard or Full Access level; the Web chat keys covered in Creating and managing API keys are a different credential and won't authenticate them.

An empty tab means nothing has been shared or uploaded yet. From conversations fills in by itself with the files sent in chat with this contact, and Uploaded by team holds what your team adds there. A member who can't manage contacts can open files but doesn't see Add file. A file can also be deleted here or from Account settings → Storage, which frees the space; a file sent from the inbox is also removed on its own when Files sent from the inbox, on the Options tab, is set to keep it for 30 days or not at all.

Was this guide helpful?
Thanks for the feedback!

Last updated October 31, 2026 · Contacts

Reconnecting to the server… Reload
🗙
Connecting…
Connection lost
Reconnecting to the server…
We couldn't reconnect automatically.