Skip to main content
The Activity tab on a contact record shows a chronological log of every action and event associated with that contact. The log is ordered from most recent to oldest, giving you a complete picture of the contact’s engagement journey.

Searching activity

Use the search bar at the top of the Activity tab to search through activity entries. This searches across activity descriptions, letting you quickly find a specific event.

Filtering by time range

Click the time range button to filter the activity log to a specific time window. This is labeled “All time” by default. You can also set a custom date range using the calendar picker on the right side of the panel. Select a start date and end date, and specify the exact time window using the From and To time fields (e.g., 12:00 AM to 11:59 PM). Click Apply to filter the activity log, or Clear to reset the filter.

Filtering by activity type

Click the Filters button to filter the activity log by specific activity categories. The following activity types are available as filters:
Activity typeDescription
EmailsEmail sends, opens, clicks, bounces, unsubscribes, and other email lifecycle events.
Form submissionsForm submissions tracked in Conversion.
Page visitsWebsite page visits tracked by the Conversion pixel.
WorkflowsWorkflow entries, exits, and related automation events.
Custom eventsCustom events tracked for the contact via the Events API.

Activity type reference

The activity log captures a detailed history of engagement events. Each event belongs to a top-level type, and most types have specific subtypes that classify the event further.

Page visits

Page visit events classify the traffic source that brought a contact to a page on your site. When multiple page visits share a session, they are grouped into a session group in the timeline.
SubtypeDescriptionUI display
DirectThe contact visited the site directly (typed the URL, used a bookmark, etc.) with no identifiable referrer or campaign attribution.
Organic searchThe contact arrived via an unpaid search engine result (e.g., Google, Bing).”Found via search”
Paid searchThe contact clicked a paid search ad (Google Ads, Bing Ads, etc.). May carry an optional UTM source (e.g., google or bing).”Clicked a search ad”
Organic socialThe contact arrived via a non-paid social media link (e.g., an organic post on LinkedIn, X, or Facebook).”Came from social media”
Paid socialThe contact clicked a paid social media ad (e.g., a Facebook or LinkedIn ad campaign).”Clicked a social ad”
Email marketingThe contact arrived by clicking a link in a marketing email.”Came from an email”
AI referralThe contact was referred by an AI source (e.g., a link from ChatGPT, Perplexity, or similar AI tools).”Referred by AI”
ReferralThe contact arrived via a link from another website (a standard referral).”Came from a referral”
Other campaignThe contact arrived via a campaign that doesn’t fit the other categories. This is a catch-all for UTM-tagged traffic that isn’t search, social, or email.”Came from a campaign”

Form submissions

Represents a contact submitting a form on your site. There are no further subtypes. The engagement data includes:
  • The form name (or form ID).
  • The page URL where the form was submitted.
  • The individual field values of the submission.

Emails

These track lifecycle events for emails sent to a contact via Conversion’s email infrastructure. Each event is tied to a specific sent email.
SubtypeDescriptionUI display
SendThe email was successfully sent to the contact.”Sent [Email Name]“
OpenThe contact opened the email. Tracks occurrence count (e.g., “3 times”).”Opened [Email Name]“
ClickThe contact clicked a link within the email. Includes the specific link URL that was clicked.”Clicked a link in [Email Name]“
BounceThe email hard-bounced (permanent delivery failure, e.g., invalid address).”[Email Name] bounced”
Soft bounceThe email soft-bounced (temporary delivery failure, e.g., full mailbox).
ComplaintThe contact marked the email as spam.”Marked [Email Name] as spam”
DeliveryThe email was successfully delivered to the recipient’s mail server.
RejectThe email was rejected before sending (e.g., content policy violation).
Rendering failureThe email template failed to render.
Delivery delayThe email delivery was delayed.
UnsubscribeThe contact unsubscribed from a specific email topic or list.”Unsubscribed”
Unsubscribe allThe contact unsubscribed from all email communications.
Topic unsubscribeThe contact unsubscribed from a specific email topic.
SubscriptionThe contact subscribed (or re-subscribed) to email communications.
UnknownAn unknown or unclassified email event occurred.
Subtypes marked with ”—” in the UI display column are tracked in the system but are not explicitly rendered on the activity timeline.

Workflows

These track a contact’s journey through an automation workflow.
SubtypeDescriptionUI display
Enter automationThe contact entered (was enrolled into) a workflow.”Entered [Workflow Name]“
Exit automationThe contact exited (completed or was removed from) a workflow.”Exited [Workflow Name]“
Enter nodeThe contact entered a specific node or step within a workflow.
Exit nodeThe contact exited a specific node or step within a workflow.
ErrorAn error occurred while processing the contact within a workflow.
The enter node, exit node, and error subtypes are tracked in the system but are currently displayed the same as “exited” on the activity timeline.

Custom events

Custom events are tracked via the Events API and appear in the activity log with the event name and a timestamp. There are no subtypes — each entry represents a single occurrence of the named event. If the event was sent with a data payload, the metadata is displayed in JSON format directly on the activity entry. For example, an event named feature_activated with data {"feature_name": "dashboard", "plan": "pro"} would show both the event name and the full data object in the log.

Contact created

A synthetic event injected by the UI at the bottom of every contact’s activity timeline to show when the contact record was first created. This is not an API engagement type. It is generated by the frontend to provide historical context.