Need Help Customizing Newsletter Section

Topic summary

A user seeks help customizing the newsletter section in Shopify’s Dawn theme, requesting three specific changes:

Original requests:

  • Style the placeholder text to resemble a clean h4 heading
  • Replace the arrow icon with a “Sign Up” button featuring white background and readable text
  • Display the “Join our Newsletter” heading on a single line instead of stacked

Progress made:

  • A community member provided CSS code to adjust the placeholder text font size, which successfully resolved the first issue
  • The user shared their store URL (decorapy.co.uk) to enable better troubleshooting

Current status:

  • The helper requested and received the complete newsletter.liquid file code
  • They provided updated Liquid template code that appears to address the remaining customizations
  • The conversation ends with the code solution provided, but no confirmation yet on whether it fully resolves the button replacement and heading layout issues

The discussion involves modifying both CSS (base.css) and Liquid template files (newsletter.liquid) to achieve the desired design changes.

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

Hi! I’m using the Dawn theme and need help customizing the newsletter section (screenshot attached):

  1. Change the font style of the placeholder text: “Enter your email to unlock 10% off” — I’d like it to look more like a clean h4 style.

  2. Replace the arrow in the input field with a “Sign Up” button that has a white background and readable text.

  3. Make the “Join our Newsletter” heading appear on one line instead of stacked (if possible).

Thanks in advance for any help!

hi @user12357 ,

Can you leave the url store here? That can help communities easy to check and give you the suggestion.

Hi @user12357 ,

Please send the website link, I will check it for you

1 Like

Sure, here’s the link: https://decorapy.co.uk/

Hi @user12357 ,

Please go to Actions > Edit code > Assets > base.css file and paste this at the bottom of the file:

.newsletter-form .field__label {
    font-size: 1rem;
    top: calc(1.4rem + var(--inputs-border-width));
}
1 Like

Thanks for the code, it worked for the placeholder text!

Could you also please help with the other two things?

  1. Replace the arrow with a “Sign Up” button (white background and readable text).

  2. Make the “Join our Newsletter” heading appear on one line instead of stacked (if possible).

Really appreciate your help!

Hi @user12357 ,

Please send me the code of newsletter.liquid file, I will check it

1 Like

hi @namphan here is the newsletter.liquid code:

{{ '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 }}
          
        {%- when 'paragraph' -%}
          
            {{ block.settings.text }}
          

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

                

                  
                  
                  
                

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

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

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

{% schema %}
{
  "name": "t:sections.newsletter.name",
  "tag": "section",
  "class": "section",
  "disabled_on": {
    "groups": ["header"]
  },
  "settings": [
    {
      "type": "paragraph",
      "content": "t:sections.newsletter.settings.paragraph.content"
    },
    {
      "type": "color_scheme",
      "id": "color_scheme",
      "label": "t:sections.all.colors.label",
      "default": "scheme-1"
    },
    {
      "type": "checkbox",
      "id": "full_width",
      "default": true,
      "label": "t:sections.newsletter.settings.full_width.label"
    },
    {
      "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": "inline_richtext",
          "id": "heading",
          "default": "t:sections.newsletter.blocks.heading.settings.heading.default",
          "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"
            },
            {
              "value": "hxl",
              "label": "t:sections.all.heading_size.options__4.label"
            },
            {
              "value": "hxxl",
              "label": "t:sections.all.heading_size.options__5.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": "t:sections.newsletter.blocks.paragraph.settings.paragraph.default",
          "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 %}

Hi @user12357 ,

Please change all code:

{{ '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 }}
          
        {%- when 'paragraph' -%}
          

            {{ block.settings.text }}
          

        

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

                

                  
                  
                  
                

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

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

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

{% schema %}
{
  "name": "t:sections.newsletter.name",
  "tag": "section",
  "class": "section",
  "disabled_on": {
    "groups": ["header"]
  },
  "settings": [
    {
      "type": "paragraph",
      "content": "t:sections.newsletter.settings.paragraph.content"
    },
    {
      "type": "color_scheme",
      "id": "color_scheme",
      "label": "t:sections.all.colors.label",
      "default": "scheme-1"
    },
    {
      "type": "checkbox",
      "id": "full_width",
      "default": true,
      "label": "t:sections.newsletter.settings.full_width.label"
    },
    {
      "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": "inline_richtext",
          "id": "heading",
          "default": "t:sections.newsletter.blocks.heading.settings.heading.default",
          "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"
            },
            {
              "value": "hxl",
              "label": "t:sections.all.heading_size.options__4.label"
            },
            {
              "value": "hxxl",
              "label": "t:sections.all.heading_size.options__5.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": "t:sections.newsletter.blocks.paragraph.settings.paragraph.default",
          "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 %}