Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/assets/Inline/move-to-new-builder.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
title: "Convert a paywall into a flow"
description: "Recreate an existing paywall as an editable flow in one click. Your original stays live while you build and test the new version."
metadataTitle: "Convert a paywall into a flow | Adapty Docs"
keywords: ['paywall builder', 'old paywall builder', 'move to new builder', 'paywall migration']
---

If your current paywall was made in the old Paywall Builder, you can convert it into a flow without rebuilding it. <Inline id="move-to-new-builder.svg" alt="Move to new builder" /> **Move to new builder** recreates the paywall as an editable flow in one click. Layout, text, products, and localizations carry over. Your original paywall stays live and unchanged, so you can build and test the flow before you switch to it.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Move to new builder

Не крит вообще, но вопрос ленивого человека: зачем добавлять иконку тогда, когда есть текст, которого хватает для идентификации кнопки/функциональности? Мб, будем иконки вставлять только тогда, когда нет текста?


## What carries over

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

А мы как будто уже это пишем в последнем предложении интро. Можно его отдельным абзацем вынести, и тогда эта секция уже не так нужна будет


The conversion recreates your paywall as a new draft flow, using real flow elements. It copies over:

- **Layout and design**: The screens, elements, and styling from the original paywall.
- **Text**: All copy, in every locale you added.
- **Products**: Each product, with prices and discounts as variables rather than hardcoded values.

The new flow is a separate copy. Your original paywall keeps running until you decide to switch.

### Known limitations

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Давай сделаем это последней секцией в статье. Это же то, что мелким шрифтом в конце договора пишут, и это больше для референса


Not every old Paywall Builder element has a direct flow equivalent. The conversion gets close, but a few things need a manual pass afterward:

- **Hero images and videos**: A full-width image or video may not carry over exactly as in the original paywall.
- **Media overlays**: Flows don't support overlay images yet.
- **Image tint and mask**: Neither carries over.
- **Custom fonts**: Fonts don't carry over on their own. [Upload the fonts and manually style the text](using-custom-fonts-in-flow-builder) after the conversion.
- **Layer order**: A known z-index bug can stack some elements in the wrong order.
- **Relative sizing**: Flows can't size elements as a percentage of the parent.
- **Maximum width**: Flow elements don't have a maximum width setting.
- **Spacing and padding** may drift insignificantly.
Comment on lines +24 to +31

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Вообще такой большой список грустно звучит, не хочется всем его показывать... мб, что-то к релизу исправят?

Хочется и честными остаться, и людей не пугать — как будто можно попробовать более общими словами обрисовать


Always [preview the flow on a real device](migrate-to-flows#preview-on-device) and fix anything that looks off.

## Convert your paywall

To convert a paywall into a flow, open the paywall's overview page and click <Inline id="move-to-new-builder.svg" alt="Move to new builder" /> **Move to new builder**.

The <Inline id="move-to-new-builder.svg" alt="Move to new builder" /> **Move to new builder** button only appears for paywalls made with the old Paywall Builder. Paywalls built by hand need to be [recreated manually](paywall-builder-templates).

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Paywalls built by hand need to be recreated manually.

Меня бы это смутило как пользователя, потому что мы этот сценарий вообще никак не упоминаем. Да и зачем им кастомные пэйволы мигрировать


<ZoomImage id="move-to-new-builder.webp" width="700px" alt="Move to new builder button in the paywall action row" />

After a successful conversion, Adapty opens the flow draft in the editor. You can make any changes you want before publishing it.

<ZoomImage id="paywall-imported-toast.webp" width="500px" alt="Paywall imported toast in the flow editor after conversion" />

## Serve your flow

:::link
Main article: [Migrate to flows](migrate-to-flows)
:::

Converting the paywall creates the flow. To show it to users, you point a placement at the flow and update the SDK.

A flow needs its own placement with a new, unique ID, and it renders only on Adapty SDK v4 and later. [Migrate to flows](migrate-to-flows) covers both steps — creating the placement and upgrading the SDK. It also explains how to keep your original paywall live during the switch.
Loading
Loading