A contact record shows which campaign someone was launched in, but not where they stand inside it. Four campaign step fields close that gap: they tell you which step already ran, which step is coming, and when — without opening the campaign. They work like other lemlist computed fields: filterable and sortable columns on contacts, and mappable to a HubSpot, Salesforce or Pipedrive property.
⚠️ This feature is in beta and rolls out team by team. Until your team is activated, the four fields are not computed and appear nowhere — no column, no filter, no CRM field mapping entry.
Limitations
The four fields always describe the contact's last launched campaign, and only that one. A contact active in three campaigns does not get three sets of values.
An older campaign moving forward never overwrites the fields. Only the contact's current campaign writes to them.
When a contact is launched in a new campaign, the four values are overwritten, not merged. Progress in the earlier campaign is not kept.
Current Campaign - Next Target Step Date is the only field that is ever emptied. Last Campaign Step Type freezes on the last step reached instead of clearing.
Pausing a lead or pausing a campaign does not recompute the fields. Nothing is rescheduled, so the values stay as they were.
When your team is activated, the backfill fills the fields in lemlist only. Historical values are not pushed to your CRM — your CRM starts receiving values on the next real event for each contact.
Prerequisites
Your team activated for the beta.
Contacts that have been launched in at least one campaign. A contact who was never launched has no values in these fields.
For CRM use only: a connected HubSpot, Salesforce or Pipedrive integration with field mapping configured.
Phase 1: What each field holds
Field | Type | What it holds |
Last Campaign Step Type | Text | The channel or type of the step the contact sits on: the next pending step while the campaign runs, and the last step reached once it is over. Shown as a readable label — |
Current Campaign - Next Target Step Date | Date & time | The scheduled date of that next step. For a manual step (call or manual task) there is no send date, so this is the task's date on the Tasks page. |
Last Executed Step Date | Date & time | When the last step was actually executed on the contact. |
Last Executed Step Number | Number | The position of that step in the sequence, counted from 1 (step 1 is the first step of the campaign). |
Read them as two pairs. Last Executed Step Number and Last Executed Step Date tell you what already happened. Last Campaign Step Type and Current Campaign - Next Target Step Date tell you what comes next. Both pairs always describe the same campaign.
Phase 2: See the fields on your contacts
Step 1: Open Contacts
From the left sidebar, click Contacts.
Step 2: Add the four columns to your view
✅ Verify: the columns Last Campaign Step Type, Current Campaign - Next Target Step Date, Last Executed Step Date and Last Executed Step Number appear in the contacts table.
💡 A contact whose campaign has finished shows a value in Last Campaign Step Type and an empty Current Campaign - Next Target Step Date. That combination means nothing is planned for that contact.
Step 3: Open a single contact to check the values
Click a contact to open the contact panel, then read the four fields in the Contact fields section.
Phase 3: Filter and sort on campaign progress
Step 1: Open the filters
In Contacts, click Filters, then click Add a filter.
Step 2: Pick one of the four fields and set a condition
Useful combinations:
Current Campaign - Next Target Step Date is before today — contacts whose campaign is running late.
Current Campaign - Next Target Step Date is empty — contacts with no pending step left.
Last Campaign Step Type is
Call— contacts waiting on a call.Last Executed Step Number is greater than 3 — contacts deep in the sequence.
✅ Verify: the contact count updates and the filtered rows match the condition you set.
Step 3: Save the view as a list
Save a filter you will reuse as a contact list so you do not rebuild it each time. See Use the Contacts section for how lists work.
You can also click a column header to sort on it, for example to bring the oldest Last Executed Step Date to the top.
Phase 4: Map the fields to your CRM
Each of the four fields can be mapped to a HubSpot, Salesforce or Pipedrive property, so campaign progress feeds CRM views, workflows and reports.
Step 1: Open your CRM field mapping settings
Follow the mapping steps for your CRM: Map fields for the HubSpot integration or How to configure field and user mapping in Salesforce.
Step 2: Map each field to a CRM property
The properties on the CRM side are:
lemlist_last_campaign_step_typelemlist_last_campaign_next_target_step_datelemlist_last_executed_step_datelemlist_last_executed_step_number
✅ Verify: the four fields appear in the mapping list and each shows its CRM property next to it.
⚠️ Existing contacts backfilled at activation are not pushed to your CRM. A contact's CRM property fills in when its next step runs, not at activation.
Phase 5: How the values change
The values are written at the moment something happens, not by a nightly job.
Event | What gets written |
Contact is launched in a campaign | Last Campaign Step Type = type of step 1. Current Campaign - Next Target Step Date = its scheduled date. The executed step fields are not touched yet. |
A step is executed (email sent, LinkedIn action done, call logged, SMS or WhatsApp sent, API step, enrichment done, condition evaluated) | Last Executed Step Date = the date of that action. Last Executed Step Number = that step's number. |
The contact moves to the next step | Last Campaign Step Type = type of the new pending step. Current Campaign - Next Target Step Date = its scheduled date. |
The campaign is over for that contact (no step left) | Last Campaign Step Type keeps the last step reached. Current Campaign - Next Target Step Date is emptied. The executed step fields keep the last executed step. |
The campaign schedule is changed and pending steps are rescheduled | Current Campaign - Next Target Step Date = the new date of the next pending step. Nothing else changes. |
A task is snoozed or postponed on the Tasks page | Current Campaign - Next Target Step Date = the new task date, if the task was actually pushed later. Nothing else changes. |
The contact is launched in another campaign | All four fields reset to the new campaign: step 1's type and date, then the executed step pair is overwritten as soon as the first step runs. |
The cycle in order
The contact is launched: Last Campaign Step Type and Current Campaign - Next Target Step Date point at step 1.
A step runs: Last Executed Step Date and Last Executed Step Number record it.
If a next step exists, the first pair moves to it and the cycle repeats from point 2.
If no step is left, Last Campaign Step Type freezes, Current Campaign - Next Target Step Date empties, and the executed step fields keep their values.
If the contact is launched in another campaign, the cycle starts again from point 1 with the new campaign.
Outside this cycle, editing the sending schedule or snoozing a task updates Current Campaign - Next Target Step Date only.
When a field is emptied
Current Campaign - Next Target Step Date is the only field that empties, and only when there is no pending step left: the campaign finished, or the contact was ended or stopped. It is the reliable signal that nothing is planned.
Last Campaign Step Type is never emptied. It freezes on the last step reached, which is how you read "this contact went as far as the LinkedIn message and stopped there".
Last Executed Step Date and Last Executed Step Number are never emptied. They only move forward, and are overwritten once a new campaign starts producing executed steps.
Example: find contacts whose campaign is running late
Scenario: you want the contacts that should have received a step by now but have not.
Step 1: In Contacts, click Filters, then Add a filter.
Step 2: Select Current Campaign - Next Target Step Date and set the condition to before today.
Step 3: Add Last Executed Step Date and Last Executed Step Number as columns to see how far each contact got.
Step 4: Save the result as a contact list and check it on a regular cadence.
Troubleshooting
Issue: The four fields do not appear anywhere — no column, no filter, no CRM mapping entry
Root cause: Your team has not been activated for the beta yet.
Fix: Wait for your team's activation. Until then the values are not computed, so there is nothing to display. Contact lemlist support if you want to know where your team sits in the rollout.
Issue: Current Campaign - Next Target Step Date is empty but the contact looks active
Root cause: There is no pending step left for that contact — the campaign finished for them, or they were ended or stopped.
Fix: Check Last Campaign Step Type to see which step they reached last, then open the campaign if you need the reason they stopped there.
Issue: The values are correct in lemlist but the CRM property is empty
Root cause: The activation backfill fills lemlist only and does not push historical values to your CRM.
Fix: Confirm the field is mapped in your CRM field mapping settings, then wait for the contact's next step to run. The CRM property fills on the next event for that contact.
Issue: The fields show a different campaign than the one I expected
Root cause: The fields describe the contact's last launched campaign only. Launching the contact somewhere else switched all four fields over to the new campaign.
Fix: Open the contact's campaigns to see the full picture. The four fields are not designed to report on more than one campaign per contact.
If your case is different
If you want the campaign name or the date a contact entered a campaign instead of step-level progress, see Use the Contacts section.
If you want performance per campaign rather than progress per contact, see Understand campaign stats.
If a mapped field is not reaching your CRM at all, see the mapping article for your CRM: HubSpot or Salesforce.


