Headlessly

Marketing

Campaign, Segment, Form — growth and acquisition.

Acquire users, run campaigns, segment audiences.

Campaign

Marketing initiatives — launches, drips, content pushes.

import { Noun } from 'digital-objects'

export const Campaign = Noun('Campaign', {
  name: 'string!',
  slug: 'string##',
  description: 'string',
  type: 'Email | Social | Content | Event | Paid | Webinar | Referral',
  status: 'Draft | Scheduled | Active | Paused | Completed | Cancelled',
  startDate: 'date',
  endDate: 'date',
  launchedAt: 'datetime',
  budget: 'number',
  actualCost: 'number',
  currency: 'string',
  targetLeads: 'number',
  targetRevenue: 'number',
  leads: '<- Lead.campaign[]',
  actualLeads: 'number',
  actualRevenue: 'number',
  roi: 'number',
  landingPageUrl: 'string',
  utmSource: 'string',
  utmMedium: 'string',
  utmCampaign: 'string',
  owner: '-> Contact',
  launch: 'Launched',
  pause: 'Paused',
  complete: 'Completed',
})
VerbEventDescription
launchLaunchedStart the campaign
pausePausedTemporarily stop
completeCompletedMark as finished

Segment

Audience groups with dynamic or static membership.

export const Segment = Noun('Segment', {
  name: 'string!',
  description: 'string',
  criteria: 'string',
  organization: '-> Organization',
  memberCount: 'number',
  isDynamic: 'string',
})

Form

Data collection — sign-up, waitlist, contact us.

export const Form = Noun('Form', {
  name: 'string!',
  description: 'string',
  fields: 'string',
  organization: '-> Organization',
  status: 'Draft | Active | Archived',
  submissionCount: 'number',
  publish: 'Published',
  archive: 'Archived',
})
VerbEventDescription
publishPublishedMake form active
archiveArchivedArchive the form

On this page