Adding First Name and Last Name to Newsletter Signup on Dawn 2.0 theme

Topic summary

A user needs to add First Name and Last Name fields to their newsletter signup form on both the homepage and footer of their Dawn 2.0 theme store.

Current Status:

  • User shared screenshots showing the existing newsletter form locations
  • Provided their complete newsletter.liquid section code for review
  • Asked whether older tutorial methods still apply to Shopify 2.0

Solution Provided:

  • A community member (vm-web) offered help and shared a YouTube tutorial video
  • Provided modified code that appears to restructure the newsletter form
  • The code includes form fields for first name, last name, and email with proper validation and success/error messaging

Key Technical Details:

  • Solution involves modifying the sections/newsletter.liquid file
  • Uses Shopify’s Liquid templating and customer form functionality
  • Includes styling references to component-newsletter.css and newsletter-section.css

Resolution: The discussion appears resolved with working code provided, though the user hasn’t confirmed implementation success yet.

Summarized with AI on October 29. AI used: claude-sonnet-4-5-20250929.

Hi there,

I need to add in 2 new fields to my newsletter signup form. First Name and Last Name. It is on the homepage.

Could someone please let me know the custom code I need to add in to do this and where to add it?

I also need to add the first and last name to the footer.

Thank you so much!

1 Like

@brandneststudio

Please share your sections/newsletter.liquid file code, then I will send you the solution, and check the following video URL!

https://www.youtube.com/watch?v=N_lmrdSQMzU

Thanks!

1 Like

Thank you - I actually looked at your Youtube video earlier but it was a couple of years ago. Is is the same with the new Shopify 2.0?

{{ ‘component-newsletter.css’ | asset_url | stylesheet_tag }}
{{ ‘newsletter-section.css’ | asset_url | stylesheet_tag }}

{%- style -%}
.section-{{ section.id }}-padding {
padding-top: {{ section.settings.padding_top | times: 0.75 | round: 0 }}px;
padding-bottom: {{ section.settings.padding_bottom | times: 0.75 | round: 0 }}px;
}

@media screen and (min-width: 750px) {
.section-{{ section.id }}-padding {
padding-top: {{ section.settings.padding_top }}px;
padding-bottom: {{ section.settings.padding_bottom }}px;
}
}
{%- endstyle -%}

{%- for block in section.blocks -%} {%- case block.type -%} {%- when '@app' -%} {% render block %} {%- when 'heading' -%}

{{ block.settings.heading | escape }}

{%- when 'paragraph' -%}
{{ block.settings.text }}
{%- when 'email_form' -%}
{% form 'customer', class: 'newsletter-form' %}
{{ 'newsletter.label' | t }} {% render 'icon-arrow' %}
{%- if form.errors -%} {% render 'icon-error' %}{{ form.errors.translated_fields['email'] | capitalize }} {{ form.errors.messages['email'] }} {%- endif -%}
{%- if form.posted_successfully? -%}

{% render 'icon-success' %}{{ 'newsletter.success' | t }}

{%- endif -%} {% endform %}
{%- endcase -%} {%- endfor -%}

{% schema %}
{
“name”: “t:sections.newsletter.name”,
“tag”: “section”,
“class”: “section”,
“settings”: [
{
“type”: “select”,
“id”: “color_scheme”,
“options”: [
{
“value”: “accent-1”,
“label”: “t:sections.newsletter.settings.color_scheme.options__1.label”
},
{
“value”: “accent-2”,
“label”: “t:sections.newsletter.settings.color_scheme.options__2.label”
},
{
“value”: “background-1”,
“label”: “t:sections.newsletter.settings.color_scheme.options__3.label”
},
{
“value”: “background-2”,
“label”: “t:sections.newsletter.settings.color_scheme.options__4.label”
},
{
“value”: “inverse”,
“label”: “t:sections.newsletter.settings.color_scheme.options__5.label”
}
],
“default”: “background-1”,
“label”: “t:sections.newsletter.settings.color_scheme.label”
},
{
“type”: “checkbox”,
“id”: “full_width”,
“default”: true,
“label”: “t:sections.newsletter.settings.full_width.label”
},
{
“type”: “paragraph”,
“content”: “t:sections.newsletter.settings.paragraph.content”
},
{
“type”: “header”,
“content”: “t:sections.all.padding.section_padding_heading”
},
{
“type”: “range”,
“id”: “padding_top”,
“min”: 0,
“max”: 100,
“step”: 4,
“unit”: “px”,
“label”: “t:sections.all.padding.padding_top”,
“default”: 40
},
{
“type”: “range”,
“id”: “padding_bottom”,
“min”: 0,
“max”: 100,
“step”: 4,
“unit”: “px”,
“label”: “t:sections.all.padding.padding_bottom”,
“default”: 52
}
],
“blocks”: [
{
“type”: “heading”,
“name”: “t:sections.newsletter.blocks.heading.name”,
“limit”: 1,
“settings”: [
{
“type”: “text”,
“id”: “heading”,
“default”: “Subscribe to our emails”,
“label”: “t:sections.newsletter.blocks.heading.settings.heading.label”
},
{
“type”: “select”,
“id”: “heading_size”,
“options”: [
{
“value”: “h2”,
“label”: “t:sections.all.heading_size.options__1.label”
},
{
“value”: “h1”,
“label”: “t:sections.all.heading_size.options__2.label”
},
{
“value”: “h0”,
“label”: “t:sections.all.heading_size.options__3.label”
}
],
“default”: “h1”,
“label”: “t:sections.all.heading_size.label”
}
]
},
{
“type”: “paragraph”,
“name”: “t:sections.newsletter.blocks.paragraph.name”,
“limit”: 1,
“settings”: [
{
“type”: “richtext”,
“id”: “text”,
“default”: “

Be the first to know about new collections and exclusive offers.

”,
“label”: “t:sections.newsletter.blocks.paragraph.settings.paragraph.label”
}
]
},
{
“type”: “email_form”,
“name”: “t:sections.newsletter.blocks.email_form.name”,
“limit”: 1
},
{
“type”: “@app
}
],
“presets”: [
{
“name”: “t:sections.newsletter.presets.name”,
“blocks”: [
{
“type”: “heading”
},
{
“type”: “paragraph”
},
{
“type”: “email_form”
}
]
}
]
}
{% endschema %}

@brandneststudio

Happy to help!!! I have filtered out the code according to your needs, just copy and paste it. You will get the solution.

{{ 'component-newsletter.css' | asset_url | stylesheet_tag }}
{{ 'newsletter-section.css' | asset_url | stylesheet_tag }}

{%- style -%}
.section-{{ section.id }}-padding {
padding-top: {{ section.settings.padding_top | times: 0.75 | round: 0 }}px;
padding-bottom: {{ section.settings.padding_bottom | times: 0.75 | round: 0 }}px;
}

@media screen and (min-width: 750px) {
.section-{{ section.id }}-padding {
padding-top: {{ section.settings.padding_top }}px;
padding-bottom: {{ section.settings.padding_bottom }}px;
}
}
{%- endstyle -%}

{%- for block in section.blocks -%}
{%- case block.type -%}
{%- when '@app' -%}
{% render block %}
{%- when 'heading' -%}
## {{ block.settings.heading | escape }}
{%- when 'paragraph' -%}
{{ block.settings.text }}

{%- when 'email_form' -%}

{% form 'customer', class: 'newsletter-form' %}

{%- if form.errors -%}
<small>{% render 'icon-error' %}{{ form.errors.translated_fields['email'] | capitalize }} {{ form.errors.messages['email'] }}</small>
{%- endif -%}

{%- if form.posted_successfully? -%}
### {% render 'icon-success' %}{{ 'newsletter.success' | t }}
{%- endif -%}
{% endform %}

{%- endcase -%}
{%- endfor -%}

{% schema %}
{
"name": "t:sections.newsletter.name",
"tag": "section",
"class": "section",
"settings": [
{
"type": "select",
"id": "color_scheme",
"options": [
{
"value": "accent-1",
"label": "t:sections.newsletter.settings.color_scheme.options__1.label"
},
{
"value": "accent-2",
"label": "t:sections.newsletter.settings.color_scheme.options__2.label"
},
{
"value": "background-1",
"label": "t:sections.newsletter.settings.color_scheme.options__3.label"
},
{
"value": "background-2",
"label": "t:sections.newsletter.settings.color_scheme.options__4.label"
},
{
"value": "inverse",
"label": "t:sections.newsletter.settings.color_scheme.options__5.label"
}
],
"default": "background-1",
"label": "t:sections.newsletter.settings.color_scheme.label"
},
{
"type": "checkbox",
"id": "full_width",
"default": true,
"label": "t:sections.newsletter.settings.full_width.label"
},
{
"type": "paragraph",
"content": "t:sections.newsletter.settings.paragraph.content"
},
{
"type": "header",
"content": "t:sections.all.padding.section_padding_heading"
},
{
"type": "range",
"id": "padding_top",
"min": 0,
"max": 100,
"step": 4,
"unit": "px",
"label": "t:sections.all.padding.padding_top",
"default": 40
},
{
"type": "range",
"id": "padding_bottom",
"min": 0,
"max": 100,
"step": 4,
"unit": "px",
"label": "t:sections.all.padding.padding_bottom",
"default": 52
}
],
"blocks": [
{
"type": "heading",
"name": "t:sections.newsletter.blocks.heading.name",
"limit": 1,
"settings": [
{
"type": "text",
"id": "heading",
"default": "Subscribe to our emails",
"label": "t:sections.newsletter.blocks.heading.settings.heading.label"
},
{
"type": "select",
"id": "heading_size",
"options": [
{
"value": "h2",
"label": "t:sections.all.heading_size.options__1.label"
},
{
"value": "h1",
"label": "t:sections.all.heading_size.options__2.label"
},
{
"value": "h0",
"label": "t:sections.all.heading_size.options__3.label"
}
],
"default": "h1",
"label": "t:sections.all.heading_size.label"
}
]
},
{
"type": "paragraph",
"name": "t:sections.newsletter.blocks.paragraph.name",
"limit": 1,
"settings": [
{
"type": "richtext",
"id": "text",
"default": "

Be the first to know about new collections and exclusive offers.

",
"label": "t:sections.newsletter.blocks.paragraph.settings.paragraph.label"
}
]
},
{
"type": "email_form",
"name": "t:sections.newsletter.blocks.email_form.name",
"limit": 1
},
{
"type": "@app"
}
],
"presets": [
{
"name": "t:sections.newsletter.presets.name",
"blocks": [
{
"type": "heading"
},
{
"type": "paragraph"
},
{
"type": "email_form"
}
]
}
]
}
{% endschema %}