Skip to main content
A contact is a person you can reach. It’s the unit everything else in Senderz revolves around.

What a contact holds

Identity

Email, phone, first/last name, timezone and locale.

Consent

Per-channel state (email / SMS / push) with timestamp and source.

Tags

Free-form labels for grouping and segmentation.

Custom properties

Anything from the property catalog that isn’t a native column — stored in a flexible JSON bag.

Predictive scores

Purchase likelihood, churn risk, VIP likelihood and responsive channel, scored daily.

RFM tier

Recency / frequency / monetary tier derived from order behaviour.

The property catalog

Contact properties come from a single catalog shared by the UI and the CSV importer. Each property has a scope:
native
Has its own column on the contact (name, phone, timezone, locale…).
custom
Lands in the custom-properties JSON bag (city, date of birth, job title…).
computed
Read-only, set by analytics rollups (RFM, predictive scores). Never imported.
The catalog carries aliases, so common inbound headers (Shopify Accepts Marketing, Klaviyo $timezone) resolve to the right property automatically on import.

The contact profile

Open any contact to see a two-pane profile:
  • Left — identity, channel-consent badges and tags.
  • Right — notes (autosaved), recent products viewed/carted, an editable properties panel, and a unified activity feed.

Activity feed

The activity feed unifies five sources into one timeline, newest first:
1

Consent changes

Every subscribe/unsubscribe with its source and channel.
2

Messages

Campaign and flow sends to this contact.
3

Engagement

Delivered, opened, clicked, bounced, complained, unsubscribed, orders.
4

Store events

Product views, cart adds, checkouts — with product thumbnails inline.
5

Audit

Actions taken on the contact.

Storefront product events

When your store’s pixel is connected, identified visitors’ product activity (viewed, added to cart, checkout started, collection viewed, search) is captured with rich product metadata — image, price, product ID. This powers the “recent products” card and browse-abandonment flows.
Product-event metadata (image, price, handle) is kept separate from the tight analytics fact store, so product detail never bloats your KPI aggregates.

Managing contacts via the API

Create, upsert, update, look up and blacklist contacts through the Public API. Every write is confined to your workspace by row-level security, and every consent change is logged.