Help centre / Contacts and data quality

HubSpot lifecycle stage won't change or won't move backward: causes and fixes

Why HubSpot lifecycle stages only move forward, what keeps pushing them, and how to set an earlier stage on one record or many.

By Abdur Rahim Mostafa, HubSpot consultant · Updated 26 October 2026 · 5 min read

HubSpot's automated tools only move the lifecycle stage forward. Imports, form submissions, the API, the Salesforce integration and workflows can set a later stage, and they leave the stage alone when you ask for an earlier one. If a contact is at Customer and an import says Lead, the contact stays at Customer. To go backward with any of those tools, you clear the value first and then set the new one.

The first thing to check is the Lifecycle stage property history on one of the affected contacts. It lists every change with its source, such as a workflow, an import or a form. That tells you whether your change was blocked, or whether something moved the contact forward again after you changed it. If the source is unclear, the guide on finding what changed a property walks through it.

Why the lifecycle stage won't change

The tool you used only moves forward

HubSpot's lifecycle stages article names imports, forms, the API, the Salesforce integration and workflows as forward-only. In a workflow, the Edit record action will only set a value further down the funnel unless an earlier action clears it. The contacts API guide says the same for API updates, so an integration that sends an earlier stage won't move the record back. Editing the field by hand on a record has no such limit.

A form sets a lower stage

In the form editor's settings, On submission, update contact and company lifecycle stage sets a stage on new and existing records. It overrides the default stage in your account settings, and it never moves a record backward. If a form is set to Lead and the person is already a Marketing Qualified Lead, nothing happens. When a form didn't set the stage you expected, check this setting on that form first (form settings).

Company sync keeps pushing contacts forward

Your lifecycle settings live in object settings for contacts, on the Lifecycle Stage tab. Under Automate there is a Sync lifecycle stages option. When it's on, a contact takes its primary company's stage when the company is first set as primary and whenever the company's stage changes. It only runs one way, from the company down to its contacts, and it never moves anyone backward. So you can set a contact back to Lead by hand and watch it move forward again the next time its company's stage changes (lifecycle sync settings).

Deal and lead settings are off, or the contact isn't associated

The same Automate tab has toggles that set a stage when a contact's first deal is created, when a deal is won, and when a lead is associated. If a toggle is off, contacts won't become Opportunity or Customer on their own. If it's on, it only reaches contacts and companies associated with that deal, so a contact who isn't linked to the deal stays where it was. Leads created by an automation, such as a Create a lead action, don't trigger the lead setting. None of these settings demote anyone, which is why a Customer who gets a new deal stays a Customer.

New records get a default stage

The Pipeline Rules tab sets the stage new contacts and companies get when they're created. If new contacts all land at the same stage, this default is the likely reason. With the setting off, new records are left blank, except records created from an index page, from an associated record or through a form. Those get the first stage in your display order unless the form sets one.

Import values don't match a stage

An imported lifecycle stage must match the internal value or the English label (import file setup). A value that matches no option shows up as an Invalid enumeration option error, and the row comes in without it. Blank cells never clear an existing value, so an empty column won't reset anyone. The import errors article covers the other mapping problems.

How to move a lifecycle stage backward

  1. Stop whatever keeps moving it forward. Use the property history to find the workflow, form, sync setting or integration, and change that first. Otherwise the contacts move forward again after you fix them.
  2. For a few records, open each contact and pick the earlier stage in the Lifecycle stage field. You don't need to clear it first when you edit by hand.
  3. For many records on a Professional or Enterprise plan, create a contact workflow with a manual trigger. Add an Edit record action on Lifecycle stage with Clear existing property value ticked, then a second Edit record action that sets the new stage. Turn it on and enroll the contacts you need. As of October 2026 this needs a Professional or Enterprise subscription, per HubSpot's bulk lifecycle article.
  4. Without workflows, select the contacts on the index page, click Edit, choose Lifecycle stage and pick the new value. Bulk edit overwrites the current value of a dropdown property, and HubSpot doesn't list it among the forward-only tools. Open a few records afterwards and check the property history.
  5. If you'd rather use an import, clear the values first, because imports only move forward. Then import a file with an Email column and a Lifecycle stage column.
  6. Check your reports. When a stage moves backward, the older Became a [stage] date property for the later stage is cleared and the date for the earlier stage is filled in. The newer Date entered and Date exited properties are kept.

How to stop it happening again

Write down which tool is allowed to set each stage. For example, forms set Lead, a scoring workflow sets Marketing Qualified Lead, and the deal settings handle Opportunity and Customer. Then remove the stage setting from forms that don't need one, and look at the Automate tab before anyone turns on company sync. If your process sends records backward on purpose, such as a lost deal going back into nurture, keep one clear-then-set workflow for that job and use it every time.

If several tools are setting stages and nobody is sure which one wins, I can audit your portal and sort it out with you.

Questions

Can a form move a contact back to Lead?

No. A form's lifecycle stage setting only moves records forward. Change the stage by hand or with a clear-then-set workflow.

Why is a company still at Lead when its contacts are customers?

Lifecycle sync only runs from the primary company down to its contacts. Update the company's stage yourself. For future deals, associate the company with the deal so the deal settings can update it too.

Can I add my own lifecycle stages?

Yes. Super Admins can add, rename and reorder stages on the Lifecycle Stage tab in contact object settings (customize lifecycle stages). HubSpot's API docs describe forward as later in the stage order, so check that order when a change is being blocked.

Did this fix it?

Written by Abdur Rahim Mostafa. I'm an independent HubSpot consultant with 12 years of HubSpot work. I fix and build HubSpot portals, integrations and automation for teams in the US, UK and Australia. See my case studies or find me on LinkedIn.

Can't find your fix?

Book a free 30-minute call and show me what's happening in your portal. If it needs work, you get a written scope and one fixed price.

Book a free 30-minute call