Manage Audiences in Loops
Set up and manage contact audiences in Loops for lifecycle email
Instructions
Manage Audiences in Loops
Prerequisites
- Loops account connected to your app or website
- User data available (email, signup date, plan, usage data)
Steps
-
Set up contact properties via API. Define custom properties that match your user data model using the Loops API:
POST /api/v1/contacts/properties { "key": "plan_type", "type": "string" }Essential properties: plan_type (free, pro, enterprise), signup_date, last_active_date, company_name, user_role, onboarding_complete (boolean), and any product-specific properties.
-
Import existing contacts via API. If migrating from another email tool, import contacts:
POST /api/v1/contacts/create { "email": "jane@acme.com", "firstName": "Jane", "plan_type": "pro", "signup_date": "2025-01-15" }Loops deduplicates on email address automatically, so re-imports are safe.
-
Connect your app for real-time sync. Use Loops' REST API or Node.js SDK to sync contacts in real-time. Send a contact update whenever a user signs up, changes plan, or hits a key product milestone:
PUT /api/v1/contacts/update { "email": "jane@acme.com", "plan_type": "enterprise", "last_active_date": "2025-03-30" } -
Create segments. Build segments using property filters via the Loops dashboard or API. Essential segments: Active Free Users (signed up >7 days, last active <3 days, plan=free), At-Risk Users (last active >14 days), Power Users (usage above 80th percentile), Trial Ending (trial_end_date within 3 days).
-
Set up event tracking. Send events from your app to Loops via API when users complete key actions:
POST /api/v1/events/send { "email": "jane@acme.com", "eventName": "completed_onboarding" }Key events:
completed_onboarding,invited_teammate,created_first_project,hit_usage_limit. These trigger automated sequences. -
Maintain list hygiene. Review your audience monthly via the API. Archive contacts with no email activity in 90+ days to maintain deliverability. Loops provides engagement scores -- use them to identify and suppress disengaged contacts.