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


Replies 10 (10)
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
5705 1 357

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_Schnap | Shopify 
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Mark it as an Accepted Solution
 - To learn more visit the Shopify Help Center or the Shopify Blog

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!

7 0 2

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?

Shopify Expert
232 2 120

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, Former Director of Business Development @ Helium (view current profile)
- Customer Fields ✪ 4.9/5 (242 reviews)
- Meteor Mega Menu ✪ 4.7/5 (203 reviews)