Take a campaign live, stop it without losing its history, bring it back, and copy it as the starting point for a new one.
A campaign is always in one of four states: Active, Draft, Completed, or Inactive. A campaign you are still building is a draft and sends nothing. Launching moves it to Active and it starts enrolling customers. Deactivating moves it to Inactive and stops it. This article covers those moves, plus copying an existing campaign.Campaigns now live in settings. To open the list, click the circle with your initials in the left sidebar, then Settings, then Campaigns under Applications. The four states used to be tabs in a sub-navigation beside the list; they are now the Status filter in the filter bar above it, which opens on Active.
Launching happens inside the campaign builder, not from the campaigns list.
Open the campaign and choose Edit via Campaign Builder from the Actions menu (on the campaigns list, the row menu calls it Edit Campaign).
Work through the five steps at the top: Basic Info, Entry / Exit, Touchpoints, Locations, Settings.
When every step shows a green check, click Launch Campaign in the top right.
There is no “are you sure?” step. Clicking Launch Campaign saves your sending settings and makes the campaign live immediately. You get the message “Campaign launched successfully!” and Liftify returns you to the campaigns list, where the campaign is now under Active. From that moment, any customer who matches an active entry rule can be enrolled and start receiving messages inside the sending days and hours you set.
Only a draft can be launched. Once a campaign is active, the Launch Campaign button is replaced by Update Campaign, which appears when you reach the Settings step.
Each step name carries a status dot: a green check means the step has everything it needs, a gold dot means something is missing. Launch Campaign stays greyed out until all five show a green check.If you click it anyway, Liftify names what is missing, for example: “Complete the following before launching: at least one active entry rule, touchpoints with content”. The possible items are Basic Info (name and type), at least one active entry rule, touchpoints with content, at least one location, and valid sending settings.Behind those five dots, this is the full checklist Liftify runs when you launch:
Step
What must be true
Basic Info
The campaign has a name, a type, and a sender name
Entry / Exit
At least one entry rule exists and is switched on
Touchpoints
At least one touchpoint exists, every touchpoint has message content, and every email touchpoint also has a subject line
Locations
At least one location is assigned
Settings
Sending settings exist; unless Send Immediately is on, at least one sending day is ticked and Send Start Time is earlier than Send End Time; if you entered a Reply-To Email Override, it is a valid email address
A rule that exists but is switched off does not count. Each rule card has an on/off toggle and shows an Active or Inactive badge — at least one entry rule must show Active.
If something fails when you click Launch Campaign, the campaign stays in Draft and Liftify shows the reason on screen. Nothing is half-launched.
Use Deactivate Campaign in the Actions menu on the campaign page, or in the row menu on the campaigns list. It only appears on campaigns that are currently active.Liftify confirms first: “Deactivate this campaign? New enrollments will stop and everyone currently in the sequence will be paused — no further messages send until you reactivate.”Confirming does four things at once:
The campaign moves to Inactive.
Its entry and exit rules are switched off, so no one new is enrolled.
Its sending settings are switched off.
Every customer partway through the sequence is paused, so the messages already scheduled for them stop going out.
Nobody is removed and no history is lost. The campaign’s past performance stays on its page.
Reactivate Campaign appears on campaigns that are inactive. The confirmation reads: “Reactivate this campaign? All entry and exit rules will be re-enabled, new enrollments will resume, and paused customers will continue their sequence where they left off.”Two things are worth knowing before you click it:
Reactivating switches every rule on this campaign back on — including any entry or exit rule you had deliberately turned off before you deactivated. Liftify does not remember which ones were off. Open the Entry / Exit step after reactivating and switch off anything that should stay off.
Only the customers that deactivation paused are resumed. If you paused an individual customer yourself from their contact page, they stay paused.
Duplicate Campaign is in the Actions menu and in the campaigns list row menu. It works on a campaign in any state, and there is no confirmation step.Liftify makes the copy immediately, confirms with “Campaign duplicated successfully.”, and opens the copy in the campaign builder. The copy:
is named after the original with (Copy) on the end, and is a Draft. Copy that campaign again and the next one is (Copy 2), then (Copy 3), so duplicating the same campaign repeatedly no longer fails on a name clash
carries over the whole message sequence, the entry and exit rules, and the sending settings
Locations are not copied. Go to the Locations step of the copy and tick the locations it should run for — until you do, the step keeps a gold dot and you cannot launch.
Duplicating is the safe way to try a variation: change the copy, launch it, and leave the original alone.
Delete Campaign sits at the bottom of the same menu, after a divider, and asks “Are you sure you want to delete this campaign?”You can only delete a campaign nobody has ever been enrolled in. Once even one customer has entered it, Liftify refuses with “Cannot delete a campaign that has customer enrollments.” Deactivate it instead — that stops it sending while keeping its results.
The buttons are missing and the top right says “View-only”. Either your Liftify user has read-only access to campaigns, or this campaign is managed for you by the Liftify team. You can still read every step. If the campaign is active, Deactivate Campaign is still available to you — a campaign sending on your behalf can always be stopped.Launch Campaign is greyed out. A step is incomplete. Look for the gold dot, or click the button to have Liftify list what is missing.I deactivated a campaign and messages still went out. Deactivation pauses scheduled sends, but a message already handed to the phone carrier or email provider cannot be pulled back.I reactivated and customers picked up mid-sequence. That is expected — they resume where they left off rather than starting over.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Liftify Help","colors":{"primary":"#3767AA","light":"#98B9DC","dark":"#274C80"},"logo":{"light":"https://mintcdn.com/liftify/zqeWY9h9LqqOeRKo/logo/liftify-light.png?fit=max\u0026auto=format\u0026n=zqeWY9h9LqqOeRKo\u0026q=85\u0026s=6f9fdda7d91dac01bd6cb5e118f2809a","dark":"https://mintcdn.com/liftify/zqeWY9h9LqqOeRKo/logo/liftify-dark.png?fit=max\u0026auto=format\u0026n=zqeWY9h9LqqOeRKo\u0026q=85\u0026s=b2a6c1d6603afcbb131adae55ed34f20"},"favicon":"https://mintcdn.com/liftify/zqeWY9h9LqqOeRKo/favicon.png?fit=max\u0026auto=format\u0026n=zqeWY9h9LqqOeRKo\u0026q=85\u0026s=9a57f712061384b17c22dfd5b7ab57f4","navbar":{"links":[{"href":"mailto:support@liftify.com","label":"Contact support"}]},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"liftify","hasAudioNarration":false,"actualSubdomain":"liftify","customDomains":["help.liftify.com"],"gitSource":{"type":"github","owner":"liftify-dev","repo":"liftify-knowledge-base","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ad625e40e9fddb338e069f9","collectionId":"940b0bdc-4f48-4498-8feb-200841fa7d20","liveDeploymentHistoryId":"6ad625e40e9fddb338e069f9","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ad625e40e9fddb338e069f9","clientVersion":"0.0.3964","searchFilterCounts":[{"language":"default","tag":"Getting started","count":14},{"language":"default","tag":"Campaigns","count":10},{"language":"default","tag":"Admin","count":8},{"language":"default","tag":"Reviews","count":8},{"language":"default","tag":"Inbox","count":4},{"language":"default","tag":"Surveys","count":3},{"language":"default","tag":"Tasks","count":2},{"language":"default","tag":"What's new","count":1},{"language":"default","tag":"Contacts","count":1},{"language":"default","tag":"QR codes","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"support-form.css","content":".lfy-support-overlay{position:fixed;inset:0;display:none;align-items:flex-start;justify-content:center;padding:6vh 16px 16px;background:rgba(23,48,87,.45);z-index:9999;overflow-y:auto}.lfy-support-overlay.lfy-open{display:flex}.lfy-support-modal{position:relative;width:100%;max-width:560px;background:#fff;color:#1c0f13;border-radius:12px;box-shadow:0 24px 64px -16px rgba(23,48,87,.4);padding:28px;font-size:15px}.lfy-support-modal h2{margin:0 0 4px;font-size:22px}.lfy-support-sub{margin:0 0 14px;color:#6a6a6a}.lfy-support-note{background:#eaf1f8;border-radius:8px;padding:10px 14px;margin:0 0 18px}.lfy-support-note a{color:#3767aa;font-weight:600}.lfy-support-close{position:absolute;top:16px;right:18px;border:0;background:0 0;font-size:26px;line-height:1;color:#6a6a6a;cursor:pointer}.lfy-support-form label{display:block;font-weight:600;margin-bottom:14px}.lfy-support-row{display:flex;gap:14px}.lfy-support-row label{flex:1}.lfy-support-form input,.lfy-support-form textarea{display:block;width:100%;margin-top:6px;padding:10px 12px;font:inherit;font-weight:400;color:inherit;background:#fff;border:1px solid #e2e2e8;border-radius:8px}.lfy-support-form input:focus,.lfy-support-form textarea:focus{outline:2px solid #3767aa;outline-offset:-1px}.lfy-support-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px}.lfy-support-status{flex:1;font-size:13px;color:#6a6a6a}.lfy-support-status.lfy-ok{color:#2e7d5b}.lfy-support-status.lfy-err{color:#a6462f}.lfy-support-send{border:0;border-radius:8px;background:#3767aa;color:#fff;font:inherit;font-weight:600;padding:10px 20px;cursor:pointer}.lfy-support-send:hover{background:#274c80}.lfy-support-send:disabled{opacity:.6;cursor:default}html.dark .lfy-support-modal{background:#171f27;color:#e6ebf0}html.dark .lfy-support-close,html.dark .lfy-support-status,html.dark .lfy-support-sub{color:#9daab6}html.dark .lfy-support-note{background:#163040}html.dark .lfy-support-note a{color:#98b9dc}html.dark .lfy-support-form input,html.dark .lfy-support-form textarea{background:#10161c;border-color:#364552}"}],"page":{"pagePath":"campaigns/launch-pause-and-duplicate","slug":"/campaigns/launch-pause-and-duplicate","pageMetadata":{"title":"Launch, pause, and duplicate a campaign","description":"Take a campaign live, stop it without losing its history, bring it back, and copy it as the starting point for a new one.","source_paths":["app/controllers/client_portal/campaigns_management_controller.rb","app/views/client_portal/campaigns_management/**","app/javascript/controllers/client_portal/campaign_builder_controller.js","app/javascript/controllers/client_portal/campaign_settings_controller.js","app/services/campaign_deactivator.rb","app/services/campaign_reactivator.rb","app/services/campaign_duplicator.rb","app/helpers/client_portal/settings_nav_helper.rb"],"human_owned":false,"href":"/campaigns/launch-pause-and-duplicate"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Take a campaign live, stop it without losing its history, bring it back, and copy it as the starting point for a new one.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,em:`em`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Note,Table,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`A campaign is always in one of four states: `,_jsx(_components.strong,{children:`Active`}),`, `,_jsx(_components.strong,{children:`Draft`}),`, `,_jsx(_components.strong,{children:`Completed`}),`, or `,_jsx(_components.strong,{children:`Inactive`}),`. A campaign you are still building is a draft and sends nothing. Launching moves it to `,_jsx(_components.strong,{children:`Active`}),` and it starts enrolling customers. Deactivating moves it to `,_jsx(_components.strong,{children:`Inactive`}),` and stops it. This article covers those moves, plus copying an existing campaign.`]}),`\n`,_jsxs(_components.p,{children:[`Campaigns now live in settings. To open the list, click the circle with your initials in the left sidebar, then `,_jsx(_components.strong,{children:`Settings`}),`, then `,_jsx(_components.strong,{children:`Campaigns`}),` under `,_jsx(_components.strong,{children:`Applications`}),`. The four states used to be tabs in a sub-navigation beside the list; they are now the `,_jsx(_components.strong,{children:`Status`}),` filter in the filter bar above it, which opens on `,_jsx(_components.strong,{children:`Active`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`launch-a-campaign`,children:`Launch a campaign`}),`\n`,_jsx(_components.p,{children:`Launching happens inside the campaign builder, not from the campaigns list.`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Open the campaign and choose `,_jsx(_components.strong,{children:`Edit via Campaign Builder`}),` from the `,_jsx(_components.strong,{children:`Actions`}),` menu (on the campaigns list, the row menu calls it `,_jsx(_components.strong,{children:`Edit Campaign`}),`).`]}),`\n`,_jsxs(_components.li,{children:[`Work through the five steps at the top: `,_jsx(_components.strong,{children:`Basic Info`}),`, `,_jsx(_components.strong,{children:`Entry / Exit`}),`, `,_jsx(_components.strong,{children:`Touchpoints`}),`, `,_jsx(_components.strong,{children:`Locations`}),`, `,_jsx(_components.strong,{children:`Settings`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`When every step shows a green check, click `,_jsx(_components.strong,{children:`Launch Campaign`}),` in the top right.`]}),`\n`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`There is no “are you sure?” step. Clicking `,_jsx(_components.strong,{children:`Launch Campaign`}),` saves your sending settings and makes the campaign live immediately. You get the message `,_jsx(_components.strong,{children:`“Campaign launched successfully!”`}),` and Liftify returns you to the campaigns list, where the campaign is now under `,_jsx(_components.strong,{children:`Active`}),`. From that moment, any customer who matches an active entry rule can be enrolled and start receiving messages inside the sending days and hours you set.`]})}),`\n`,_jsxs(_components.p,{children:[`Only a draft can be launched. Once a campaign is active, the `,_jsx(_components.strong,{children:`Launch Campaign`}),` button is replaced by `,_jsx(_components.strong,{children:`Update Campaign`}),`, which appears when you reach the `,_jsx(_components.strong,{children:`Settings`}),` step.`]}),`\n`,_jsx(Heading,{level:`3`,id:`the-readiness-check`,children:`The readiness check`}),`\n`,_jsxs(_components.p,{children:[`Each step name carries a status dot: a green check means the step has everything it needs, a gold dot means something is missing. `,_jsx(_components.strong,{children:`Launch Campaign`}),` stays greyed out until all five show a green check.`]}),`\n`,_jsxs(_components.p,{children:[`If you click it anyway, Liftify names what is missing, for example: `,_jsx(_components.em,{children:`“Complete the following before launching: at least one active entry rule, touchpoints with content”`}),`. The possible items are `,_jsx(_components.strong,{children:`Basic Info (name and type)`}),`, `,_jsx(_components.strong,{children:`at least one active entry rule`}),`, `,_jsx(_components.strong,{children:`touchpoints with content`}),`, `,_jsx(_components.strong,{children:`at least one location`}),`, and `,_jsx(_components.strong,{children:`valid sending settings`}),`.`]}),`\n`,_jsx(_components.p,{children:`Behind those five dots, this is the full checklist Liftify runs when you launch:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Step`}),_jsx(_components.th,{children:`What must be true`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Basic Info`}),_jsx(_components.td,{children:`The campaign has a name, a type, and a sender name`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Entry / Exit`}),_jsxs(_components.td,{children:[`At least one entry rule exists `,_jsx(_components.strong,{children:`and`}),` is switched on`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Touchpoints`}),_jsx(_components.td,{children:`At least one touchpoint exists, every touchpoint has message content, and every email touchpoint also has a subject line`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Locations`}),_jsx(_components.td,{children:`At least one location is assigned`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Settings`}),_jsxs(_components.td,{children:[`Sending settings exist; unless `,_jsx(_components.strong,{children:`Send Immediately`}),` is on, at least one sending day is ticked and `,_jsx(_components.strong,{children:`Send Start Time`}),` is earlier than `,_jsx(_components.strong,{children:`Send End Time`}),`; if you entered a `,_jsx(_components.strong,{children:`Reply-To Email Override`}),`, it is a valid email address`]})]})]})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`A rule that exists but is switched off does not count. Each rule card has an on/off toggle and shows an `,_jsx(_components.strong,{children:`Active`}),` or `,_jsx(_components.strong,{children:`Inactive`}),` badge — at least one entry rule must show `,_jsx(_components.strong,{children:`Active`}),`.`]})}),`\n`,_jsxs(_components.p,{children:[`If something fails when you click `,_jsx(_components.strong,{children:`Launch Campaign`}),`, the campaign stays in `,_jsx(_components.strong,{children:`Draft`}),` and Liftify shows the reason on screen. Nothing is half-launched.`]}),`\n`,_jsx(Heading,{level:`2`,id:`pause-a-live-campaign`,children:`Pause a live campaign`}),`\n`,_jsxs(_components.p,{children:[`Use `,_jsx(_components.strong,{children:`Deactivate Campaign`}),` in the `,_jsx(_components.strong,{children:`Actions`}),` menu on the campaign page, or in the row menu on the campaigns list. It only appears on campaigns that are currently active.`]}),`\n`,_jsxs(_components.p,{children:[`Liftify confirms first: `,_jsx(_components.em,{children:`“Deactivate this campaign? New enrollments will stop and everyone currently in the sequence will be paused — no further messages send until you reactivate.”`})]}),`\n`,_jsx(_components.p,{children:`Confirming does four things at once:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`The campaign moves to `,_jsx(_components.strong,{children:`Inactive`}),`.`]}),`\n`,_jsx(_components.li,{children:`Its entry and exit rules are switched off, so no one new is enrolled.`}),`\n`,_jsx(_components.li,{children:`Its sending settings are switched off.`}),`\n`,_jsx(_components.li,{children:`Every customer partway through the sequence is paused, so the messages already scheduled for them stop going out.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Nobody is removed and no history is lost. The campaign’s past performance stays on its page.`}),`\n`,_jsx(Heading,{level:`2`,id:`bring-a-campaign-back`,children:`Bring a campaign back`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Reactivate Campaign`}),` appears on campaigns that are inactive. The confirmation reads: `,_jsx(_components.em,{children:`“Reactivate this campaign? All entry and exit rules will be re-enabled, new enrollments will resume, and paused customers will continue their sequence where they left off.”`})]}),`\n`,_jsx(_components.p,{children:`Two things are worth knowing before you click it:`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Reactivating switches `,_jsx(_components.strong,{children:`every`}),` rule on this campaign back on — including any entry or exit rule you had deliberately turned off before you deactivated. Liftify does not remember which ones were off. Open the `,_jsx(_components.strong,{children:`Entry / Exit`}),` step after reactivating and switch off anything that should stay off.`]})}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`Only the customers that deactivation paused are resumed. If you paused an individual customer yourself from their contact page, they stay paused.`})}),`\n`,_jsx(Heading,{level:`2`,id:`duplicate-a-campaign`,children:`Duplicate a campaign`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Duplicate Campaign`}),` is in the `,_jsx(_components.strong,{children:`Actions`}),` menu and in the campaigns list row menu. It works on a campaign in any state, and there is no confirmation step.`]}),`\n`,_jsxs(_components.p,{children:[`Liftify makes the copy immediately, confirms with `,_jsx(_components.strong,{children:`“Campaign duplicated successfully.”`}),`, and opens the copy in the campaign builder. The copy:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`is named after the original with `,_jsx(_components.strong,{children:`(Copy)`}),` on the end, and is a `,_jsx(_components.strong,{children:`Draft`}),`. Copy that campaign again and the next one is `,_jsx(_components.strong,{children:`(Copy 2)`}),`, then `,_jsx(_components.strong,{children:`(Copy 3)`}),`, so duplicating the same campaign repeatedly no longer fails on a name clash`]}),`\n`,_jsx(_components.li,{children:`carries over the whole message sequence, the entry and exit rules, and the sending settings`}),`\n`,_jsxs(_components.li,{children:[`has `,_jsx(_components.strong,{children:`no locations assigned`})]}),`\n`,_jsxs(_components.li,{children:[`counts toward your review-request figures, even if the original was excluded from them. See `,_jsx(_components.a,{href:`/campaigns/build-a-review-request-campaign#keep-a-campaign-out-of-your-review-request-figures`,children:`Keep a campaign out of your review-request figures`})]}),`\n`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Locations are not copied. Go to the `,_jsx(_components.strong,{children:`Locations`}),` step of the copy and tick the locations it should run for — until you do, the step keeps a gold dot and you cannot launch.`]})}),`\n`,_jsx(_components.p,{children:`Duplicating is the safe way to try a variation: change the copy, launch it, and leave the original alone.`}),`\n`,_jsx(Heading,{level:`2`,id:`delete-a-campaign`,children:`Delete a campaign`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Delete Campaign`}),` sits at the bottom of the same menu, after a divider, and asks `,_jsx(_components.em,{children:`“Are you sure you want to delete this campaign?”`})]}),`\n`,_jsxs(_components.p,{children:[`You can only delete a campaign nobody has ever been enrolled in. Once even one customer has entered it, Liftify refuses with `,_jsx(_components.strong,{children:`“Cannot delete a campaign that has customer enrollments.”`}),` Deactivate it instead — that stops it sending while keeping its results.`]}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshooting`,children:`Troubleshooting`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`The buttons are missing and the top right says “View-only”.`}),` Either your Liftify user has read-only access to campaigns, or this campaign is managed for you by the Liftify team. You can still read every step. If the campaign is active, `,_jsx(_components.strong,{children:`Deactivate Campaign`}),` is still available to you — a campaign sending on your behalf can always be stopped.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Launch Campaign is greyed out.`}),` A step is incomplete. Look for the gold dot, or click the button to have Liftify list what is missing.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`I deactivated a campaign and messages still went out.`}),` Deactivation pauses scheduled sends, but a message already handed to the phone carrier or email provider cannot be pulled back.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`I reactivated and customers picked up mid-sequence.`}),` That is expected — they resume where they left off rather than starting over.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Launch, pause, and duplicate a campaign","description":"Take a campaign live, stop it without losing its history, bring it back, and copy it as the starting point for a new one.","source_paths":["app/controllers/client_portal/campaigns_management_controller.rb","app/views/client_portal/campaigns_management/**","app/javascript/controllers/client_portal/campaign_builder_controller.js","app/javascript/controllers/client_portal/campaign_settings_controller.js","app/services/campaign_deactivator.rb","app/services/campaign_reactivator.rb","app/services/campaign_duplicator.rb","app/helpers/client_portal/settings_nav_helper.rb"],"human_owned":false,"href":"/campaigns/launch-pause-and-duplicate"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Launch a campaign","slug":"launch-a-campaign","depth":2,"children":[{"title":"The readiness check","slug":"the-readiness-check","depth":3,"children":[]}]},{"title":"Pause a live campaign","slug":"pause-a-live-campaign","depth":2,"children":[]},{"title":"Bring a campaign back","slug":"bring-a-campaign-back","depth":2,"children":[]},{"title":"Duplicate a campaign","slug":"duplicate-a-campaign","depth":2,"children":[]},{"title":"Delete a campaign","slug":"delete-a-campaign","depth":2,"children":[]},{"title":"Troubleshooting","slug":"troubleshooting","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/liftify/3681c179ab9acab8/hubspot-chat.js","/_mintlify/custom/liftify/ebbc8d30e581424d/support-form.js"],"subdomain":"liftify","siteName":"Liftify Help","title":"Launch, pause, and duplicate a campaign - Liftify Help","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-19T14:15:24.009Z","originalFileLocation":"campaigns/launch-pause-and-duplicate.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Take a campaign live, stop it without losing its history, bring it back, and copy it as the starting point for a new one.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Liftify Help\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/liftify/LDuNtP2wEz0NnHPM/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/liftify/LDuNtP2wEz0NnHPM/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/liftify/LDuNtP2wEz0NnHPM/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/liftify/LDuNtP2wEz0NnHPM/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/liftify/LDuNtP2wEz0NnHPM/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/liftify/LDuNtP2wEz0NnHPM/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/liftify/LDuNtP2wEz0NnHPM/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/liftify/LDuNtP2wEz0NnHPM/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/liftify/LDuNtP2wEz0NnHPM/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Launch, pause, and duplicate a campaign - Liftify Help\">\u003cmeta data-mint-head property=\"og:description\" content=\"Take a campaign live, stop it without losing its history, bring it back, and copy it as the starting point for a new one.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Liftify Help\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://help.liftify.com/campaigns/launch-pause-and-duplicate\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://liftify.mintlify.app/_mintlify/api/og/v2?division=Campaigns\u0026amp;title=Launch%2C+pause%2C+and+duplicate+a+campaign\u0026amp;description=Take+a+campaign+live%2C+stop+it+without+losing+its+history%2C+bring+it+back%2C+and+copy+it+as+the+starting+point+for+a+new+one.\u0026amp;theme=1bd7f51ba2fc6c083c5955f0\u0026amp;signature=e32492dd4416f7b439e8075f121189a35073b48d5d18e544feab161b6752288f\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Launch, pause, and duplicate a campaign - Liftify Help\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Take a campaign live, stop it without losing its history, bring it back, and copy it as the starting point for a new one.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://liftify.mintlify.app/_mintlify/api/og/v2?division=Campaigns\u0026amp;title=Launch%2C+pause%2C+and+duplicate+a+campaign\u0026amp;description=Take+a+campaign+live%2C+stop+it+without+losing+its+history%2C+bring+it+back%2C+and+copy+it+as+the+starting+point+for+a+new+one.\u0026amp;theme=1bd7f51ba2fc6c083c5955f0\u0026amp;signature=e32492dd4416f7b439e8075f121189a35073b48d5d18e544feab161b6752288f\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/liftify/LDuNtP2wEz0NnHPM/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Liftify Help\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3767AA\">\u003clink data-mint-head rel=\"canonical\" href=\"https://help.liftify.com/campaigns/launch-pause-and-duplicate\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/campaigns/launch-pause-and-duplicate.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://help.liftify.com/#organization\",\"name\":\"Liftify Help\",\"url\":\"https://help.liftify.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/liftify/zqeWY9h9LqqOeRKo/logo/liftify-light.png?fit=max\u0026auto=format\u0026n=zqeWY9h9LqqOeRKo\u0026q=85\u0026s=6f9fdda7d91dac01bd6cb5e118f2809a\"}},{\"@type\":\"WebSite\",\"@id\":\"https://help.liftify.com#website\",\"name\":\"Liftify Help\",\"url\":\"https://help.liftify.com\",\"publisher\":{\"@id\":\"https://help.liftify.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://help.liftify.com/campaigns/launch-pause-and-duplicate#webpage\",\"url\":\"https://help.liftify.com/campaigns/launch-pause-and-duplicate\",\"name\":\"Launch, pause, and duplicate a campaign\",\"description\":\"Take a campaign live, stop it without losing its history, bring it back, and copy it as the starting point for a new one.\",\"dateModified\":\"2026-10-19T14:15:24.009Z\",\"isPartOf\":{\"@id\":\"https://help.liftify.com#website\"},\"breadcrumb\":{\"@id\":\"https://help.liftify.com/campaigns/launch-pause-and-duplicate#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://help.liftify.com/campaigns/launch-pause-and-duplicate#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Campaigns\",\"item\":\"https://help.liftify.com/campaigns/campaign-types-explained\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Launch, pause, and duplicate a campaign\",\"item\":\"https://help.liftify.com/campaigns/launch-pause-and-duplicate\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://help.liftify.com/campaigns/launch-pause-and-duplicate#article\",\"headline\":\"Launch, pause, and duplicate a campaign\",\"name\":\"Launch, pause, and duplicate a campaign\",\"description\":\"Take a campaign live, stop it without losing its history, bring it back, and copy it as the starting point for a new one.\",\"url\":\"https://help.liftify.com/campaigns/launch-pause-and-duplicate\",\"mainEntityOfPage\":{\"@id\":\"https://help.liftify.com/campaigns/launch-pause-and-duplicate#webpage\"},\"dateModified\":\"2026-10-19T14:15:24.009Z\",\"publisher\":{\"@id\":\"https://help.liftify.com/#organization\"},\"isPartOf\":{\"@id\":\"https://help.liftify.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Liftify Help\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Liftify Help","nav":{"global":null,"pages":[{"group":"Getting started","pages":[{"title":"Liftify Help","href":"/index"},{"title":"Sign in with a magic link","href":"/getting-started/sign-in-with-a-magic-link"},{"title":"Sign in with Google or Microsoft","href":"/getting-started/sign-in-with-sso"},{"title":"Contact Liftify support","href":"/getting-started/contact-liftify-support"},{"title":"Set up your locations","href":"/getting-started/set-up-your-locations"},{"title":"Connect your Google Business Profile","href":"/getting-started/connect-google-business-profile"},{"title":"Map your locations to their listings","href":"/getting-started/map-locations-to-listings"},{"title":"Connect Facebook","href":"/getting-started/connect-facebook"},{"title":"Reconnect, re-sync, or disconnect an account","href":"/getting-started/reconnect-or-disconnect"},{"title":"Complete your legal info for text messaging","href":"/getting-started/complete-legal-info-for-sms"},{"title":"Update your profile","href":"/getting-started/update-your-profile"},{"title":"Switch between accounts","href":"/getting-started/switch-between-accounts"},{"title":"Set your company branding","href":"/getting-started/set-your-company-branding"},{"title":"Why your locations are inactive","href":"/getting-started/why-your-locations-are-inactive"}]},{"group":"Campaigns","pages":[{"title":"Campaign types explained","href":"/campaigns/campaign-types-explained"},{"title":"Start a campaign from a template","href":"/campaigns/start-from-a-template"},{"title":"Build a review-request campaign","href":"/campaigns/build-a-review-request-campaign"},{"title":"Add and edit touchpoints","href":"/campaigns/add-and-edit-touchpoints"},{"title":"Entry and exit rules","href":"/campaigns/entry-and-exit-rules"},{"title":"Sending days and times","href":"/campaigns/sending-days-and-times"},{"title":"Account-wide campaign defaults","description":"Set the days your account sends on and the two waiting periods that stop customers being messaged too often, and understand how they interact with each campaign's own settings.","href":"/campaigns/account-campaign-defaults"},{"title":"Launch, pause, and duplicate a campaign","href":"/campaigns/launch-pause-and-duplicate"},{"title":"Choose who handles replies to a campaign","description":"Name one person to take every reply a campaign brings back, and understand how that decision lands against your Inbox assignment rules.","href":"/campaigns/route-campaign-replies"},{"title":"Use the custom HTML email editor","href":"/campaigns/use-the-custom-html-email-editor"}]},{"group":"Contacts","pages":[{"title":"Add a contact and enroll them in a campaign","href":"/contacts/add-a-contact-and-enroll"}]},{"group":"Reviews","pages":[{"title":"Find and filter reviews","href":"/reviews/find-and-filter-reviews"},{"title":"Schedule a review report by email","href":"/reviews/schedule-a-review-report"},{"title":"Reply to a review","href":"/reviews/reply-to-a-review"},{"title":"Use AI to draft review replies","href":"/reviews/ai-review-replies"},{"title":"Tune the AI response prompt","href":"/reviews/tune-the-ai-response-prompt"},{"title":"Save and reuse response templates","href":"/reviews/save-and-reuse-response-templates"},{"title":"Match a review to a job, contact, or employee","href":"/reviews/match-a-review-to-a-customer"},{"title":"Report a review that breaks Google's policies","href":"/reviews/report-a-policy-violating-review"}]},{"group":"Inbox","pages":[{"title":"Handle an inbound message","href":"/inbox/handle-an-inbound-message"},{"title":"Add an internal note to a conversation","href":"/inbox/add-an-internal-note"},{"title":"Save an Inbox filter as a view","href":"/inbox/save-an-inbox-filter-view"},{"title":"Assign conversations automatically","href":"/inbox/auto-assign-conversations"}]},{"group":"Surveys","pages":[{"title":"Build and publish a survey","href":"/surveys/build-and-publish-a-survey"},{"title":"Read survey responses","href":"/surveys/read-survey-responses"},{"title":"Translate a survey","href":"/surveys/translate-a-survey"}]},{"group":"Tasks","pages":[{"title":"Work a task","href":"/tickets/work-a-ticket"},{"title":"Create tasks automatically","href":"/tickets/create-tickets-automatically"}]},{"group":"QR codes","pages":[{"title":"Create a QR code","href":"/qr-codes/create-a-qr-code"}]},{"group":"Admin","pages":[{"title":"Invite users and assign roles","href":"/admin/invite-users-and-assign-roles"},{"title":"Merge duplicate employees","href":"/admin/merge-duplicate-employees"},{"title":"Set your notification rules","href":"/admin/set-your-notification-rules"},{"title":"Set default notifications for new users","href":"/admin/set-default-notifications-for-new-users"},{"title":"Connect an external system","href":"/admin/connect-an-external-system"},{"title":"Get your API key","href":"/admin/get-your-api-key"},{"title":"Bulk import users from a CSV","href":"/admin/bulk-import-users"},{"title":"External aliases","href":"/admin/external-aliases"}]},{"group":"What's new","pages":[{"title":"What's new in Liftify","href":"/changelog"}]}]},"title":"Launch, pause, and duplicate a campaign - Liftify Help","buildId":"dpl_HcHmUS6i3UwswnTHJUEdcTtwfdTQ","deploymentId":"dpl_HcHmUS6i3UwswnTHJUEdcTtwfdTQ","dynamics":[],"chunks":[]}