ਸਿੱਖੋ ਕਿ ਕਿਵੇਂ ਇੱਕ ਬਹੁ-ਕਦਮੀ ਆਨਬੋਰਡਿੰਗ ਫਲੋ ਡਿਜ਼ਾਇਨ ਅਤੇ ਬਣਾ ਕੇ, ਸਪਸ਼ਟ ਕਦਮ, ਡੇਟਾ ਮਾਡਲ ਅਤੇ ਟੈਸਟਿੰਗ ਨਾਲ ਯੂਜ਼ਰ ਪ੍ਰਗਤੀ ਨੂੰ ਬਣਾਇਆ, ਟਰੈਕ ਅਤੇ ਸੁਧਾਰਿਆ ਜਾ ਸਕਦਾ ਹੈ.

A multi-step onboarding flow ik margdarshak kram hai jo navein ਯੂਜ਼ਰ ਨੂੰ “ਸਾਈਨ ਅੱਪ” ਤੋਂ “ਉਤਪਾਦ ਵਰਤਣ ਲਈ ਤਿਆਰ” ਤੱਕ ਲੈ ਜਾਂਦਾ ਹੈ. ਇੱਕ ਵਾਰੀ ਵਿੱਚ ਸਾਰਾ ਡੇਟਾ ਮੰਗਣ ਦੀ ਥਾਂ, ਤੁਸੀਂ ਸੈਟਅਪ ਨੂੰ ਛੋਟੇ ਕਦਮਾਂ ਵਿੱਚ ਵੰਡਦੇ ਹੋ ਜੋ ਇਕ ਵਾਰੀ ਜਾਂ ਸਮੇਂ ਦੇ ਨਾਲ ਮੁਕੰਮਲ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ.
ਤੁਹਾਨੂੰ ਬਹੁ-ਕਦਮੀ ਆਨਬੋਰਡਿੰਗ ਦੀ ਲੋੜ ਉਸ ਵੇਲੇ ਪੈਂਦੀ ਹੈ ਜਦੋਂ ਸੈਟਅਪ ਇੱਕ ਸਿੰਟੇ ਫਾਰਮ ਤੋਂ ਵੱਧ ਹੋਵੇ—ਖ਼ਾਸ ਕਰਕੇ ਜਦੋਂ ਇਸ ਵਿੱਚ ਚੋਣਾਂ, ਪੂਰਵ ਸ਼ਰਤਾਂ, ਜਾਂ ਅਨੁਕੂਲਤਾ ਜਾਂਚ شامل ਹੋਵੇ. ਜੇ ਤੁਹਾਡੇ ਉਤਪਾਦ ਨੂੰ ਪ੍ਰਸੰਗ (ਉਦਯੋਗ, ਭੂਮਿਕਾ, ਪਸੰਦਾਂ), ਪ੍ਰਮਾਣੀਕਰਨ (email/phone/identity), ਜਾਂ ਪ੍ਰਾਰੰਭਿਕ ਸੰਰਚਨਾ (workspaces, billing, integrations) ਦੀ ਲੋੜ ਹੈ, ਤਾਂ ਕਦਮ-ਆਧਾਰਿਤ ਫਲੋ ਚੀਜ਼ਾਂ ਨੂੰ ਸਮਝਣਯੋਗ ਰੱਖਦਾ ਹੈ ਅਤੇ ਗਲਤੀਆਂ ਘਟਾਉਂਦਾ ਹੈ.
Multi-step onboarding ਹਰ ਜਗ੍ਹਾ ਮਿਲਦਾ ਹੈ ਕਿਉਂਕਿ ਇਹ ਉਹ ਕਿਰਿਆਵਾਂ ਸਮਰਥਨ ਕਰਦਾ ਹੈ ਜੋ ਅਕਸਰ ਕਦਮਾਂ ਵਿੱਚ ਹੁੰਦੀਆਂ ਹਨ, ਉਦਾਹਰਣ ਲਈ:
Acha onboarding ਕਿਵੇਂ ਲੱਗਣਾ ਚਾਹੀਦਾ ਹੈ—ਇਹ ਸਿਰਫ਼ ਸਕਰੀਨਾਂ ਖਤਮ ਹੋਣ ਨਹੀਂ ਹੈ; ਇਹ ਯੂਜ਼ਰਾਂ ਨੂੰ ਤੁਰੰਤ ਮੁੱਲ ਤੱਕ ਪਹੁੰਚਾਉਣ ਦੀ ਗੱਲ ਹੈ. ਆਪਣੀ ਉਤਪਾਦੀ ਹਾਲਤ ਦੇ ਅਨੁਸਾਰ ਸਫਲਤਾ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ:
Flow ਨੂੰ resume ਅਤੇ continuity ਦਾ ਸਮਰਥਨ ਵੀ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ: ਯੂਜ਼ਰ ਛੱਡ ਕੇ ਵਾਪਸ ਆ ਸਕਣ ਅਤੇ ਆਪਣੇ ਅਗਲੇ ਤਰਕੀਬੀ ਕਦਮ 'ਤੇ ਆਉਣ.
Multi-step onboarding ਕੁਝ ਆਮ ਤਰੀਕਿਆਂ ਨਾਲ ਫੇਲ ਹੁੰਦੀ ਹੈ:
ਤੁਹਾਡਾ ਲਕਸ਼ ਹੈ ਕਿ ਆਨਬੋਰਡਿੰਗ ਇੱਕ ਗਾਈਡ ਕੀਤੀ ਰਾਹਦਾਰੀ ਵਾਂਗ ਮਹਿਸੂਸ ਹੋਵੇ, ਟੈਸਟ ਵਾਂਗ ਨਹੀਂ: ਹਰ ਕਦਮ ਲਈ ਸਾਫ ਮਕਸਦ, ਭਰੋਸੇਯੋਗ ਪ੍ਰਗਤੀ ਟ੍ਰੈਕਿੰਗ, ਅਤੇ ਇੱਕ ਆਸਾਨ ਤਰੀਕਾ ਜਿੱਥੇ ਯੂਜ਼ਰ ਰੁਕੇ ਉਹਥੇ ਤੋਂ ਸ਼ੁਰੂ ਕਰਨ ਦਾ.
ਸਕਰੀਨ ਡਿਰਾਇ ਕਰਣ ਜਾਂ ਕੋਈ ਕੋਡ ਲਿਖਣ ਤੋਂ ਪਹਿਲਾਂ, ਇਹ ਫੈਸਲਾ ਕਰੋ ਕਿ ਤੁਹਾਡੀ ਆਨਬੋਰਡਿੰਗ ਕਿੰਝRésultaat ਹਾਸਲ ਕਰਨੀ ਹੈ—ਅਤੇ ਕਿਸ ਲਈ. ਇੱਕ ਬਹੁ-ਕਦਮੀ ਫਲੋ ਸਿਰਫ਼ ਉਸ ਵੇਲੇ “ਚੰਗੀ” ਹੁੰਦੀ ਹੈ ਜਦੋਂ ਇਹ ਸਹੀ ਲੋਕਾਂ ਨੂੰ ਘੱਟ ਤੋਂ ਘੱਟ ਭੁੱਲ-ਭੁਲੇਖੇ ਨਾਲ ਸਹੀ ਅੰਤੀਮ ਹਾਲਤ ਤੱਕ ਲੈ ਜਾਵੇ.
ਵੱਖ-ਵੱਖ ਯੂਜ਼ਰ ਵੱਖਰੇ ਸੰਦਰਭ, ਅਧਿਕਾਰ, ਅਤੇ ਤਤਪਰਤਾ ਨਾਲ ਆਉਂਦੇ ਹਨ. ਸ਼ੁਰੂ ਕਰੋ ਆਪਣੇ ਪ੍ਰਮੁੱਖ ਇਨਟਰੀ ਪੇਰਸੋਨਾ ਦੇ ਨਾਮ ਲਿਖਕੇ ਅਤੇ ਉਹਨਾਂ ਬਾਰੇ ਜੋ ਪਹਿਲਾਂ ਹੀ ਜਾਣਕਾਰੀ ਹੈ:
ਹਰ ਕਿਸਮ ਲਈ ਪਾਬੰਦੀ ਲਿਖੋ (ਉਦਾਹਰਣ: “company name edit ਨਹੀਂ ਕਰ ਸਕਦਾ”), ਲੋੜੀਂਦਾ ਡੇਟਾ (ਉਦਾਹਰਣ: “workspace ਚੁਣਨਾ ਲਾਜ਼ਮੀ ਹੈ”), ਅਤੇ ਸੰਭਾਵੀ ਸ਼ੌਰਟਕਟ (ਉਦਾਹਰਣ: “SSO ਰਾਹੀਂ ਪਹਿਲਾਂ ਹੀ ਪ੍ਰਮਾਣਿਤ”).
ਤੁਹਾਡੇ ਆਨਬੋਰਡਿੰਗ ਦੀ ਅੰਤਮ ਹਾਲਤ ਸਪੱਸ਼ਟ ਅਤੇ ਮਾਪਯੋਗ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ. “Done” ਸਕਰੀਨਾਂ ਪੂਰੀ ਕਰਨ ਦਾ ਮਤਲਬ ਨਹੀਂ; ਇਹ ਕਿਸੇ ਕਾਰੋਬਾਰੀ-ਤਿਆਰ ਹਾਲਤ ਹੋ ਸਕਦੀ ਹੈ, ਜਿਵੇਂ:
ਕੰਮ ਨੂੰ ਬੈਕਐਂਡ ਤਰ੍ਹਾਂ ਜਾਂਚ ਸਕਣਯੋਗ ਚੈੱਕਲਿਸਟ ਵਜੋਂ ਲਿਖੋ, ਨਾ ਕਿ ਝਲਕੀ ਟੀਚਾ.
ਦੱਸੋ ਕਿਹੜੇ ਕਦਮ ਲਾਜ਼ਮੀ ਹਨ ਅਤੇ ਕਿਹੜੇ ਵਿਕਲਪੀ ਹਨ. ਫਿਰ ਨਿਰਭਰਤਾਵਾਂ ਦਸਤਾਵੇਜ਼ ਕਰੋ (“ਟੀਮ ਨੇਮ ਨਹੀਂ ਭਰ ਸਕਦੇ ਜਦੋਂ ਤੱਕ ਵਰਕਸਪੇਸ ਨ ਬਣਿਆ ਹੋਵੇ”).
ਆਖਿਰ ਵਿੱਚ, skip ਨਿਯਮਾਂ ਨੂੰ ਨਿਯਮਿਤ ਤਰੀਕੇ ਨਾਲ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ: ਕਿਹੜੇ ਕਦਮ ਕਿਸ ਯੂਜ਼ਰ ਕਿਸਮ ਲਈ ਛੱਡੇ ਜਾ ਸਕਦੇ ਹਨ, ਕਿਸ ਹਾਲਤ ਵਿੱਚ (ਉਦਾਹਰਣ: “SSO ਰਾਹੀਂ ਪ੍ਰਮਾਣਿਤ ਹੋਣ ਤੇ email ਪੁਸ਼ਟੀ ਛੱਡੋ”), ਅਤੇ ਕੀ ਛੱਡੇ ਕਦਮ ਬਾਅਦ ਵਿੱਚ ਸੈਟਿੰਗਸ ਵਿੱਚ ਦੁਬਾਰਾ ਆ ਸਕਦੇ ਹਨ.
ਸਕਰੀਨ ਜਾਂ APIs ਬਣਾਉਣ ਤੋਂ ਪਹਿਲਾਂ, onboarding ਨੂੰ ਇੱਕ flow map ਵਾਂਗ ਖਿੱਚੋ: ਇੱਕ ਛੋਟਾ ਡਾਇਆਗ੍ਰਾਮ ਜੋ ਹਰ ਕਦਮ, ਅੱਗੇ ਕਿੱਥੇ ਜਾ ਸਕਦੇ ਹਨ, ਅਤੇ ਕਿਵੇਂ ਵਾਪਸ ਆ ਸਕਦੇ ਹਨ ਦਿਖਾਉਂਦਾ ਹੈ.
ਕਦਮਾਂ ਨੂੰ ਛੋਟੇ, ਕਾਰਵਾਈ-ਕੇਂਦਰਿਤ ਨਾਮਾਂ ਦੇ ਰੂਪ ਵਿੱਚ ਲਿਖੋ (ਕਿਰਿਆ ਵਾਲੇ ਸ਼ਬਦ ਮਦਦਗਾਰ ਹਨ): “Create password,” “Confirm email,” “Add company details,” “Invite teammates,” “Connect billing,” “Finish.” ਪਹਿਲੀ ਰੂਪਰੇਖਾ ਨੂੰ ਸਾਦਾ ਰੱਖੋ, ਫਿਰ ਲੋੜੀਂਦੇ ਫੀਲਡ ਅਤੇ ਨਿਰਭਰਤਾਵਾਂ ਜੋੜੋ (ਉਦਾਹਰਣ: billing ਯੋਜਨਾ ਚੁਣਨ ਤੋਂ ਪਹਿਲਾਂ ਨਹੀਂ ਹੋ ਸਕਦੀ).
ਇੱਕ ਮਦਦਗਾਰ ਚੈੱਕ: ਹਰ ਕਦਮ ਇੱਕ ਸਵਾਲ ਦਾ ਜਵਾਬ ਦੇਵੇ—“ਤੁਸੀਂ ਕੌਣ ਹੋ?” “ਤੁਹਾਨੂੰ ਕੀ ਚਾਹੀਦਾ ਹੈ?” ਜਾਂ “ਉਤਪਾਦ ਨੂੰ ਕਿਵੇਂ ਸੰਰਚਿਤ ਕਰਨਾ ਹੈ?” ਜੇ ਇੱਕ ਕਦਮ ਤਿੰਨਾਂ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ, ਤਾਂ ਇਸਨੂੰ ਵੰਡੋ.
ਜ਼ਿਆਦਾਤਰ ਉਤਪਾਦ ਇੱਕ ਮੁੱਖ ਰੂਪ ਰੇਖਾ ਦੇ ਨਾਲ ਲਾਭ ਪ੍ਰਾਪਤ ਕਰਦੇ ਹਨ ਅਤੇ ਸਿਰਫ਼ ਜਦੋਂ ਤਜਰਬਾ ਵੱਖਰਾ ਹੋਵੇ ਤਾਂ ਸ਼ਰਤੀਕ ਬ੍ਰਾਂਚ ਜੋੜੋ. ਆਮ ਬ੍ਰਾਂਚ ਨਿਯਮ:
ਇਨ੍ਹਾਂ ਨੂੰ “if/then” ਨੋਟਾਂ ਵਜੋਂ ਨਕਸ਼ੇ 'ਤੇ ਦਸਤਾਵੇਜ਼ ਕਰੋ (ਉਦਾਹਰਣ: “If region = EU → show VAT step”). ਇਹ ਫਲੋ ਨੂੰ ਸਮਝਣਯੋਗ ਰੱਖਦਾ ਹੈ ਅਤੇ ਭਰਮਜਨਕ ਭਵਿੱਖਬਾਣੀ ਤੋਂ ਬਚਾਉਂਦਾ ਹੈ.
ਹਰ ਉਹ ਸਥਾਨ ਲਿਸਟ ਕਰੋ ਜਿੱਥੇੋਂ ਯੂਜ਼ਰ ਫਲੋ ਸ਼ੁਰੂ ਕਰ ਸਕਦਾ ਹੈ:
/settings/onboarding)ਹਰ ਐਂਟਰੀ ਯੂਜ਼ਰ ਨੂੰ ਸਹੀ ਅਗਲੇ ਕਦਮ 'ਤੇ ਲਿਆਉਣੀ ਚਾਹੀਦੀ ਹੈ, ਹਮੇਸ਼ਾ ਪਹਿਲੇ ਕਦਮ 'ਤੇ ਨਹੀਂ.
ਅੰਦਾਜਾ ਲਗਾਓ ਕਿ ਯੂਜ਼ਰ ਮੱਧ-ਕਦਮ ਛੱਡ ਸਕਦੇ ਹਨ. ਫੈਸਲਾ ਕਰੋ ਕਿ ਵਾਪਸੀ 'ਤੇ ਕੀ ਹੋਵੇਗਾ:
ਤੁਹਾਡਾ ਨਕਸ਼ਾ ਇੱਕ ਸਪੱਸ਼ਟ “resume” ਰਾਹ ਦਿਖਾਵੇ ਤਾਂ ਕਿ ਅਨੁਭਵ ਭਰੋਸੇਯੋਗ ਮਹਿਸੂਸ ਹੋਵੇ.
ਚੰਗੀ ਆਨਬੋਰਡਿੰਗ ਇੱਕ ਮਦਦਗਾਰ ਰਾਹ ਹੈ, ਟੈਸਟ ਨਹੀਂ. ਲਕਸ਼ ਹੈ ਫੈਸਲਿਆਂ ਦੀ ਥਕਾਵਟ ਘਟਾਉਣਾ, ਉਮੀਦਾਂ ਸਾਫ਼ ਰੱਖਣਾ, ਅਤੇ ਜਦ ਗਲਤ ਹੋਵੇ ਤਾਂ ਯੂਜ਼ਰ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਠੀਕ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਨੀ.
A wizard ਸਭ ਤੋਂ ਵਧੀਆ ਹੈ ਜਦੋਂ ਕਦਮ ਕ੍ਰਮ ਵਿੱਚ ਪੂਰੇ ਕਰਨੇ ਲਾਜ਼ਮੀ ਹੁੰਦੇ ਹਨ (ਉਦਾਹਰਣ: identity → billing → permissions). A checklist ਓਹ ਉਹਨਾਂ ਲਈ ਜੋ ਕਿਸੇ ਵੀ ਕ੍ਰਮ ਵਿੱਚ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ (ਉਦਾਹਰਣ: “Add logo,” “Invite teammates,” “Connect calendar”). Guided tasks (ਉਤਪਾਦ ਦੇ ਅੰਦਰ ਟਿਪਸ ਅਤੇ ਕਾਲਆਊਟ) ਉਤੇਵੰਤ ਹਨ ਜਦੋਂ ਸਿੱਖਣ ਕਰਕੇ ਕੀਤਾ ਜਾਵੇ ਨਾ ਕਿ ਫਾਰਮ ਭਰਕੇ.
ਜੇ ਸ਼ੱਕ ਹੈ, ਤਾਂ checklist + ਹਰ ਟਾਸਕ ਲਈ deep links ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ, ਫਿਰ ਸਿਰਫ਼ ਜ਼ਰੂਰੀ ਕਦਮਾਂ ਨੂੰ ਹੀ ਗੇਟ ਕਰੋ.
ਪ੍ਰਗਤੀ ਫੀਡਬੈਕ ਨੂੰ ਇਹ ਜਵਾਬ ਦੇਣਾ ਚਾਹੀਦਾ ਹੈ: “ਹੁਣ ਕਿੰਨਾ ਬਚਿਆ ਹੈ?” ਇਸ ਲਈ ਇੱਕ ਤਰੀਕਾ ਵਰਤੋਂ:
ਲੰਬੇ ਫਲੋ ਲਈ “Save and finish later” ਵੀ ਦਿਖਾਓ.
ਸਾਫ਼ ਲੇਬਲ ਵਰਤੋ (“Business name,” ਨਾ ਕਿ “Entity identifier”). ਮਾਈਕ੍ਰੋਕਾਪੀ ਦੱਸੇ ਕਿ ਤੁਸੀਂ ਕਿਉਂ ਪੁੱਛ ਰਹੇ ਹੋ (“We use this to personalize invoices”). ਜਿੱਥੇ ਹੋ ਸਕੇ, ਮੌਜੂਦਾ ਡੇਟਾ ਨਾਲ prefill ਕਰੋ ਅਤੇ ਸੁਰੱਖਿਅਤ defaults ਚੁਣੋ.
ਗਲਤੀਆਂ ਨੂੰ ਰਾਹ ਰਹਿਤ ਦਿਖਾਓ: ਫੀਲਡ ਨੂੰ ਹਾਈਲਾਈਟ ਕਰੋ, ਕੀ ਕਰਨਾ ਹੈ ਸਮਝਾਓ, ਯੂਜ਼ਰ ਇਨਪੁੱਟ ਰੱਖੋ, ਅਤੇ ਪਹਿਲਾ ਗਲਤ ਫੀਲਡ focus ਕਰੋ. ਸਰਵਰ-ਸਾਈਡ ਫੇਲਿਅਰ ਲਈ retry ਵਿਕਲਪ ਦਿਖਾਓ ਅਤੇ ਪ੍ਰਗਤੀ ਸੰਭਾਲੋ ਤਾਂ ਕਿ ਯੂਜ਼ਰ ਦੁਹਰਾ ਨਹੀਂ ਕਰਨਾ ਪਏ.
ਟੈਪ ਟਾਰਗਟ ਵੱਡੇ ਰੱਖੋ, ਬਹੁ-ਕਾਲਮ ਫਾਰਮ ਹਰਜ਼ਿਆਂ ਕਰਕੇ ਬਚੋ, ਅਤੇ ਮੁੱਖ ਕਾਰਵਾਈ ਹਮੇਸ਼ਾ ਨਜ਼ਰ ਆਉਂਦੀ ਰਹੇ. ਪੂਰੀ ਕੀਬੋਰਡ ਨੈਵੀਗੇਸ਼ਨ, ਦਿਖਣਯੋਗ ਫੋਕਸ ਰਾਜ, ਲੇਬਲਡ ਇਨਪੁੱਟ ਅਤੇ ਸਕ੍ਰੀਨ-ਰੀਡਰ-ਫਰੈਂਡਲੀ ਪ੍ਰਗਤੀ ਟੈਕਸਟ ਯਕੀਨੀ ਬਣਾਓ.
ਇੱਕ ਸਹੀ ਬਹੁ-ਕਦਮੀ ਆਨਬੋਰਡਿੰਗ ਫਲੋ ਲਈ ਡੇਟਾ ਮਾਡਲ ਤਿੰਨ ਸਵਾਲਾਂ ਦਾ ਜਵਾਬ ਦੇ ਸਕੇ: ਅਗਲਾ ਕਿਹੜਾ ਕਦਮ ਦਿਖਾਈਏ, ਉਨ੍ਹਾਂ ਨੇ ਕੀ ਦਿੱਤਾ ਹੈ, ਅਤੇ ਕਿਹੜੀ ਵਰਜਨ ਦੀ ਵਿਆਖਿਆ ਤਹਿਤ ਉਹ ਹਨ.
ਸ਼ੁਰੂਆਤ ਲਈ ਛੋਟਾ ਸੈੱਟ ਰੱਖੋ ਅਤੇ ਲੋੜ ਅਨੁਸਾਰ ਵਧਾਓ:
ਇਸ ਵੰਡ ਨਾਲ “ਕੰਫਿਗਰੇਸ਼ਨ” (Flow/Step) ਅਤੇ “ਯੂਜ਼ਰ ਡੇਟਾ” (StepResponse/Progress) ਵੱਖਰੇ ਰਹਿੰਦੇ ਹਨ.
ਸ਼ੁਰੂ ਵਿੱਚ ਫੈਸਲਾ ਕਰੋ ਕਿ ਫਲੋਜ਼ ਨੂੰ ਵਰਜ਼ਨ ਕੀਤਾ ਜਾਵੇਗਾ. ਬਹੁਤੇ ਉਤਪਾਦਾਂ ਵਿੱਚ ਜਵਾਬ ’ਹਾਂ’ ਹੈ.
ਜਦੋਂ ਤੁਸੀਂ steps ਸੰਪਾਦਿਤ ਕਰਦੇ ਹੋ (ਨਾਮ ਬਦਲਣਾ, ਦੁਬਾਰਾ ਕ੍ਰਮ, ਨਵਾਂ ਲਾਜ਼ਮੀ ਫੀਲਡ), ਤੁਸੀਂ ਨਹੀਂ ਚਾਹੁੰਦੇ ਕਿ ਮੱਧ ਵਿੱਚ ਹੋ ਰਹੇ ਯੂਜ਼ਰ ਵੈਲਿਡੇਸ਼ਨ ਫੇਲ ਹੋ ਜਾਣ ਜਾਂ ਆਪਣੀ ਜਗ੍ਹਾ ਗਵਾ ਬੈਠਣ. ਸਧਾਰਣ ਪਹੁੰਚ:
id ਅਤੇ version ਹੋਵੇ (ਜਾਂ ਅਟੁਟ flow_version_id).flow_version_id ਨੂੰ ਦਰਸਾਉਂਦਾ ਰਹੇ.ਪ੍ਰਗਤੀ ਸੇਵ ਕਰਨ ਲਈ autosave (ਜਿਵੇਂ ਯੂਜ਼ਰ ਟਾਇਪ ਕਰਦਾ ਹੈ) ਅਤੇ explicit “Next” ਸੇਵ ਵਿੱਚੋਂ ਚੋਣ ਕਰੋ. ਬਹੁਤ ਟੀਮਾਂ ਦੋਹਾਂ ਨੂੰ ਮਿਲਾਉਂਦੀਆਂ ਹਨ: ਡ੍ਰਾਫਟ autosave, ਪਰ ਕਦਮ “complete” ਤੇ ਸਿਰਫ਼ Next 'ਤੇ ਨਿਸ਼ਾਨਾ.
ਟ੍ਰੈਕਿੰਗ timestamps ਰਿਪੋਰਟਿੰਗ ਅਤੇ ਤ੍ਰੁਟੀ ਖੋਜ ਲਈ ਲਾਜ਼ਮੀ ਹਨ: started_at, completed_at, ਅਤੇ last_seen_at (ਅਤੇ ਹਰੇਕ ਕਦਮ ਲਈ saved_at).
ਇੱਕ ਬਹੁ-ਕਦਮੀ ਆਨਬੋਰਡਿੰਗ ਫਲੋ ਨੂੰ ਸੂਝਵਾਇਆ ਜਾ ਸਕਦਾ ਹੈ ਜਦੋਂ ਤੁਸੀਂ ਇਸਨੂੰ ਇੱਕ ਸਟੇਟ ਮਸ਼ੀਨ ਵਾਂਗ ਮੰਨੋ: ਯੂਜ਼ਰ ਦੀ ਆਨਬੋਰਡਿੰਗ ਸੈਸ਼ਨ ਹਮੇਸ਼ਾ ਇੱਕ “ਸਟੇਟ” (ਮੌਜੂਦਾ ਕਦਮ + ਸਥਿਤੀ) ਵਿੱਚ ਹੁੰਦੀ ਹੈ, ਅਤੇ ਤੁਸੀਂ ਸਿਰਫ਼ ਕੁਝ ਖਾਸ ਟ੍ਰਾਂਜ਼ਿਸ਼ਨਾਂ ਦੀ ਆਗਿਆ ਦਿੰਦੇ ਹੋ.
Frontend ਨੂੰ ਕਿਸੇ ਵੀ URL 'ਤੇ ਕਿਦਾਂ ਕੂਦਣ ਦੇ ਬਦਲੇ, ਹਰ ਕਦਮ ਲਈ ਇੱਕ ਛੋਟਾ ਸਥਿਤੀਆਂ ਦਾ ਸੈੱਟ (ਉਦਾਹਰਣ: not_started → in_progress → completed) ਅਤੇ ਟ੍ਰਾਂਜ਼ਿਸ਼ਨਾਂ ਦਾ ਸਪਸ਼ਟ ਸੈੱਟ ਨਿਰਧਾਰਤ ਕਰੋ (ਉਦਾਹਰਣ: start_step, save_draft, submit_step, go_back, reset_step).
ਇਸ ਨਾਲ ਤੁਹਾਨੂੰ ਭਵਿੱਖਵਾਣੀਯੋਗ ਵਿਹਾਰ ਮਿਲਦਾ ਹੈ:
ਇੱਕ ਕਦਮ ਤਦ ਹੀ “completed” ਮੰਨਿਆ ਜਾਵੇਗਾ ਜਦੋਂ ਦੋਹਾਂ ਸ਼ਰਤਾਂ ਪੂਰੀਆਂ ਹੋਣ:
Server ਦੇ ਫੈਸਲੇ ਨੂੰ ਕਦਮ ਨਾਲ ਸਾਂਝਾ ਰੱਖੋ, ਜਿਸ ਨਾਲ UI ਸੋਚੇ ਕਿ ਕਦਮ ਹੋ ਗਿਆ ਪਰ backend ਸਹਿਮਤ ਨਾ ਹੋਵੇ ਵਾਲੀਆਂ ਸਥਿਤੀਆਂ ਟਲਦੀਆਂ ਹਨ.
ਇੱਕ ਆਸਾਨੀ ਨਾਲ ਨਜ਼ਰਅੰਦਾਜ਼ ਕੀਤਾ ਜਾਣ ਵਾਲਾ ਕੇਸ: ਯੂਜ਼ਰ ਪਹਿਲਾ ਕਦਮ ਸੋਧ ਦਿੰਦਾ ਹੈ ਅਤੇ ਬਾਅਦ ਦੇ ਕਦਮ ਗਲਤ ਹੋ ਜਾਂਦੇ ਹਨ. ਉਦਾਹਰਣ: “Country” ਬਦਲਣ ਨਾਲ “Tax details” ਜਾਂ “Available plans” ਅਣਲੱਗਦ ਹੋ ਸਕਦੇ ਹਨ.
ਇਸਨੂੰ dependency ਟ੍ਰੈਕ ਕਰਕੇ ਅਤੇ ਹਰ ਸਬਮਿਟ ਤੋਂ ਬਾਅਦ ਹੇਠਾਂਲੇ ਕਦਮਾਂ ਨੂੰ ਮੁੜ-ਅਂਕਲਣ ਕਰਕੇ ਹਲ ਕਰੋ. ਆਮ ਨਤੀਜੇ:
needs_review ਕਰ ਦੇਣਾ (ਜਾਂ in_progress ਤੇ ਵਾਪਸੀ)“Back” ਦੀ ਆਗਿਆ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ, ਪਰ ਇਹ ਸੁਰੱਖਿਅਤ ਹੋਵੇ:
ਇਸ ਨਾਲ ਅਨੁਭਵ ਲਚਕੀਲਾ ਰਹਿੰਦਾ ਹੈ ਪਰ ਸੈਸ਼ਨ ਦੀ ਸਥਿਤੀ ਸਥਿਰ ਅਤੇ ਲਾਗੂ ਰਹਿੰਦੀ ਹੈ.
ਤੁਹਾਡਾ ਬੈਕਐਂਡ API ਇਹ ਦੱਸਦਾ ਹੈ ਕਿ ਯੂਜ਼ਰ ਆਨਬੋਰਡਿੰਗ ਵਿੱਚ ਕਿੱਥੇ ਹੈ, ਉਹਨਾਂ ਨੇ ਹੁਣ ਤੱਕ ਕੀ ਦਿੱਤਾ, ਅਤੇ ਉਹ ਅਗਲੇ ਕੀ ਕਰਨ ਦੀ ਆਗਿਆ ਰੱਖਦੇ ਹਨ. ਇੱਕ ਚੰਗਾ API frontend ਨੂੰ ਸਧਾਰਨ ਰੱਖਦਾ ਹੈ: ਇਹ ਮੌਜੂਦਾ ਕਦਮ ਰੇਂਡਰ ਕਰ ਸਕੇ, ਡੇਟਾ ਸੁਰੱਖਿਅਤ ਤਰੀਕੇ ਨਾਲ ਸਬਮਿਟ ਕਰੇ, ਅਤੇ ਰੀਫਰੈਸ਼ ਜਾਂ ਨੈਟਵਰਕ ਮੁਸ਼ਕਲਾਂ ਤੋਂ ਬਾਅਦ ਰਿਕਵਰ ਕਰੇ.
ਘੱਟੋ-ਘੱਟ, ਇਹ ਕਾਰਵਾਈਆਂ ਲਈ ਡਿਜ਼ਾਈਨ ਕਰੋ:
GET /api/onboarding → ਮੌਜੂਦਾ ਕਦਮ ਕੀ ਹੈ, completion %, ਅਤੇ ਕੋਈ ਵੀ ਸੇਵ ਡ੍ਰਾਫਟ ਵੈਲਯੂਜ ਜੋ ਕਦਮ ਰੇਂਡਰ ਕਰਨ ਲਈ ਲੋੜੀਂਦੇ ਹਨPUT /api/onboarding/steps/{stepKey} ਨਾਲ { "data": {…}, "mode": "draft" | "submit" }POST /api/onboarding/steps/{stepKey}/nextPOST /api/onboarding/steps/{stepKey}/previousPOST /api/onboarding/complete (ਸਰਵਰ ਸਾਰੇ ਲਾਜ਼ਮੀ ਕਦਮਾਂ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ)ਜਵਾਬ ਇਕਸਾਰ ਰੱਖੋ. ਉਦਾਹਰਣ ਲਈ, ਸੇਵ ਕਰਨ ਤੋਂ ਬਾਅਦ ਅਪਡੇਟ ਕੀਤਾ ਹੋਇਆ progress ਅਤੇ ਸਰਵਰ-ਤਿਆਰ ਅਗਲਾ ਕਦਮ ਵਾਪਸ ਕਰੋ:
{ "currentStep": "profile", "nextStep": "team", "progress": 0.4 }
ਯੂਜ਼ਰ ਡਬਲ-ਕਲਿੱਕ, ਖਰਾਬ ਕਨੈਕਸ਼ਨ 'ਤੇ ਰੀਟ੍ਰਾਈ, ਜਾਂ ਫਰੰਟਐਂਡ ਟਾਈਮਆਉਟ ਦੇ ਬਾਅਦ ਰੀ-ਸੇਂਡ ਕਰਨਗੇ. “Save” ਨੂੰ ਸੁਰੱਖਿਅਤ ਬਣਾਓ:
Idempotency-Key ਹੈਡਰ ਲਈ ਸਵੀਕਾਰ ਕਰੋ ਅਤੇ (userId, endpoint, key) ਦੁਆਰਾ ਡਿਡੂਪਲਿਕੇਟ ਕਰੋ.PUT /steps/{stepKey} ਨੂੰ ਉਸ ਕਦਮ ਦੇ ਸਟੋਰਡ ਪੇਲੋਡ ਦੀ ਪੂਰੀ ਓਵਰਰਾਈਟ ਮੰਨੋ (ਜਾਂ ਸਪਸ਼ਟ ਤੌਰ ਤੇ partial merge ਨਿਯਮ ਦੇਵੋ).version (ਜਾਂ etag) ਸ਼ਾਮਿਲ ਕਰੋ ਤਾਂ ਜੋ ਨਵੇਂ ਡੇਟਾ ਨਾਲ ਪੁਰਾਣੇ retries overwrite ਨਾ ਕਰਨ.ਇਹਨਾਂ ਨੂੰ ਐਕਸ਼ਨਯੋਗ ਸੁਨੇਹੇ ਵਾਪਸ ਕਰੋ ਜੋ UI ਖੇਤਰਾਂ ਦੇ ਕੋਲ ਦਿਖਾ ਸਕੇ:
{
"error": "VALIDATION_ERROR",
"message": "Please fix the highlighted fields.",
"fields": {
"companyName": "Company name is required",
"teamSize": "Must be a number"
}
}
403 (not allowed), 409 (conflict / wrong step) ਅਤੇ 422 (validation) ਵਿੱਚ ਫਰਕ ਦਿਖਾਓ ਤਾਂ ਜੋ frontend ਸਹੀ ਤਰੀਕੇ ਨਾਲ ਪ੍ਰਭਾਵੀ ਹੋ ਸਕੇ.
ਯੂਜ਼ਰ ਅਤੇ ਐਡਮਿਨ ਸਮਰੱਥਾਵਾਂ ਨੂੰ ਵੱਖਰਾ ਕਰੋ:
GET /api/admin/onboarding/users/{userId} ਜਾਂ overrides) ਰੋਲ-ਗੇਟ ਕੀਤੇ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ ਅਤੇ ਆਡੀਟ ਹੋਣ.ਇਹ ਸਰਹੱਦ ਅਕਸਮਾਤ ਪ੍ਰਿਵੇਲੇਜ ਲੀਕ ਤੋਂ ਬਚਾਉਂਦੀ ਹੈ ਪਰ ਉਹਨਾਂ ਨੂੰ ਸਹਾਇਤਾ ਦੇਣ ਦੀ ਇਜਾਜ਼ਤ ਵੀ ਦੇਂਦੀ ਹੈ ਜਿਨ੍ਹਾਂ ਨੂੰ ਰੁਕਾਵਟ ਆਈ ਹੈ.
Frontend ਦੀ ਜ਼ਿੰਮੇਵਾਰੀ ਹੈ ਕਿ onboarding ਦੌਰਾਨ ਜਿੱਥੇ ਨੈਟਵਰਕ ਘਟਨਾਵਾਂ ਹੋਣ ਵੀ ਅਨੁਭਵ ਨੂੰ ਮਿੱਠਾ ਬਣਾਓ. ਇਸ ਵਿੱਚ ਪੇਸ਼ਬੀਨੀਯੋਗ ਰਾਊਟਿੰਗ, ਭਰੋਸੇਯੋਗ “resume” ਵਿਹਾਰ, ਅਤੇ ਸੇਵ ਹੋ ਰਹੇ ਡੇਟੇ ਲਈ ਸਪਸ਼ਟ ਫੀਡਬੈਕ ਸ਼ਾਮਿਲ ਹੈ.
One URL per step (ਉਦਾਹਰਣ: /onboarding/profile, /onboarding/billing) ਆਮ ਤੌਰ 'ਤੇ ਸਭ ਤੋਂ ਸੌਖਾ ਹੈ. ਇਹ browser back/forward, email ਤੋਂ deep linking, ਅਤੇ ਰੀਫਰੈਸ਼ ਬਾਅਦ ਸੰਦਰਭ ਸੁਰੱਖਿਅਤ ਕਰਦਾ ਹੈ.
ਬਹੁਤ ਸੰਖੇਪ ਫਲੋ ਲਈ ਇੱਕ single page with internal state ਠੀਕ ਹੋ ਸਕਦਾ ਹੈ, ਪਰ ਇਹ ਰੀਫਰੈਸ਼, ਕ੍ਰੈਸ਼ ਅਤੇ “ਕਾਪੀ ਲਿੰਕ ਤਕ ਜਾਰੀ ਰੱਖੋ” ਹਾਲਤਾਂ ਲਈ ਜ਼ਿਆਦਾ ਜੋਖਮ ਵਾਲੀ ਰਣਨੀਤੀ ਹੈ.
ਸਟੇਪ ਸੰਪੂਰਨਤਾ ਅਤੇ ਸਭ ਤੋਂ ਨਵਾਂ ਸੇਵ ਡੇਟਾ ਸਰਵਰ 'ਤੇ ਸਟੋਰ ਕਰੋ, ਨਾ ਕਿ ਸਿਰਫ਼ local storage ਵਿੱਚ. ਪੇਜ ਲੋਡ 'ਤੇ, ਮੌਜੂਦਾ onboarding state ਲੋਡ ਕਰੋ (ਮੌਜੂਦਾ ਕਦਮ, ਪੂਰੇ ਹੋਏ ਕਦਮ, ਅਤੇ ਕੋਈ ਡ੍ਰਾਫਟ ਵੈਲਯੂ) ਅਤੇ ਉਨ੍ਹਾਂ ਤੋਂ render ਕਰੋ.
ਇਸ ਨਾਲ ਮਿਲਦਾ ਹੈ:
Optimistic UI friction ਘਟਾ ਸਕਦੀ ਹੈ ਪਰ ਇਸਨੂੰ ਸੁਰੱਖਿਆਵਾਂ ਚਾਹੀਦੀਆਂ ਹਨ:
ਜਦ ਯੂਜ਼ਰ ਵਾਪਸ ਆਉਂਦਾ ਹੈ, ਉਹਨੂੰ ਹਮੇਸ਼ਾ ਸਟੈਪ 1 'ਤੇ ਨਾ ਰੱਖੋ. ਕੁਝ ਇਸ ਤਰ੍ਹਾਂ ਪ੍ਰੌਂਪਟ ਦਿਖਾਓ: “ਤੁਸੀਂ 60% ਹੋ—ਕਿਤੇ ਰੁਕੇ ਸੀ ਉਹਥੇ ਜਾਰੀ ਰੱਖੋ?” ਦੋ ਕਾਰਵਾਈਆਂ ਦੇ ਕੇ:
/onboarding ਵਾਪਸੀ ਲਈ ਰਹਿੰਦਾ ਹੈ)ਇਹ ਛੋਟੀ ਚੀਜ਼ abandonment ਘਟਾਉਂਦੀ ਹੈ ਅਤੇ ਉਹਨਾਂ ਨੂੰ ਆਦਰ ਦਿੰਦੀ ਹੈ ਜੋ ਸਾਰਾ ਕੰਮ ਤੁਰੰਤ ਨਹੀਂ ਕਰਨਾ ਚਾਹੁੰਦੇ.
Validation ਆਨਬੋਰਡਿੰਗ ਫਲੋ ਨੂੰ ਮਿੱਠਾ ਜਾਂ ਨਿਰਾਸ਼ ਜਰੂਰੀ ਤੌਰ 'ਤੇ ਬਣਾ ਸਕਦੀ ਹੈ. ਟੀਚਾ ਹੈ ਕਿ ਗਲਤੀਆਂ ਜਲਦੀ ਫੜੋ, ਯੂਜ਼ਰ ਨੂੰ ਅੱਗੇ ਬੜ੍ਹਨ ਦਿਓ, ਅਤੇ ਫਿਰ ਵੀ ਸਿਸਟਮ ਨੂੰ ਬਚਾਓ ਜਦ ਡੇਟਾ ਅਧੂਰਾ ਜਾਂ ਸ਼ੱਕਯੋਗ ਹੋਵੇ.
Client-side validation ਅਜਿਹੀਆਂ ਸਪਸ਼ਟ ਗਲਤੀਆਂ ਨੂੰ ਰੋਕਦੀ ਹੈ ਪਹਿਲਾਂ ਕਿ ਨੈਟਵਰਕ ਰਿਕਵੇਸਟ ਭੇਜੀ ਜਾਵੇ. ਇਸ ਨਾਲ churn ਘਟਦੀ ਹੈ ਅਤੇ ਹਰ ਕਦਮ ਤੇਰਤੀਨ ਮਹਿਸੂਸ ਹੁੰਦੀ ਹੈ.
ਆਮ ਚੈક્સ ਵਿੱਚ ਲਾਜ਼ਮੀ ਫੀਲਡ, ਲੰਬਾਈ ਸੀਮਾਵਾਂ, ਬੁਨਿਆਦੀ ਫਾਰਮੈਟ (email/phone), ਅਤੇ ਕੁਝ ਕ੍ਰਾਸ-ਫੀਲਡ ਨਿਯਮ ਸ਼ਾਮਿਲ ਹਨ (password confirmation). ਸੁਨੇਹੇ ਸਪਸ਼ਟ ਰੱਖੋ (“Enter a valid work email”) ਅਤੇ ਖੇਤਰ ਦੇ ਨੇੜੇ ਦਿਖਾਓ.
ਸਰਵਰ-ਸਾਈਡ ਵੈਲੀਡੇਸ਼ਨ ਸਬ ਤੋਂ ਭਰੋਸੇਯੋਗ ਹੈ. ਭਾਵੇਂ UI ਪੂਰੀ ਤਰ੍ਹਾਂ ਵੈਲੀਡ ਕਰੇ, ਯੂਜ਼ਰ ਇਸਨੂੰ ਬਾਈਪਾਸ ਕਰ ਸਕਦੇ ਹਨ.
Server validation ਨੂੰ ਇਹਨਾਂ ਚੀਜ਼ਾਂ ਨੂੰ ਲਾਗੂ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ:
Field-ਲੈਵਲ structured errors ਵਾਪਸ ਕਰੋ ਤਾਂ ਕਿ frontend ਬਿਲਕੁਲ ਦਿਖਾ ਸਕੇ ਕਿ ਕੀ ਠੀਕ ਕਰਨਾ ਹੈ.
ਕੁਝ ਚੈੱਕ ਬਾਹਰੀ ਜਾਂ ਦੇਰ ਨਾਲ ਆਉਂਦੇ ਸਿਗਨਲਾਂ 'ਤੇ ਨਿਰਭਰ ਹੁੰਦੇ ਹਨ: email uniqueness, invitation codes, fraud signals, ਜਾਂ document verification.
ਇਨ੍ਹਾਂ ਨੂੰ explicit status ਦੇ ਨਾਲ ਸੰਭਾਲੋ (ਉਦਾਹਰਣ: pending, verified, rejected) ਅਤੇ UI ਸਪਸ਼ਟ ਰੱਖੋ. ਜੇ ਚੈੱਕ pending ਹੈ, ਤਾਂ ਯੂਜ਼ਰ ਨੂੰ ਜਾਰੀ ਰੱਖਣ ਦੀ ਆਗਿਆ ਦਿਓ ਜੇ ਸੰਭਵ ਹੋਵੇ ਅਤੇ ਦਿਖਾਓ ਕਿ ਤੁਸੀਂ ਕਦੋਂ ਅਗਲਾ ਕਦਮ ਖੋਲ੍ਹੋਗੇ.
ਬਹੁ-ਕਦਮੀ ਆਨਬੋਰਡਿੰਗ ਵਿੱਚ ਅਧੂਰਾ ਡੇਟਾ ਆਮ ਹੁੰਦਾ ਹੈ. ਹਰ ਕਦਮ ਲਈ ਫੈਸਲਾ ਕਰੋ ਕਿ:
ਵਾਇਧ ਤਰੀਕਾ ਇਹ ਹੈ: “ਹਮੇਸ਼ਾ draft ਸੇਵ ਕਰੋ, ਤੇ ਅੱਗੇ ਵਧਣ 'ਤੇ ਹੀ ਬਲਾਕ ਕਰੋ.” ਇਹ session resume ਸਮਰਥਨ ਕਰਦਾ ਹੈ ਬਿਨਾਂ ਡੇਟਾ ਗੁਣਵੱਤਾ ਘਟਾਏ.
ਆਨਬੋਰਡਿੰਗ ਲਈ ਵਿਸ਼ਲੇਸ਼ਣ ਦੋ ਸਵਾਲਾਂ ਦਾ ਜਵਾਬ ਦੇਣੇ ਚਾਹੀਦੇ ਹਨ: “ਲੋਕ ਕਿੱਥੇ ਰੁਕਦੇ ਹਨ?” ਅਤੇ “ਕਿਹੜੀ ਬਦਲਾਅ ਨਾਲ completion ਵਧੇਗਾ?” ਚਾਬੀ ਹੈ ਕਿ ਹਰ ਕਦਮ ਲਈ ਇੱਕ ਸਧਾਰਣ ਸੈੱਟ ਘਟਨਾਂ ਨੂੰ ਟ੍ਰੈਕ ਕੀਤਾ ਜਾਵੇ, ਅਤੇ ਇਹ ਤੁਲਨਯੋਗ ਹੋਵੇ ਜਦੋਂ ਫਲੋ ਬਦਲਦਾ ਹੈ.
ਹਰ ਕਦਮ ਲਈ ਇੱਕੋ ਜਿਹੇ ਮੁੱਖ ਇਵੈਂਟ ਟ੍ਰੈਕ ਕਰੋ:
step_viewed (ਯੂਜ਼ਰ ਨੇ ਕਦਮ ਵੇਖਿਆ)step_completed (ਯੂਜ਼ਰ ਨੇ 제출 ਕੀਤਾ ਅਤੇ validation ਪਾਸ ਕੀਤਾ)step_failed (ਯੂਜ਼ਰ ਨੇ 제출 ਕੀਤਾ ਪਰ validation ਜਾਂ ਸਰਵਰ ਚੈੱਕ ਫੇਲ)flow_completed (ਯੂਜ਼ਰ ਨੇ ਆਖ਼ਰੀ ਸਫਲ ਹਾਲਤ ਪਾਈ)ਹਰ ਇਵੈਂਟ ਨਾਲ ਇੱਕ ਘੱਟ, ਸਥਿਰ context payload ਸ਼ਾਮਿਲ ਕਰੋ: user_id, flow_id, flow_version, step_id, step_index, ਅਤੇ session_id (ਤਾਂ ਜੋ ਤੁਸੀਂ “ਇੱਕ ਵਾਰੀ ਬੈਠਕ” ਨੂੰ “ਕਈ ਦਿਨਾਂ ਵਿੱਚ” ਤੋਂ ਵੱਖ ਕਰ ਸਕੋ). ਜੇ ਤੁਸੀਂ resume ਸਹਿਯੋਗ ਕਰਦੇ ਹੋ ਤਾਂ step_viewed 'ਤੇ resume=true/false ਵੀ ਸ਼ਾਮਿਲ ਕਰੋ.
Drop-off ਮਾਪਣ ਲਈ, ਇੱਕੋ flow_version ਲਈ step_viewed banam step_completed ਦੀ ਗਿਣਤੀ ਤੁਲਨਾ ਕਰੋ. ਸਮਾਂ ਮਾਪਣ ਲਈ timestamps ਕੈਪਚਰ ਕਰੋ ਅਤੇ ਹਿਸਾਬ ਕਰੋ:
step_viewed → step_completed ਲਈ ਸਮਾਂstep_viewed → next step_viewed ਲਈ ਸਮਾਂ (ਜਦ ਯੂਜ਼ਰ ਕਦਮ ਛੱਡ ਕੇ ਅੱਗੇ ਵੱਜੇ)ਟਾਈਮ ਮੈਟਰਿਕਸ ਨੂੰ ਵਰਜ਼ਨ ਮੁਤਾਬਕ ਗ੍ਰੂਪ ਕਰੋ; ਨਹੀਂ ਤਾਂ ਸੁਧਾਰ ਪੁਰਾਣੀਆਂ ਅਤੇ ਨਵੀਆਂ ਵਰਜ਼ਨਾਂ ਦੇ ਮਿਲਾਵਟ ਨਾਲ ਛੁਪ ਸਕਦੇ ਹਨ.
ਜੇ ਤੁਸੀਂ A/B ਟੈਸਟ ਕਾਪੀ ਜਾਂ ਕਦਮਾਂ ਦੀ ਰੀ-ਓਰਡਰ ਕਰਦੇ ਹੋ, ਤਾਂ ਇਹ ਨੂੰ ਐਨਾਲਿਟਿਕਸ ਅਸੈਸਮੈਂਟ ਦਾ ਹਿੱਸਾ ਮੰਨੋ:
experiment_id ਅਤੇ variant_id ਜੋੜੋstep_id ਨੂੰ ਸਥਿਰ ਰੱਖੋ ਭਾਵੇਂ display text ਬਦਲੇstep_id ਬਣਾਓ ਅਤੇ position ਲਈ step_index ਵਰਤੋਇੱਕ ਸਧਾਰਣ ਡੈਸ਼ਬੋਰਡ ਬਣਾਓ ਜੋ completion rate, step ਨਾਲ drop-off, median time per step, ਅਤੇ “top failed fields” (from step_failed metadata) ਦਿਖਾਵੇ. CSV exports ਜੋੜੋ ਤਾਂ ਕਿ ਟੀਮਾਂ spreadsheets ਵਿੱਚ ਰਿਵਿਊ ਕਰ ਸਕਣ.
ਇੱਕ ਬਹੁ-ਕਦਮੀ ਆਨਬੋਰਡਿੰਗ ਸਿਸਟਮ ਨੂੰ ਅੰਤੀਮ ਤੌਰ 'ਤੇ ਰੋਜ਼ਾਨਾ ਆਪਰੇਸ਼ਨ ਲਈ ਕਂਟਰੋਲ ਚਾਹੀਦਾ ਹੈ: ਉਤਪਾਦ ਬਦਲਾਅ, ਸਹਾਇਤਾ ਛੂਟ, ਅਤੇ ਸੁਰੱਖਿਅਤ ਪਰਖ. ਛੋਟਾ ਅੰਦਰੂਨੀ ਐਡਮਿਨ ਏਰੀਆ ਇੰਜੀਨੀਅਰਿੰਗ ਨੂੰ ਰੋਕਥਾਮ ਬਣਨ ਤੋਂ ਬਚਾਉਂਦਾ ਹੈ.
ਸਰਲ “flow builder” ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ ਜੋ ਅਧਿਕ੍ਰਿਤ ਸਟਾਫ ਨੂੰ onboarding flows ਅਤੇ ਉਹਨਾਂ ਦੇ steps ਬਣਾਉਣ ਅਤੇ ਸੰਪਾਦਿਤ ਕਰਨ ਦੇ ਯੋਗ ਬਣਾਉਂਦਾ ਹੈ.
ਹਰ ਕਦਮ ਨੂੰ ਇਹਨਾਂ ਨਾਲ ਸੋਧਯੋਗ ਰੱਖੋ:
ਇੱਕ preview mode ਜੋ end user ਦੇ ਵੇਖਣ ਵਾਂਗ ਰੇਂਡਰ ਕਰੇ. ਇਹ ਸੰਭਾਵਿਤ ਖਰਾਬ ਕਾਪੀ, ਗੁੰਝਲਦਾਰ ਫੀਲਡ, ਅਤੇ ਟੁੱਟੇ branching ਨੂੰ ਰੀਅਲ ਯੂਜ਼ਰ ਤੱਕ ਪਹੁੰਚਣ ਤੋਂ ਪਹਿਲਾਂ ਫੜਦਾ ਹੈ.
ਜ਼ਿੰਦੇ ਫਲੋ ਨੂੰ ਬਦਲਣ ਤੋਂ ਬਚੋ. ਇਸ ਦੀ ਥਾਂ, ਵਰਜ਼ਨ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰੋ:
Rollouts ਵਰਜ਼ਨ-ਅਨੁਸਾਰ ਸੰਰਚਿਤ ਹੋਣ:
ਇਸ ਨਾਲ ਜੋਖਮ ਘਟਦਾ ਹੈ ਅਤੇ ਤੁਸੀਂ ਮੁਕਾਬਲਤਮਕ ਤੌਰ 'ਤੇ ਪੂਰਨ ਤੁਲਨਾ ਕਰ ਸਕਦੇ ਹੋ.
Support ਟੀਮਾਂ ਨੂੰ ਯੂਜ਼ਰਾਂ ਨੂੰ ਬਿਨਾਂ database edits ਦੇ ਬਲਾਕ ਖੋਲ੍ਹਣ ਲਈ ਟੂਲ ਚਾਹੀਦੇ ਹਨ:
ਹਰ ਐਡਮਿਨ ਕਾਰਵਾਈ ਲੋਗ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ: ਕਿਸਨੇ ਕੀ ਬਦਲਿਆ, ਕਦੋਂ, ਅਤੇ ਪਹਿਲਾਂ/ਬਾਅਦ ਦੇ ਮੁੱਲ. roles (view-only, editor, publisher, support override) ਨਾਲ ਪਹੁੰਚ ਸੀਮਤ ਕਰੋ ਤਾਂ ਕਿ ਸੰਵੇਦਨਸ਼ੀਲ ਕਾਰਵਾਈਆਂ ਨਿਯੰਤਰਿਤ ਅਤੇ ਟ੍ਰੇਸਏਬਲ ਰਹਿਣ.
ਲਾਂਚ ਤੋਂ ਪਹਿਲਾਂ ਮੰਨੋ ਕਿ ਦੋ ਚੀਜ਼ਾਂ ਹੋਣਗੀਆਂ: ਯੂਜ਼ਰ ਅਣਉਮਿਦ ਰਸਤੇ ਲੈਣਗੇ, ਅਤੇ ਕੁਝ ਮੱਧ-ਰਾਹ ਵਿੱਚ ਫੇਲ ਹੋ ਜਾਵੇਗਾ (ਨੈਟਵਰਕ, validation, permissions). ਇੱਕ ਚੰਗੀ ਲਾਂਚ ਚੈੱਕਲਿਸਟ ਫਲੋ ਦੀ ਸਹੀਤਾ ਸਾਬਤ ਕਰਦੀ ਹੈ, ਯੂਜ਼ਰ ਡੇਟਾ ਦੀ ਰੱਖਿਆ ਕਰਦੀ ਹੈ, ਅਤੇ ਜਲਦੀ ਚੇਤਾਵਨੀ ਦੇਂਦੀ ਹੈ ਜਦ ਹਕੀਕਤ ਯੋਜਨਾ ਤੋਂ ਵੱਖਰੀ ਹੋਵੇ.
ਪਹਿਲਾਂ workflow logic (states ਅਤੇ transitions) ਲਈ unit tests ਸ਼ੁਰੂ ਕਰੋ. ਇਹ ਟੈਸਟ ਯਕੀਨੀ ਬਣਾਉਣ:
ਫਿਰ integration tests ਜੋ ਤੁਹਾਡੇ API ਨੂੰ exercise ਕਰਨ: step payload ਸੇਵ ਕਰਨਾ, ਪ੍ਰਗਤੀ resume ਕਰਨਾ, ਅਤੇ invalid transitions reject ਕਰਨਾ.
E2E tests ਘੱਟੋ-ਘੱਟ ਇਹ కਵਰ ਕਰਨ:
E2E scenarios ਛੋਟੇ ਪਰ ਮੈਨੀਿੰਗਫੁਲ ਰੱਖੋ—ਉਹ ਥੋੜ੍ਹੇ ਰਾਹ ਜੋ ਸਭ ਤੋਂ ਜ਼ਿਆਦਾ ਯੂਜ਼ਰ ਅਤੇ ਰੇਵਨਿਊ/Activation ਪ੍ਰਭਾਵ ਦਰਸਾਉਂਦੇ ਹਨ ਉਤੇ ਧਿਆਨ ਦੇਵੋ.
least privilege ਲਾਗੂ ਕਰੋ: onboarding admins ਨੂੰ ਆਮ ਤੌਰ 'ਤੇ ਪੂਰੇ ਯੂਜ਼ਰ ਰਿਕਾਰਡ ਤੱਕ ਪਹੁੰਚ ਨਾ ਦੇਵੋ, ਅਤੇ service accounts ਸਿਰਫ਼ ਉਹੀ ਟੇਬਲ ਅਤੇ ਐਂਡਪਾਇੰਟ ਟਚ ਕਰਨ.
ਜਿਥੇ ਜ਼ਰੂਰੀ ਹੋ ਓਥੇ encrypt ਕਰੋ (tokens, ਸੰਵੇਦਨਸ਼ੀਲ ਪਛਾਣਚਿੰਨ੍ਹਾਂ, ਨਿਯਮਤ ਫੀਲਡ) ਅਤੇ logs ਨੂੰ ਡਾਟਾ ਲੀਕ ਖਤਰੇ ਵਜੋਂ ਲਈਓ. ਰਾ ਫਾਰਮ payload ਲੌਗ ਕਰਨ ਤੋਂ ਬਚੋ; ਸਿਰਫ਼ step IDs, error codes, ਅਤੇ timing ਲੌਗ ਕਰੋ. ਜੇ ਕਿਸੇ ਸਮੱਸਿਆ ਲਈ payload snippets ਲੌਗ ਕਰਨੇ ਪੈਣ, ਤਾਂ ਫੀਲਡ ਨੂੰ redact ਕਰੋ.
Onboarding ਨੂੰ ਇੱਕ product funnel ਅਤੇ API ਵਾਂਗ instrument ਕਰੋ.
Step-ਵਾਰ errors, save latency (p95/p99), ਅਤੇ resume failures ਟ੍ਰੈਕ ਕਰੋ. alerts ਸੈੱਟ ਕਰੋ ਜਦ completion ਰੇਟ ਵਿੱਚ ਤੀਜੀ ਕਮੀ, single step 'ਤੇ validation failures spike, ਜਾਂ ਰਿਲੀਜ਼ ਬਾਅਦ API error rates ਵੱਧ ਜਾਣ. ਇਹ ਤੁਹਾਨੂੰ support tickets ਦੇ ਪਹਾੜ ਬਣਨ ਤੋਂ ਪਹਿਲਾਂ ਟੁੱਟੇ ਹੋਏ ਕਦਮ ਨੂੰ ਠੀਕ ਕਰਨ ਦਿੰਦਾ ਹੈ.
ਜੇ ਤੁਸੀਂ ਇੱਕ step-based onboarding systਮ ਨੂੰ scratch ਤੋਂ ਲਾਗੂ ਕਰ ਰਹੇ ਹੋ, ਤਾਂ ਜ਼ਿਆਦਾਤਰ ਸਮਾਂ ਉਹੋ ਜਿਹੇ ਬਿਲਡਿੰਗ ਬਲਾਕਾਂ ਵਿੱਚ ਲੱਗਦਾ ਹੈ ਜੋ ਉਪਰ ਵਰਣਨ ਕੀਤੇ ਗਏ ਹਨ: step routing, persistence, validations, progress/state logic, ਅਤੇ admin interface ਵਰਜ਼ਨਿੰਗ ਅਤੇ rollouts ਲਈ.
Koder.ai ਤੁਹਾਨੂੰ ਇਹ ਹਿੱਸੇ ਤੇਜ਼ੀ ਨਾਲ prototype ਅਤੇ ship ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰ ਸਕਦਾ ਹੈ—ਆਮ ਤੌਰ 'ਤੇ chat-driven spec ਤੋਂ ਇੱਕ ਪੂਰਾ-stack web app ਬਣਦਾ ਹੈ (React frontend, Go backend, ਅਤੇ PostgreSQL data model ਜੋ flows, steps, ਅਤੇ step responses ਨਾਲ ਸਾਫ਼ ਮੇਲ ਖਾਂਦਾ ਹੈ). Koder.ai source code export, hosting/deployment, ਅਤੇ snapshots with rollback ਨੂੰ ਸਮਰਥਨ ਕਰਦਾ ਹੈ, ਜਿਹੜਾ ਤੁਹਾਨੂੰ onboarding ਵਰਜ਼ਨਾਂ 'ਤੇ ਤੇਜ਼ iteration ਕਰਨ ਅਤੇ ਜੇ rollout completion ਨੂੰ ਨੁਕਸਾਨ ਪੁੰਚਾਏ ਤਾਂ ਤੇਜ਼ ਵਾਪਸੀ ਦੇਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ.
Use a multi-step flow when setup is more than a single form—especially if it includes prerequisites (e.g., workspace creation), verification (email/phone/KYC), configuration (billing/integrations), or branching by role/plan/region.
If users need context to answer correctly, splitting it into steps reduces errors and drop-off.
Define success as users reaching value, not finishing screens. Common metrics:
Also track resume success (users can leave and continue without losing progress).
Start by listing user types (e.g., self-serve new user, invited user, admin-created account) and define for each:
Then encode skip rules so each persona lands on the right next step, not step one.
Write “done” as backend-checkable criteria, not UI completion. For example:
This lets the server reliably decide whether onboarding is complete—even if the UI changes over time.
Start with a mostly linear backbone and add conditional branches only when the experience truly differs (role, plan, region, use case).
Document branches as explicit if/then rules (e.g., “If region = EU → show VAT step”), and keep step names action-focused (“Confirm email,” “Invite teammates”).
Prefer one URL per step (e.g., /onboarding/profile) when the flow is more than a couple screens. It supports refresh safety, deep linking (from emails), and browser back/forward.
Use a single page with internal state only for very short flows—and only if you have strong persistence to survive refreshes/crashes.
Treat the server as the source of truth:
This enables refresh safety, cross-device continuation, and stability when flows get updated.
A practical minimal model is:
Version your flow definitions so in-progress users don’t break when you add/reorder steps. Progress should reference a specific .
Treat onboarding as a state machine with explicit transitions (e.g., start_step, save_draft, submit_step, go_back).
A step is “completed” only when:
When earlier answers change, re-evaluate dependencies and mark downstream steps as or revert them to .
A solid baseline API includes:
GET /api/onboarding (current step + progress + drafts)PUT /api/onboarding/steps/{stepKey} with mode: draft|submitPOST /api/onboarding/complete (server verifies all requirements)Add (e.g., ) to protect against retries/double-clicks, and return structured field-level errors (use 403/409/422 meaningfully) so the UI can respond correctly.
flow_version_idneeds_reviewin_progressIdempotency-Key