MARKETING AUTOMATION

The Marketing Automation module connects Leaseora's property, CRM, lease, payment, WeBuild, land and wallet activities to coordinated marketing communications. It enables real estate companies to nurture leads, communicate with active clients, promote properties and understand which marketing activities contribute to applications, leases and sales.

L
Leaseora
Jul 29, 2026 35 min read 14 views

LEASEORA

MARKETING AUTOMATION

Detailed User and Technical Operations Guide

Email Templates • Drip Campaigns • Email Sequences • Triggers • Social Media • Visibility Campaigns • CRM Segments • Behaviour Tracking • Lead Scoring • Attribution • Reporting

 

For real estate companies, marketing teams, CRM teams, leasing teams, property sales teams, client-service teams, compliance teams and authorised administrators

Version 1.0 | July 2026

 

 

Purpose of this guide

This guide explains how a real estate company uses Leaseora's Marketing Automation module to create reusable content, build drip and email-sequence campaigns, configure event-driven triggers, automate social media, promote listings through visibility campaigns, send CRM-segmented communications, track lead behaviour, update lead scores, measure attribution and generate reports. It also provides a detailed technical reference based on the supplied models, controllers, services, mail classes and API methods.

 

 

 

1  Purpose, Audience and Scope

The Marketing Automation module connects Leaseora's property, CRM, lease, payment, WeBuild, land and wallet activities to coordinated marketing communications. It enables real estate companies to nurture leads, communicate with active clients, promote properties and understand which marketing activities contribute to applications, leases and sales.

Item

Description

Primary users

Real estate-company marketing teams, CRM managers, leasing teams, property-sales teams, property-development teams, client-service teams, compliance users and SuperAdmins.

Campaign scope

Email templates, drip campaigns, structured email sequences, CRM bulk campaigns, social automation and visibility campaigns.

Automation scope

Lead, listing, application, lease, payment, property, WeBuild, land, mortgage and inactivity events.

Analytics scope

Delivery, opens, clicks, bounces, unsubscribes, conversion, revenue attribution, lead journeys and real-time metrics.

Operational boundary

Leaseora automates configured actions. It does not guarantee delivery, engagement, platform acceptance, lead conversion, sales or revenue.

 

 

Marketing communications require a lawful basis and preferences

Before sending email, SMS, WhatsApp, push or retargeting communications, the company should apply its consent, legitimate-interest, privacy, suppression and channel-preference rules for the relevant recipient and jurisdiction.

 

2  Complete Marketing Automation Lifecycle

Figure 1. Complete Marketing Automation lifecycle

Stage

Business outcome

Setup

Templates, integrations, channel settings, consent and tracking are ready.

Campaign design

The team defines audience, steps, delay, content and exit rules.

Triggering

A platform event or schedule starts an automation.

Segmentation

Leads are selected by CRM stage, score, tags, city, interest and behaviour.

Delivery

Email, SMS, WhatsApp, social or in-app actions are executed.

Tracking

Delivery, opens, clicks, views and form actions are recorded.

Scoring

Engagement updates CRM lead scores and prioritisation.

Conversion

The lead applies, leases, buys or completes another target action.

Analytics

Campaign performance and attribution inform the next action.

 

3  Roles, Permissions and Approval Controls

Role

Main responsibility

Control

Marketing Administrator

Creates templates, campaigns, triggers and reports.

Should not access credentials or unrestricted personal data unless required.

CRM Manager

Builds segments, manages lead journeys and scoring.

Must honour CRM permissions and suppression rules.

Content Reviewer

Checks copy, branding, tokens, links and claims.

Should approve content before activation.

Compliance / Privacy Reviewer

Reviews consent, unsubscribe, channel and data-use requirements.

Should be able to pause non-compliant activity.

Social Media Manager

Connects channels and reviews social posts.

Should approve AI-generated content before posting.

Visibility Campaign Manager

Submits, funds and monitors promoted listings.

Cannot bypass SuperAdmin approval.

Sales / Leasing Manager

Uses campaign outcomes and lead priority.

Should not edit analytics to favour a campaign.

SuperAdmin

Oversees platform templates, campaigns, integrations and settings.

Must preserve landlord ownership and audit evidence.

 

 

Recommended approval workflow

Use Draft -> Review -> Approved -> Active for high-volume or externally published campaigns, even where the supplied model exposes only Draft, Active, Paused and Completed.

 

4  Before Using the Module

CRM leads, stages, scores, tags and property interests are available.

Email sending, SMS, WhatsApp and social integrations are configured.

Sender name, sender email, reply-to address and brand identity are approved.

Consent, suppression and unsubscribe rules are documented.

Templates and personalisation tokens have approved data sources.

Tracking domains, callback URLs and behaviour events are configured.

User roles and campaign approval authority are configured.

Wallet funding is available for visibility campaigns.

Reporting periods, conversion events and revenue definitions are agreed.

Test leads and test addresses are available for pre-launch validation.

 

 

Production access should follow successful test sends

Do not activate live campaigns until templates, tokens, links, tracking, unsubscribe, segment rules and provider integration have been tested.

 

5  Phase 1 - Marketing Automation Dashboard

STEP
1

Open the Marketing Automation Dashboard

Primary user: Marketing Administrator / manager

 

Navigate to Marketing Automation -> Dashboard. LandlordMarketingController@index provides the landlord view, while MarketingAutomationApiController@dashboard returns dashboard data for mobile or external integrations.

Dashboard area

Meaning

Active campaigns

Current drip, email-sequence, social and visibility campaigns.

Lead counts

Leads grouped by CRM stage and source.

Email performance

Open, click, conversion and related metrics.

Campaign trends

Performance over time.

AI insights

Recommendations and optimisation observations.

Upcoming activity

Scheduled sends and triggers.

 

Backend dashboard data is associated with DripCampaign, EmailSequenceCampaign, MarketingTrigger, SocialMediaAutomation, VisibilityCampaign and MarketingAutomationAnalytics.

 

Dashboard totals require shared definitions

Confirm whether Active means currently enabled, currently within schedule, actively sending or approved. Apply the same definition across dashboard, reports and exports.

 

6  Dashboard Review Routine

1. Select the reporting period and landlord scope.

2. Review active campaigns and upcoming sends.

3. Check failed, paused or incomplete campaigns.

4. Review email delivery, bounce and unsubscribe indicators.

5. Review leads by source, stage and score.

6. Identify campaigns with high engagement but low conversion.

7. Check scheduled social posts and visibility start dates.

8. Review AI insights as advisory recommendations.

9. Open any campaign requiring correction or approval.

 

Do not optimise only for opens

Open tracking can be incomplete or affected by mail-client privacy behaviour. Use clicks, replies, applications, leases, sales and verified revenue alongside open rate.

 

7  Phase 2 - Create an Email Template

STEP
2

Create a Reusable Email Template

Primary user: Marketing Administrator / content reviewer

 

Use LandlordMarketingController@emailTemplates, @createEmailTemplate and @storeEmailTemplate.

Field

Purpose

Template name

Internal name for the team.

Subject

Email subject line.

Body

HTML or rich-text content.

Template type

Welcome, follow-up, drip, promotional, renewal reminder or payment reminder.

Property type

Residential, commercial or mixed-use filter.

Personalisation tokens

Approved placeholders such as client name, property address, rent amount and due date.

 

Template creation process

1. Select the template type and intended audience.

2. Enter an internal template name.

3. Write a clear subject line.

4. Create the email body using approved branding.

5. Insert only supported personalisation tokens.

6. Add a clear call to action.

7. Include sender identity and required unsubscribe link.

8. Save and preview.

9. Send a test email.

10. Approve the template for campaign use.

 

Use Client-facing wording

Business copy should use Client, Buyer, Lead or Prospect as appropriate. Technical tokens and class names may retain tenant wording where already implemented.

 

8  Template Operations

Operation

Purpose

showEmailTemplate

View the template and metadata.

editEmailTemplate / updateEmailTemplate

Edit and save changes.

destroyEmailTemplate

Delete an unused template.

duplicateEmailTemplate

Clone a template for a new purpose.

previewEmailTemplate

Render a live preview.

testEmailTemplate

Send a controlled test email.

 

 

Editing an active template can change future sends

Confirm whether campaigns reference the current template or a saved content snapshot. For auditability, preserve the content version used for every send.

 

9  EmailAutomationService

Method

Purpose

getAvailableTemplates

Returns templates filtered by landlord, property type and template type.

previewEmailContent

Renders a preview with sample data.

sendTestEmail

Sends a test email to a selected address.

renderEmailContent

Renders the final content using real personalisation data.

getEmailPerformanceMetrics

Returns template or campaign performance for a period.

 

Mail classes used by the supplied module include EmailSequenceMail, DripCampaignMail and LandlordMarketingMail.

10  Personalisation Tokens and Data Quality

Example token

Expected value

{{tenant_name}}

Client or recipient display name.

{{property_address}}

Relevant property address.

{{rent_amount}}

Lease rent amount.

{{due_date}}

Payment or action due date.

 

Every token is supported by renderEmailContent.

The data source belongs to the correct recipient.

Missing values have a safe fallback.

Currency values include the correct symbol and currency.

Dates use the recipient or property time zone where appropriate.

No internal ID, sensitive KYC or payment credential is exposed.

A preview uses representative sample data.

 

 

Personalisation is not an AI guarantee

Token replacement should be deterministic and validated. AI-assisted copy must not invent property, price, availability, legal or payment information.

 

11  Email Template Quality Assurance

Subject matches the message purpose.

Sender and reply-to details are correct.

Links use the intended domain and route.

Call-to-action button works on desktop and mobile.

Images have permission and meaningful alternatives.

Property availability and pricing are current.

Personalisation renders correctly.

Unsubscribe link is present for marketing communication.

Privacy and contact information are included where required.

Test email is received and visually reviewed.

 

 

Avoid misleading urgency

Countdowns, limited availability and price-change claims should be based on current records and approved business rules.

 

12  Phase 3 - Create a Drip Campaign

STEP
3

Build a Multi-Step Drip Campaign

Primary user: Marketing Administrator

 

Field

Purpose

Campaign name

Internal campaign name.

Description

Purpose and target outcome.

Target audience

New leads, existing clients, expired-lease clients or sales prospects.

Trigger event

Lead created, listing viewed, application submitted or lease expiring.

Steps

Template, delay days, delay hours and optional subject override.

Status

Draft, active, paused or completed.

 

Example nurture campaign

Step

Timing

Purpose

1

Day 0

Welcome and confirm property interest.

2

Day 3

Share suitable property benefits or next steps.

3

Day 7

Invite the lead to apply, book a viewing or speak to an agent.

 

1. Define the audience and conversion goal.

2. Choose the entry trigger.

3. Select an approved template for each step.

4. Set delays and conditions.

5. Define exit rules for conversion, unsubscribe or invalid contact.

6. Preview every step.

7. Test with a controlled lead.

8. Activate the campaign.

13  Drip Campaign Operations

Operation

Purpose

showDripCampaign

View steps and performance.

editDripCampaign / updateDripCampaign

Edit campaign settings.

toggleDripCampaignStatus

Activate or pause.

pauseDripCampaign

Temporarily stop future execution.

activateDripCampaign

Resume a paused campaign.

destroyDripCampaign

Delete an unused campaign.

 

 

Pause does not necessarily recall messages

A paused campaign should stop future scheduled execution. Confirm how already queued provider messages are handled.

 

14  DripCampaignService

Method

Purpose

executeReadyCampaigns

Processes due active campaigns through the scheduler.

executeCampaignForLead

Runs one campaign for one lead.

createCampaignSequence

Links multiple campaigns into a sequence.

getCampaignAnalytics

Returns campaign analytics over a selected number of days.

pauseCampaign

Pauses execution.

resumeCampaign

Resumes execution.

stopCampaign

Permanently stops the campaign.

 

 

Scheduler health is part of campaign health

A campaign can appear Active but fail to send when the scheduler, queue, mail provider or integration is unavailable. Monitor execution logs and provider results.

 

15  Phase 4 - Create an Email Sequence

STEP
4

Build a Structured Nurture Sequence

Primary user: Marketing Administrator / CRM manager

 

EmailSequenceCampaign defines the sequence. EmailSequenceStep stores each template, delay and condition. EmailSequenceEnrollment tracks each lead's progress.

Figure 2. Lead enrolment and email sequence flow

16  EmailSequenceService

Method

Purpose

processNewLead

Automatically enrols a new lead into matching sequences.

enrollLead

Manually enrols a lead and creates EmailSequenceEnrollment.

processPendingEnrollments

Processes enrolments due for the next send.

sendNextEmail

Sends the next step email.

trackEmailOpened

Records an open event.

trackEmailClicked

Records a click event.

unenrollLead

Removes a lead and records a reason.

reenrollLead

Re-enrols an eligible lead.

getCampaignStats

Returns opens, clicks, conversions and unsubscribes.

bulkEnroll

Enrols multiple leads.

 

 

Prevent duplicate enrolment

Define whether a lead can be enrolled in the same campaign more than once, and whether overlapping campaigns can send similar messages at the same time.

 

17  Sequence Entry, Exit and Suppression Rules

Rule type

Examples

Entry

Lead source, score, stage, city, property interest or trigger event.

Progression

Delay reached, previous email sent or engagement condition met.

Conversion exit

Application submitted, viewing booked, lease signed or sale completed.

Preference exit

Unsubscribe or channel preference disabled.

Data-quality exit

Invalid address, hard bounce or duplicate profile.

Operational exit

Campaign paused, stopped or manually unenrolled.

 

 

Suppression must override automation

An unsubscribe, hard bounce, legal restriction or account-level suppression should prevent future marketing sends even when another active trigger matches.

 

18  Phase 5 - Configure Marketing Triggers

STEP
5

Create an Event-Driven Trigger

Primary user: Marketing Administrator / CRM manager

 

MarketingTrigger stores the event, JSON conditions, action type, action data, delay, status and landlord ownership.

Trigger event

Meaning

lead_created

A new CRM lead is created.

listing_viewed

A lead views a listing.

application_submitted

A rental or purchase application is submitted.

lease_expiring

A lease is within the configured number of days of expiry.

payment_overdue

A rent payment becomes overdue.

property_favorited

A lead saves a property.

we_build_viewed

A lead views a WeBuild project.

land_parcel_viewed

A lead views a land parcel.

mortgage_eligibility_checked

A lead completes a mortgage eligibility check.

inactivity

A lead has no activity for a configured period.

 

19  Marketing Trigger Actions

Action type

Purpose

Send email

Render and send an approved template.

Enrol drip campaign

Start a timed drip campaign.

Enrol email sequence

Create a sequence enrolment.

Post to social media

Execute a configured social automation.

Assign CRM agent

Route the lead to an agent.

Update lead score

Add or remove engagement points.

Send SMS / WhatsApp

Send through configured provider or CrmWhatsAppService.

 

Figure 3. Event-driven trigger flow

20  Trigger Conditions, Delay and Idempotency

Trigger event is emitted from the intended module.

JSON conditions are validated.

Lead or client belongs to the landlord scope.

Action channel is allowed by recipient preferences.

delay_minutes is appropriate.

The same event cannot execute the same action repeatedly without policy.

AutomationLog records the result.

Failure and retry do not create duplicate sends.

 

 

Event replay risk

Webhook retries, repeated page events or job retries can execute a trigger more than once. Use idempotency keys or execution checks for the event, lead, campaign and action.

 

21  Trigger Management Operations

Operation

Purpose

showMarketingTrigger

View event, conditions, action and status.

editMarketingTrigger / updateMarketingTrigger

Edit trigger configuration.

toggleMarketingTriggerStatus

Enable or disable.

destroyMarketingTrigger

Delete an unused trigger.

 

 

Disable before changing material rules

For triggers affecting many leads, disable the trigger, test the change and reactivate after review.

 

22  Phase 6 - Social Media Automation

STEP
6

Configure Social Media Automation

Primary user: Social Media Manager

 

Platform

Typical use

Facebook

Property and campaign posts.

Instagram

Visual property and development content.

Twitter / X

Short updates and links.

LinkedIn

Corporate, investment and development content.

WhatsApp Business

Configured business communication.

 

Automation type

Meaning

Immediate

Post when the automation executes.

Scheduled

Publish at a configured date and time.

Drip sequence

Publish a series of posts over time.

Trigger based

Publish after a platform event such as a new listing or price change.

 

SocialMediaAutomation stores platform, automation type, content template, trigger event, scheduled time, active status, landlord and optional property.

23  SocialMediaAutomationService

Method

Purpose

executeAutomation

Executes an automation using trigger data.

generateContent

Uses AI to propose post content from property and campaign data.

postImmediately

Publishes immediately.

schedulePost

Schedules future publishing.

executeDripSequence

Runs a social content sequence.

executeTriggerBasedPost

Runs a trigger-based post.

getSupportedPlatforms

Returns supported social platforms.

getPerformanceMetrics

Returns campaign social performance.

 

 

AI-generated social content requires review

Check price, availability, location, features, call to action, image rights and platform rules before publication. AI output should remain a draft until approved.

 

24  Social Channel Connection and Publishing Controls

The company owns or is authorised to use the social account.

Tokens or credentials are stored securely.

The account has the required publishing permissions.

Connected property data is current.

Scheduled time uses the correct time zone.

Images and video comply with platform requirements.

Failed posts are logged and do not silently retry without limits.

Platform removal or rejection is recorded.

 

 

External platform availability can change

Social APIs, permissions, review requirements and supported publishing formats are controlled by the external platforms and may affect execution.

 

25  Phase 7 - Visibility Campaigns

STEP
7

Submit a Paid Listing Promotion

Primary user: Visibility Campaign Manager

 

Field

Purpose

Property

Listing being promoted.

Placement

Homepage banner, search top, featured listings or category spotlight.

Target country / city

Geographic audience.

Start / end dates

Campaign period.

Budget

Approved campaign budget.

Amount paid

Verified wallet payment.

 

Figure 4. Visibility campaign lifecycle

26  VisibilityCampaignService

Method

Purpose

submitApplication

Creates a Pending VisibilityCampaign.

payWithWallet

Debits the landlord wallet and moves the campaign to Paid.

approveCampaign

SuperAdmin approves the campaign.

activateIfReady

Activates when the start date is reached.

autoActivateDueCampaigns

Activates all eligible due campaigns.

notifyExpired

Notifies the landlord after expiry.

rejectCampaign

Rejects with a reason.

recordEvent

Records impressions, clicks and conversions.

getLiveCampaigns

Returns active campaigns for placement and geography.

 

 

Payment does not guarantee approval

A Paid campaign remains subject to SuperAdmin review. The refund, credit or resubmission treatment for a rejected paid campaign must be defined.

 

27  Visibility Placement and Performance

Placement

Purpose

Homepage banner

Prominent homepage placement.

Search results top

Promoted listing shown above ordinary results.

Featured listings

Included in a featured collection.

Category spotlight

Promoted within a property category.

 

Event

Definition

Impression

Promoted placement was displayed.

Click

User selected the promoted placement.

Conversion

Configured target action occurred.

 

 

Promoted content should be identifiable

The user interface should distinguish paid visibility from ordinary ranking so users understand that the placement is promoted.

 

28  Phase 8 - CRM-Integrated Bulk Campaigns

STEP
8

Build and Send a CRM Campaign

Primary user: CRM Manager / marketing administrator

 

CrmCampaignsController@create, @store, @send and @sendDirect support targeted campaign delivery.

Segment filter

Purpose

Pipeline stage

Lead's current sales stage.

Lead score

Engagement or qualification score.

Tags

Lead labels such as Investor, Hot Lead or VIP.

City

Lead location or target city.

Property interest

Property, type or project interest.

 

Sending process

1. Define the campaign objective.

2. Build the CRM segment.

3. Review lead count and sample records.

4. Choose email, SMS or WhatsApp.

5. Select an approved template or write the message.

6. Personalise using supported lead data.

7. Apply suppression and preference checks.

8. Send a test.

9. Schedule or send.

10. Monitor CrmCampaignSend results.

29  CrmCampaignsService

Method

Purpose

buildSegment

Builds a lead segment from filters.

sendBulkEmail

Sends email and creates CrmCampaignSend records.

sendBulkSms

Sends bulk SMS.

sendBulkWhatsApp

Sends via CrmWhatsAppService.

personalise

Renders lead-specific content.

channelOptions

Returns available channels.

 

Template-based bulk email may use EmailAutomationService@sendBulkTemplatedEmails. Mail classes include CrmAutomationCampaignMail, CrmAutomationMail and CrmManualCampaignMail.

 

Large segments need batch and rate controls

Use queued batches, provider limits, progress tracking and retry controls. One failed recipient should not fail the complete campaign.

 

30  Phase 9 - CRM Email Automation Rules

STEP
9

Configure Scheduled CRM Automation

Primary user: CRM Manager

 

CrmEmailAutomationService method

Purpose

processAutomationRules

Evaluates active rules through the scheduler.

sendAutomatedEmail

Sends a rule-based message.

sendManualEmail

Sends a one-off manual email.

scheduleEmail

Schedules future email.

getAutomationStats

Returns send, open and conversion statistics.

 

 

Rule order matters

When multiple rules match one lead, define priority, deduplication, daily frequency and whether actions can run in parallel.

 

31  Lease Lifecycle Email Automation

LeaseEmailAutomationService sends communication based on lease events.

Lease event

Automated communication

Lease activation

Welcome and onboarding email.

Payment due in 3 days

Payment reminder.

Payment overdue

Escalation email.

Lease expiring in 30 days

Renewal prompt.

Lease renewed

Renewal confirmation.

 

 

Operational messages and marketing messages should be distinguished

Payment, legal and lease-service communications may be necessary service messages. Promotional content should not be inserted in a way that bypasses marketing preferences.

 

32  Phase 10 - Lead Behaviour Tracking

STEP
10

Track Marketing Behaviour

Primary user: System / authorised integration

 

MarketingAutomationApiController@trackBehavior records behavioural events. @processEvent evaluates matching automation rules. @leadJourney returns the lead's recorded marketing journey.

Behaviour event

Meaning

Page view

A tracked page or property was viewed.

Email open

Tracking indicates the email was opened.

Link click

A tracked link was selected.

Form submit

A listing, enquiry or application form was submitted.

Property favourite

A property was saved.

Eligibility check

A mortgage eligibility process was completed.

 

AutomationLog stores lead, campaign, event type, action data, executed user and execution time.

 

Tracking requires transparency and data minimisation

Track only events required for the stated purpose, apply consent or other lawful basis, and avoid collecting unnecessary sensitive browsing or identity data.

 

33  Lead Journey

leadJourney should present the ordered touchpoints received and actions taken by a lead.

Journey item

Purpose

Timestamp

When the touchpoint occurred.

Channel

Email, SMS, WhatsApp, social, in-app or platform.

Campaign / trigger

The source automation.

Action

Delivered, opened, clicked, viewed, submitted or converted.

Property / product

Associated listing, project, land parcel, lease or mortgage.

Outcome

Score change, assignment, application, lease or sale.

 

 

A journey can be incomplete

Cross-device activity, blocked tracking, offline calls and external social engagement may not be linked to one lead. Present the journey as recorded activity, not a complete account of every influence.

 

34  Phase 11 - Lead Scoring

STEP
11

Update Lead Score from Engagement

Primary user: System / CRM manager

 

Engagement

Example score change

Email opened

+5 points.

Email link clicked

+10 points.

Property listing viewed

+15 points.

Application submitted

+30 points.

Drip campaign completed

+20 points.

 

Scores feed into CrmLead.score through AILeadScoringService.

 

Confirm score configuration

The supplied point values are an example in the scenario. Confirm whether they are fixed, configurable, time-decayed, capped or combined with non-marketing CRM criteria.

 

35  Lead Scoring Controls

Every scoring event has a documented business reason.

Repeated opens or refreshes do not inflate the score without limits.

Negative events such as unsubscribe or inactivity are defined where required.

Scores are recalculated consistently.

The score does not replace human qualification.

Sales users can see the main factors affecting the score.

Scoring changes are logged.

 

 

Engagement does not equal affordability or eligibility

A highly engaged lead may still be unsuitable for a property, mortgage or lease. Use lead score for prioritisation, not final approval.

 

36  Attribution Models

STEP
12

Choose an Attribution Model

Primary user: Marketing analyst / SuperAdmin

 

Model

Meaning

First touch

Credits the first recorded marketing touchpoint.

Last touch

Credits the last recorded touchpoint before conversion.

Linear

Shares credit equally across recorded touchpoints.

 

Figure 5. Campaign analytics and attribution

37  Attribution Report

MarketingAutomationAnalyticsService@generateLeadAttributionReport creates attribution analysis for a campaign and period.

Conversion event is clearly defined.

Lead identity is resolved consistently.

Campaign and channel IDs are present.

Touchpoint time order is correct.

Offline and unattributed conversions are shown separately.

Revenue is verified and not merely estimated without label.

The selected attribution model is displayed in the report.

 

 

Attribution is not causation

The model allocates analytical credit among recorded touchpoints. It does not prove that the credited campaign alone caused the conversion.

 

38  Phase 12 - Campaign Analytics

STEP
13

Review Campaign Performance

Primary user: Marketing manager / analyst

 

Metric

Definition

Sent

Messages submitted for delivery.

Delivered

Provider confirms delivery or accepted delivery.

Opened

Tracked email open.

Clicked

Tracked link click.

Bounced

Delivery failure.

Unsubscribed

Recipient opted out.

Conversion

Defined target action.

Attributed revenue

Verified or reported revenue allocated to the campaign.

 

 

Use denominators consistently

Document whether open rate uses sent or delivered messages, and whether conversion rate uses delivered, clicked or total target audience.

 

39  MarketingAutomationAnalyticsService

Method

Purpose

generateCampaignReport

Creates a campaign report for the selected period.

generateLandlordDashboard

Creates a landlord-wide marketing dashboard.

generateSystemOverview

Creates a platform-wide SuperAdmin overview.

generateLeadAttributionReport

Creates attribution analysis.

exportReport

Exports JSON, CSV or PDF.

scheduleAutomatedReport

Schedules recurring report delivery.

getRealTimeMetrics

Returns current campaign metrics.

 

 

Real-time means recently processed data

Provider delays, queue processing and conversion reconciliation can make live metrics provisional. Final reporting should use a defined closing period.

 

40  Automated Reports

STEP
14

Schedule a Marketing Report

Primary user: Marketing manager

 

Setting

Purpose

Campaign

Campaign or reporting scope.

Frequency

Weekly, monthly or configured schedule.

Format

JSON, CSV or PDF.

Recipients

Authorised report recipients.

 

Recipients are authorised.

Report does not include unnecessary personal data.

The period and time zone are clear.

The attribution model and currency are stated.

Delivery failure is logged.

Old schedules are removed when staff responsibilities change.

 

41  Email Deliverability and Performance

Metric

Meaning

Delivery rate

Delivered divided by sent under the configured definition.

Open rate

Tracked opens divided by delivered.

Click-through rate

Tracked clicks divided by delivered or opened, as defined.

Bounce rate

Bounces divided by sent.

Unsubscribe rate

Unsubscribes divided by delivered.

 

Remove or suppress hard-bounced addresses.

Monitor complaint and unsubscribe patterns.

Avoid unexpected high-volume spikes.

Use a valid sender and reply-to address.

Keep subject and content consistent.

Do not purchase or import unverified contact lists.

 

42  Phase 13 - Integrations

Figure 6. Marketing Automation integration map

Integration

Purpose

CRM

Leads enter campaigns and engagement updates CRM score and journey.

Property listings

Publication and views trigger posts, alerts and nurture.

WeBuild

Project and construction updates support booked-client communication.

Property Development

Development campaigns, channels, platform integrations and leads.

Land Management

New parcels and parcel views trigger land marketing.

Wallet

Visibility campaigns are paid from the landlord wallet.

WhatsApp

CrmWhatsAppService supports WhatsApp communication.

External providers

Email, SMS and social platform execution.

 

43  Property Development Marketing Models

Model

Purpose

PropertyDevelopmentMarketingCampaign

Campaign linked to a development project.

PropertyDevelopmentMarketingChannel

Channel configuration for the campaign.

PropertyDevelopmentMarketingPlatformIntegration

External platform integration.

PropertyDevelopmentMarketingLead

Lead generated from development marketing.

 

 

Avoid duplicate lead creation

When a development lead already exists in CRM, link or enrich the record instead of creating an uncontrolled duplicate.

 

44  Phase 14 - Client and Prospect Experience

STEP
15

How Clients Receive Automated Marketing

Primary user: Client / prospect

 

Channel

Experience

Email

Welcome, property recommendations, nurture, renewals, reminders and project updates.

Social media

Promoted or automated property and project content.

In-app notification

Rules may surface relevant platform notifications.

Push notification

Mobile alerts for matching listings or configured events.

Visibility placements

Promoted listings on homepage, search and category areas.

 

 

Frequency and relevance affect trust

Limit repeated communication, avoid sending the same message through every channel at once and use the lead's actual interests and stage.

 

45  Unsubscribe and Preference Management

1. Provide an unsubscribe link in automated marketing email.

2. Record the unsubscribe against the lead or client profile.

3. Call EmailSequenceService@unenrollLead with the reason 'unsubscribed'.

4. Suppress future marketing email for that recipient.

5. Retain the minimum suppression record required to prevent re-subscription by import.

6. Allow service or transactional messages only under the appropriate separate rule.

7. Provide a process to change channel preferences.

 

Unsubscribe should take effect promptly

Do not rely only on removing one sequence enrolment. Apply recipient-level suppression across relevant future marketing campaigns.

 

46  Privacy, Consent and Behaviour-Tracking Controls

Purpose of marketing and tracking is documented.

Email, SMS, WhatsApp, push and retargeting preferences are stored.

Consent records contain source, time and scope where consent is used.

Withdrawal and unsubscribe are easy to complete.

Tracking events are minimised and secured.

Sensitive KYC, financial and health data are excluded from marketing profiles.

Retention periods are defined.

Data exports and audience lists are access-controlled.

 

 

Retargeting requires external-platform controls

Retargeting based on viewed properties may require configured external advertising integrations, tracking permissions and privacy disclosures beyond the internal trigger record.

 

47  Phase 15 - SuperAdmin Oversight

STEP
16

Use Platform-Wide Marketing Management

Primary user: SuperAdmin

 

Action

Purpose

index

Platform Marketing Automation overview.

dripCampaigns

View all drip campaigns.

create / store drip campaign

Create platform-level drip campaign.

marketingTriggers

View triggers across landlords.

create / store trigger

Create platform-level trigger.

emailTemplates

View and create platform templates.

socialMediaAutomation

View and create social automations.

analytics / exportAnalytics / reports

Platform analytics and reports.

campaigns / leads

Platform campaigns and marketing leads.

leadScoring

Lead-scoring configuration.

attribution

Attribution settings.

settings / integrations

Platform settings and external integrations.

 

SuperAdmin may also edit, show, pause, activate or destroy drip campaigns and manage triggers. SuperAdmin\MarketingCampaignController supports platform-wide campaign management.

 

Platform oversight should be auditable

A SuperAdmin change to a landlord campaign, trigger, template or integration should record the acting administrator, reason, time and previous configuration.

 

48  Automation Logging and Audit Trail

AutomationLog is the supplied audit record for marketing actions.

Field

Purpose

lead_id

Recipient or lead.

campaign_id

Campaign responsible.

event_type

Trigger or behaviour event.

action_data

JSON execution details.

executed_by

System or user responsible.

executed_at

Execution timestamp.

 

Every automated action produces a result record.

Failures include a safe error category.

Provider credentials and sensitive payloads are excluded.

Retries link to the original execution.

Lead, campaign and trigger remain identifiable.

Logs are retained according to policy.

 

49  Campaign Status and Lifecycle Matrix

Record

Status

Meaning

Drip campaign

Draft

Being prepared.

Drip campaign

Active

Eligible for scheduler execution.

Drip campaign

Paused

Future execution paused.

Drip campaign

Completed

Configured campaign flow completed.

Visibility campaign

Pending

Submitted and awaiting payment or review.

Visibility campaign

Paid

Wallet payment verified.

Visibility campaign

Approved

Approved and waiting for start.

Visibility campaign

Active

Displayed in configured placements.

Visibility campaign

Expired

End date reached.

Visibility campaign

Rejected

Rejected with reason.

Sequence enrolment

Active

Eligible for next sequence step.

Sequence enrolment

Unenrolled

Removed due to conversion, unsubscribe or manual action.

 

 

Confirm exact production enums

This guide uses the statuses in the supplied scenario. Confirm database enums and allowed transitions before training users.

 

50  Campaign Performance Definitions

Metric

Recommended definition

Sent

Provider submission or message dispatch.

Delivered

Provider indicates delivery or accepted delivery.

Opened

At least one recorded open, subject to tracking limitations.

Clicked

At least one tracked link click.

Bounce

Provider reports non-delivery.

Unsubscribe

Recipient opts out.

Lead conversion

Configured CRM or application milestone.

Lease conversion

Lead becomes an active lease client.

Sales conversion

Lead completes an approved purchase milestone.

Attributed revenue

Revenue linked using the selected attribution model.

 

51  Worked Example 1 - New Listing Lead Nurture

 

Scenario

A prospect views a residential listing but does not submit an application.

 

Stage

What happens

1. Behaviour

trackBehavior records listing_viewed.

2. Trigger

The matching MarketingTrigger evaluates the property and lead conditions.

3. Enrolment

The lead is enrolled in a drip campaign.

4. Step 1

Day 0 email confirms the viewed property and next action.

5. Tracking

The lead opens the email and the score increases.

6. Step 2

Day 3 email shares similar properties or viewing options.

7. Click

The lead clicks a property link and the score increases.

8. CRM action

A trigger assigns the lead to an agent.

9. Conversion

The lead submits a listing application.

10. Exit

The lead is unenrolled from the nurture campaign.

11. Attribution

The journey and selected attribution model record campaign credit.

 

52  Worked Example 2 - Lease Renewal Automation

 

Scenario

A client's lease will expire in 30 days.

 

Stage

What happens

1. Event

lease_expiring trigger evaluates the configured days.

2. Preference

The system checks the client's communication preferences.

3. Message

LeaseEmailAutomationService sends the renewal prompt.

4. Personalisation

Client name, property and expiry date are rendered.

5. Engagement

Open and click events are recorded.

6. Action

The client requests renewal.

7. Exit

The renewal nurture is stopped.

8. Confirmation

A separate service notification confirms renewal status.

 

 

Renewal communication remains subject to landlord decision

An automated renewal prompt does not guarantee renewal, rent level or approval.

 

53  Worked Example 3 - Paid Visibility Campaign

 

Scenario

A real estate company promotes a newly available apartment in Abuja through Search Results Top for 14 days.

 

Stage

What happens

1. Submit

VisibilityCampaign is created with property, placement, city, dates and budget.

2. Pay

The landlord pays from the wallet and the status becomes Paid.

3. Review

SuperAdmin checks listing quality and placement suitability.

4. Approve

The campaign becomes Approved.

5. Activate

autoActivateDueCampaigns activates it on the start date.

6. Display

getLiveCampaigns returns it for Abuja search placement.

7. Track

recordEvent stores impressions and clicks.

8. Convert

A user submits an application and conversion is recorded.

9. Expire

The end date is reached and the landlord is notified.

10. Analyse

The landlord reviews cost, clicks, conversion and attributed value.

 

54  Worked Example 4 - Social Automation for a New Listing

 

Scenario

A new verified listing is published and the company wants an approved LinkedIn and Instagram post.

 

Stage

What happens

1. Trigger

The new-listing event matches the social automation.

2. Content

generateContent proposes platform-specific copy.

3. Review

The social manager verifies price, availability, features and image rights.

4. Schedule

The post is scheduled for the approved time.

5. Publish

schedulePost publishes through the connected platform.

6. Record

Execution and platform response are logged.

7. Metrics

getPerformanceMetrics returns available social engagement data.

 

55  Backend Models Reference

Model

Purpose

DripCampaign

Multi-step automated drip campaign.

EmailSequenceCampaign

Structured nurture campaign.

EmailSequenceStep

Individual sequence step.

EmailSequenceEnrollment

Lead progress through a sequence.

MarketingTrigger

Event-condition-action automation rule.

SocialMediaAutomation

Social publishing automation.

VisibilityCampaign

Paid listing promotion.

MarketingAutomationAnalytics

Campaign analytics record.

AutomationLog

Automation execution audit.

CrmCampaign / CrmCampaignSend

CRM campaign and per-lead send records.

PropertyDevelopmentMarketingCampaign

Development-linked campaign.

PropertyDevelopmentMarketingChannel

Development marketing channel.

PropertyDevelopmentMarketingPlatformIntegration

External development integration.

PropertyDevelopmentMarketingLead

Development campaign lead.

 

56  Controllers Reference

Controller

Purpose

LandlordMarketingController

Landlord templates, drip, sequences, triggers, social, visibility and analytics.

MarketingAutomationApiController

Dashboard, campaigns, triggers, analytics, behaviour and lead journey API.

CrmCampaignsController

CRM email, SMS and WhatsApp campaign management.

SuperAdmin\MarketingAutomationController

Platform-wide campaigns, leads, scoring, attribution, settings and integrations.

SuperAdmin\MarketingCampaignController

Platform-wide campaign management.

 

57  Services Reference

Service

Purpose

EmailAutomationService

Template filtering, rendering, preview, test send, bulk send and metrics.

DripCampaignService

Drip execution, sequence linking, analytics, pause, resume and stop.

EmailSequenceService

Enrolment, next send, tracking, unenrolment and statistics.

CrmEmailAutomationService

Rule processing and automated, manual or scheduled email.

LeaseEmailAutomationService

Lease lifecycle email automation.

SocialMediaAutomationService

Content generation, publishing, scheduling and metrics.

MarketingAutomationAnalyticsService

Campaign, landlord, platform, attribution and export analytics.

VisibilityCampaignService

Application, payment, approval, activation, events and live placements.

CrmCampaignsService

Segmentation, personalisation and bulk multi-channel sending.

AILeadScoringService

CRM lead score updates from engagement.

CrmWhatsAppService

WhatsApp messaging.

 

58  Mail Classes Reference

Mail class

Purpose

DripCampaignMail

Email for each drip step.

EmailSequenceMail

Email for each sequence step.

LandlordMarketingMail

General landlord marketing email.

CrmAutomationCampaignMail

CRM automated campaign email.

CrmAutomationMail

CRM automation email.

CrmManualCampaignMail

CRM manual campaign email.

 

59  Implementation and Onboarding Checklist

Strategy and content

Campaign objectives and conversion events are documented.

Audience segments and suppression rules are approved.

Templates and brand guidelines are available.

Personalisation tokens and fallbacks are tested.

Frequency caps and exit rules are documented.

 

Technical configuration

Email provider and sender domain are configured.

SMS and WhatsApp providers are configured where used.

Social accounts and permissions are connected.

Scheduler, queues and retry policies are active.

Behaviour tracking and AutomationLog are working.

CRM lead scoring and attribution settings are configured.

Wallet payment is tested for visibility campaigns.

 

Privacy and governance

Consent, preference and unsubscribe records are available.

Marketing and service-message rules are separated.

Campaign approval roles are configured.

SuperAdmin access is audited.

Data retention and export controls are documented.

 

60  User Acceptance Testing and Go-Live

Test area

Acceptance test

Dashboard

Validate active campaigns, trends, upcoming sends and API response.

Template create

Create each template type.

Tokens

Test valid, missing and incorrect data.

Preview

Compare preview with actual test email.

Duplicate / edit

Clone and update without changing unrelated templates.

Drip campaign

Create, activate, pause, resume and stop.

Scheduler

Execute due drip steps.

Sequence

Auto-enrol, manual enrol, bulk enrol and next send.

Tracking

Open, click and unsubscribe.

Exit rules

Convert, unenrol and suppress.

Trigger

Test each event and action.

Idempotency

Replay an event without duplicate send.

Social

Immediate, scheduled, drip and trigger-based execution.

AI content

Review inaccurate or missing property data.

Visibility

Submit, wallet pay, approve, activate, reject and expire.

Visibility events

Impression, click and conversion.

CRM segment

Stage, score, tag, city and property-interest filters.

Bulk email

Batch sending and per-lead CrmCampaignSend.

SMS / WhatsApp

Provider success and failure.

Lease automation

Activation, due, overdue, expiry and renewal.

Behaviour

Page view, click and form submit.

Lead journey

Ordered touchpoints and outcomes.

Lead scoring

Points, duplicate prevention and factors.

Attribution

First, last and linear models.

Analytics

Rates, conversions and revenue.

Exports

JSON, CSV and PDF.

Scheduled report

Delivery, recipients and failure.

Unsubscribe

Recipient suppression across campaigns.

SuperAdmin

Platform view, changes and audit.

Security

Landlord scope, permissions, credentials and logs.

 

 

Pilot before broad automation

Start with one template, one trigger, one small segment and one conversion event. Expand only after delivery, unsubscribe, tracking and reporting are verified.

 

61  Daily, Weekly and Monthly Operating Procedures

Frequency

Recommended activities

Daily

Review scheduled sends, failed jobs, active visibility campaigns, provider failures, bounces, unsubscribes and unusual trigger volume.

Weekly

Review campaign performance, lead journeys, segment quality, social posts, consent issues and upcoming lease automations.

Monthly

Close campaign reports, reconcile visibility spend, review conversion and attribution, remove old schedules and test integrations.

Quarterly

Review templates, scoring, attribution model, frequency caps, platform permissions, privacy notices and provider contracts.

 

62  Common Issues and Troubleshooting

Issue

Recommended action

Template preview is blank

Check template ID, token data and renderEmailContent.

Token appears in final email

Check token spelling and personalisation data.

Test email not received

Check provider, sender, queue, suppression and spam folder.

Drip campaign is Active but not sending

Check scheduler, queue, due steps and campaign dates.

Lead enrolled twice

Check duplicate-enrolment and event-idempotency logic.

Unsubscribed lead receives email

Review recipient-level suppression before all sends.

Trigger fires repeatedly

Check event duplication, condition scope and execution key.

Social post failed

Check token, permission, format, account and platform response.

Visibility campaign paid but inactive

Check SuperAdmin approval and start date.

Visibility campaign rejected after payment

Apply the configured refund or credit process.

Open rate is unusually high

Review privacy-proxy or automated-open effects.

Click rate is zero

Check tracked links, redirect domain and content.

Campaign conversion is missing

Check conversion event and lead identity.

Lead score is inflated

Check repeat-event caps and score rules.

Bulk campaign stopped

Review batching, provider limits and per-recipient error handling.

Report totals differ

Confirm period, time zone, status and metric denominator.

Lead journey is incomplete

Check cross-device identity and tracking coverage.

Wrong landlord sees a campaign

Review landlord scope in controllers, API, services and exports.

 

63  Frequently Asked Questions

Can a real estate company create reusable email templates?

Yes. Templates support type, property filters, tokens, preview, test and duplication.

What is the difference between a drip campaign and an email sequence?

A drip campaign is a timed multi-step campaign, while an email sequence tracks individual lead enrolment and progression with conditions and engagement.

Can a listing view automatically start a campaign?

Yes. listing_viewed can trigger an email, drip, sequence, score update or other configured action.

Can Leaseora post to social media?

The supplied SocialMediaAutomationService supports immediate, scheduled, drip and trigger-based execution for configured platforms.

Can landlords pay to promote listings?

Yes. VisibilityCampaign supports wallet payment, SuperAdmin approval and tracked placements.

Can the module send WhatsApp messages?

CRM campaigns can use CrmWhatsAppService where the integration is configured.

Does an email open increase lead score?

The supplied example adds points, subject to the configured scoring rules.

Can clients unsubscribe?

Yes. Sequence unenrolment and recipient preference storage are supplied and should suppress future marketing.

Can Leaseora measure revenue from campaigns?

The analytics service supports attributed revenue, provided conversion and revenue records are linked.

Does attribution prove that a campaign caused a sale?

No. It allocates analytical credit among recorded touchpoints.

Can SuperAdmin create platform campaigns?

Yes. SuperAdmin Marketing Automation controllers support platform-level templates, triggers, drip and social automation.

Are reports exportable?

Yes. JSON, CSV and PDF are included in the supplied analytics service.

64  Technical Matters to Confirm Before Production

Area

Confirmation required

Campaign status

Confirm exact status enums and transition rules.

Template versioning

Confirm whether active sends use live or snapshot content.

Supported tokens

Confirm token catalogue, fallbacks and escaping.

Email provider

Confirm credentials, callbacks, bounce and complaint processing.

Open / click tracking

Confirm tracking method, privacy and bot filtering.

Sequence enrolment

Confirm duplicate, re-enrolment and overlapping-campaign rules.

Trigger events

Confirm event source and payload schema.

Idempotency

Confirm execution key and retry behaviour.

Delay

Confirm time zone and scheduler resolution.

Suppression

Confirm global, landlord, campaign and channel suppression.

SMS / WhatsApp

Confirm consent, provider and delivery status handling.

Social integrations

Confirm supported API permissions and publishing formats.

AI social content

Confirm review and approval before publish.

Visibility payment

Confirm wallet fee, rejection refund and cancellation.

Visibility ranking

Confirm promoted label, placement limits and rotation.

Conversion

Define application, lease, sale and revenue conversion events.

Lead scoring

Confirm points, caps, decay and negative events.

Attribution

Confirm default model, lookback window and multi-currency revenue.

Analytics

Confirm denominators, late provider events and report closing.

Automated reports

Confirm scheduler, secure recipients and archive.

Behaviour tracking

Confirm event retention, identity and consent.

SuperAdmin

Confirm audit and landlord-notification requirements.

API

Confirm authentication, rate limits and landlord scope.

Retention

Confirm campaign, event, lead journey and suppression retention.

 

 

Specification basis

This guide preserves the terminology and workflow supplied for the Leaseora Marketing Automation module. Undefined production behaviour is listed for confirmation rather than silently assumed.

 

65  Quick Reference - 32-Step Marketing Automation Flow

1. Open the Marketing Automation dashboard.

2. Confirm integrations, consent and channel settings.

3. Create approved email templates.

4. Preview, test and approve personalisation.

5. Create a drip campaign and define timed steps.

6. Create an email sequence and enrolment rules.

7. Configure entry, exit and suppression rules.

8. Create MarketingTrigger records.

9. Define trigger conditions, actions and delays.

10. Configure social media automation.

11. Review AI-generated social content.

12. Submit a visibility campaign.

13. Pay from the landlord wallet.

14. Obtain SuperAdmin approval.

15. Activate the visibility campaign on the start date.

16. Build CRM lead segments.

17. Send email, SMS or WhatsApp campaigns.

18. Process CRM email automation rules.

19. Run lease lifecycle email automation.

20. Track lead behaviour.

21. Write AutomationLog records.

22. Process lead-sequence enrolments.

23. Track email opens and clicks.

24. Update CRM lead scores.

25. Unenrol converted or unsubscribed leads.

26. Record visibility impressions, clicks and conversions.

27. Build the lead journey.

28. Generate campaign analytics.

29. Apply first-touch, last-touch or linear attribution.

30. Export or schedule reports.

31. Review SuperAdmin oversight and integration health.

32. Optimise campaigns while preserving consent, accuracy and auditability.

 

Business value

Leaseora's Marketing Automation module gives a real estate company one connected workflow for lead nurture, property promotion, lease communication, CRM campaigns, social publishing, paid visibility, behaviour tracking, scoring, attribution and reporting.

 

 

 

LEASEORA

MARKETING AUTOMATION

Create, automate, personalise, track and optimise real estate marketing from one connected platform.

 

 

Support and onboarding

For Marketing Automation onboarding, campaign setup, CRM segmentation, visibility campaigns, social integration, analytics or reporting assistance, contact Leaseora through support@leaseora.com.

 

leaseora.com

Was this article helpful?

Your feedback helps us improve our documentation.

Article Info

Category MARKETING
Reading Time 35 min
Views 14
Published Jul 29, 2026

Share

🤝

Need more help?

Our support team is available to assist you.

Contact Support