Adding "Accepts Marketing" option to customer account page

New Member
5 0 0

My theme is "Liquid" which works pretty well for most things. But I have noticed that if I create my own account on my site, I can't enable/disable the "Accepts Marketing" field without buying something.

Nor can I change my name or email address.

Are there any themes that allow this? Maybe I can copy some of the theme pages to modify my existing theme.

Has anyone had any experience doing this?

Thanks in advance


Shopify Partner
50 0 1

I have a sign-up form for the newsletter on my site.  Then, I only require accounts for customers making a purchase, and they can select accept or don't accept at that time.

10 0 1

I've noticed the same thing; that customers can create an account but not be set up to accept marketing until they make a subsequent purchase. Can this not be configured in a way that allows the customer to chose at this stage?

7 0 2

I'm guessing it depends on your theme, here's what worked for me.

In customers/register.liquid add:

<div id="accept" class="clearfix form-row">
<input type="hidden" name="customer[accepts_marketing]" value="true"/>
<input type="hidden" name="customer[accepts_marketing]" id="accepts_marketing" class="{% if form.errors contains 'email' %} error{% endif %}" value="true" /></div>

This is a hidden field that will apply accepts marketing to the registering user.

Need help with your shop? Drop me an email
New Member
5 0 0

I contacted the helpdesk and they gave me something similar:

On the register.liquid page between "email address" and "password" I added:

<div id="accepts_marketing " class="clearfix large_form"> 
<label for="marketing" style="font-weight:normal">I want to receive the newsletter.</label> 
<input type="checkbox" name="customer[accepts_marketing]" checked="checked" value="true" id="marketing" />

and on the account.liquid page I added

 <div id="customer_sidebar" class="span4"> 
<h2>{{ }}</h2> 
<p class="email note">{{ }}</p> 
<p class="marketing note">{% if customer.accepts_marketing == false %}<b>Not signed{% else %}<b>Signed{% endif %} up</b> for our Newsletter</p> 
<div class="address note">

But I still haven't figured out a way for the customer to change his/her mind once he/she has registered.

I tried to create a special page called /customers/newsletter.liquid but I get a 404 error whenever I try to use it.


New Member
15 0 0

I would also like to add some options to account.liquid that allows a customer to change their name, e-mail address, whether or not they accept marketing, etc. Not seeing a solution in this thread for that, and Google's not yielding anything helpful, either.

Shopify Staff
Shopify Staff
5704 0 287

Hi Ryan,

Unfortunately, a client can edit his addresses, but not his name or whether he accepts marketing or not.

To be clear, he can still edit the name associated with any of his shipping addresses, but not the one name associated with his customer account.

As for changing his password, he can only do so by resetting it.

You can use the recover password form for this:

     <div class="change-password-form">
        {% form 'recover_customer_password' %}
        if (window.location.hash === '#change-password-form') {
          document.write('<p>Check your {{ }} inbox. A &ldquo;reset password&rdquo; URL was emailed to you.</p>');
        <input type="hidden" name="email" value="{{ }}" />
        <input type="hidden" name="return_to" value="/account#change-password-form" />
        <input type="submit" value="Change Password" /> *
        <p>(*) We will send you a &ldquo;reset password&rdquo; URL by email.</p>
        {% endform %}


Caroline from ∴ mllegeorgesand AT gmail DOT com
1 Like
New Member
15 0 0

Ah, that's a bummer - I guess I'll just create a private app and bring in the functionality via that method. Thanks for the clarification Caroline!

New Member
1 0 0

is there any chance or plan at shopify to change this? i mean, i don't really see any sense in avoiding the possibility for any customer, to change his first-/lastname or even the marketing option. In my eyes this is a basic at least function, which every online shop nowadays no chance for any work-around for this?


Sorry for the late addition to an old thread, but for @ptrck_schndr and others still struggling with this, Helium has created a solution.


Using the Customer Fields app (since 2015), you can add an "Accepts marketing" checkbox to your registration form and create an "Edit account" page where customers can edit this information. You can also collect additional information such as addresses, gender, sizing information, and any other data you may want to collect from customers during registration.

Michael | Business Development @ Helium
- Was my reply helpful? Click Like to let me know!
- Was your question answered? Click Accept as Solution
- User friendly apps with top-rated US-based support
Customer Fields App (since 2015)
Meteor Mega Menu App (since 2014)