Custom Shopify Registration Flow Coding

Job ID: 39991457

Budget: $50 – $100 USD

I need a Shopify developer who is comfortable working purely in Liquid, HTML, CSS and JavaScript—no third-party apps—to extend my store’s native customer registration flow.

Here’s exactly what I’m trying to achieve:

• On the sign-up screen I must capture a phone number and display several “I agree to the Terms & Policy” checkbox (the form should refuse submission if it’s left unchecked).
• A new radio button labelled “Shopping Local In-Store” must appear. When a shopper selects it and presses Create Account, the account is still created but the session then redirects to an existing custom page where I have a longer Shopify form.
• That form gathers additional personal details (name fields that Shopify already stores plus a few extra text inputs we’ll define together). Every field—both the core data and the extra data—needs to be saved back to the customer profile so it’s visible in Shopify POS. Metafields or customer tags are fine as long as the info is retrievable in POS search. (this part is optional)
• After the form submits, the customer is directed to a confirmation page and an email containing the form data is sent to a single, hard-coded address I’ll provide.
• If the radio button was left unchecked the customer should enjoy the default Shopify post-registration experience without interruption.

Developer Mockup
Developer Implementation Guide (Mockup/Specification)
SECTION 1 — REGISTRATION PAGE (PRIMARY CONSENT LAYER)

You will be customizing Shopify’s customer registration page (customers/register.liquid or equivalent template in Online Store 2.0).

This page must collect the following fields, with the specified requirements:

1. Standard Shopify Fields (Required)

First Name

Last Name

Email Address

Phone Number (must be required)

2. Additional Consent Checkboxes (All Required Unless Noted)

Please add the following checkboxes to the registration form:

Required Legal/Compliance Checkboxes

□ Terms & Conditions (required)

□ Return Policy (required)

□ Herbal Product Disclaimer (required)
□ FDA Disclaimer (required)

□ Services return policy (required)

□ Gift Card Policy (required)


Each of these checkboxes must output a value into the customer metafields on submit, OR a hidden field value that Shopify Flow can use to apply tags.

3. Dynamic Local Shopping Indicator (Radio Button)

Add the following:

Are you shopping locally today?

○ Yes, I’m shopping in-store

○ No, I’m shopping online

This radio button does NOT affect consent.
It is a trigger for redirect + tagging.

Please store this radio button value in either:

A customer metafield (preferred), or

A hidden input that Shopify Flow can read to trigger tags.

4. Developer Requirements for REGISTRATION SUBMISSION

When the customer submits the form:

Shopify creates the customer normally

All checkbox values must be saved to metafields or line-item attributes accessible by Shopify Flow

Do not redirect during submission

Allow Shopify to finish creating the customer before doing anything else

SECTION 2 — LOCAL REDIRECT LOGIC (AFTER REGISTRATION)

After Shopify finishes creating the account:

**If “Are you shopping locally?” = YES

→ Redirect to**:
/local-welcome

**If “Are you shopping locally?” = NO

→ Continue to the normal Shopify login/account creation flow**

Technical Implementation:

This can be implemented using a conditional JavaScript snippet in the registration template:

Pseudocode (not exact code):
If registration was successful AND localShoppingRadio = "yes" {
window.location.href = "/local-welcome";
}


Developer notes:

The redirect must happen after submission is confirmed.

Do NOT prevent submission or interfere with Shopify's registration validation.

You may store the radio selection via sessionStorage or metafields to check post-submit.

SECTION 3 — SHOPIFY FLOW AUTOMATION (TAGGING FOR POS VISIBILITY)
Flow Trigger: "Customer Customer Created"

Flow will look at the metafields / field values from the registration form.

Tags to Apply Based on Checkboxes
When all required consents = TRUE → Add:

legal-consent

herbal-disclaimer

service-policy-agreed

return-policy-agreed

giftcard-policy-agreed

If SMS Consent = TRUE → Add:

sms-opt-in

If Local Shopper = YES → Add:

local-customer

Why?

POS staff will immediately see:

Whether the customer completed legal consents

Whether they’re a local customer

Whether they agreed to disclaimers (useful for disputes + chargebacks)

All tags must be visible in Shopify POS under the customer profile.

SECTION 4 — /LOCAL-WELCOME PAGE

This is the landing page local shoppers see after account creation.

The dev only needs to ensure the redirect works.
You will design the content separately (email signup + review request).

SECTION 5 — DATA STORAGE REQUIREMENTS

All consent fields MUST be stored in one of these:

Preferred:

Customer metafields (one metafield per consent)

Acceptable alternative:

Form hidden fields mapped to Flow conditions

Minimum acceptable:

Flow tags only (but metafields + tags together gives best evidence)

Chargeback Compliance Requirement:

We must be able to export:

Timestamp of account creation

Consents accepted

IP address (Shopify records this automatically)

Customer profile with tags

This is why storing metafields + tags is ideal.

SECTION 6 — FINAL SUMMARY (Developer Quick Checklist)
✔ Modify Shopify's registration form

Add phone + 7 checkboxes + 1 radio button.

✔ Store checkbox + radio button values

via metafields or equivalent fields for Flow.

✔ Add post-registration redirect logic

If “Local = yes” → /local-welcome

✔ Create Shopify Flow automation

Apply tags based on customer metafield values.

✔ Ensure POS visibility

Staff should see all tags on customer profile.

✔ Preserve Shopify’s native checkout + authentication flow

No blocking submission


Acceptance criteria
– Phone, checkbox and radio button show and validate correctly on the registration template.
– Redirect fires only when “Shopping Local In-Store” is chosen and the account actually exists in Customers.
– Extra form fields write to the customer record and appear in POS.
– Confirmation email arrives consistently with all submitted values.
– All work delivered as theme code snippets or a Git branch; no external apps.

If you’ve handled similar Liquid customisations and know your way around customer objects and metafields, let’s chat—I’m ready to start right away.