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.
|
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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.