Shopify Newsletter Section – Customizable Email Subscription
Add a stylish newsletter subscription section to your Shopify store with customizable form, image, and discount tag. Features responsive two-column layout and privacy policy integration.
Liquid Code
<!--
========================================
Section Name: Newsletter Section
Tech Stack: Liquid, HTML, CSS, JavaScript
What This Section Does:
- Displays a two-column layout with newsletter subscription form and custom image.
- Features optional discount tag, customizable titles, and description text.
- Includes email input with arrow button and privacy policy links.
- Fully responsive design that adapts from desktop to mobile layouts.
Promotion:
Grow your email list with an attractive newsletter subscription section. Customize colors, text, and layout to match your brand. Get it now at [PrebuiltTemplates](https://prebuilttemplates.com/).
========================================
-->
<section class="newsletter-subscribe-section" style="background-color: {{ section.settings.bg_color }}; padding: {{ section.settings.pad_top }}px 0 {{ section.settings.pad_bot }}px;">
<div class="newsletter-subscribe-container page-width">
<div class="newsletter-subscribe-grid">
<div class="newsletter-subscribe-content" style="background-color: {{ section.settings.form_bg_color }}; border: {{ section.settings.border_width }}px solid {{ section.settings.border_color }};">
{% if section.settings.show_discount_tag %}
<div class="newsletter-discount-tag" style="color: {{ section.settings.discount_text_color }};">
{{ section.settings.discount_text | default: 'GET DISCOUNT 25% OFF' }}
</div>
{% endif %}
<h2 class="newsletter-title" style="color: {{ section.settings.title_color }}; font-size: {{ section.settings.title_size }}px;">
{{ section.settings.title | default: 'Subscribe to newsletter' }}
</h2>
{% if section.settings.show_description %}
<div class="newsletter-description" style="color: {{ section.settings.text_color }};">
{{ section.settings.description | default: 'Sign up to be the first to hear about exclusive deals, special offers and upcoming collections' }}
</div>
{% endif %}
{%- form 'customer', id: 'newsletter-form', class: 'newsletter-form' -%}
<input type="hidden" name="contact[tags]" value="newsletter">
<div class="newsletter-field-group">
<input type="email"
name="contact[email]"
id="NewsletterEmail"
class="newsletter-input"
placeholder="{{ section.settings.placeholder_text | default: 'Enter your email' }}"
required>
<button type="submit" class="newsletter-submit" style="background-color: {{ section.settings.button_bg_color }}; color: {{ section.settings.button_text_color }};">
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12 4L10.59 5.41L16.17 11H4V13H16.17L10.59 18.59L12 20L20 12L12 4Z" fill="currentColor"/>
</svg>
</button>
</div>
<div class="newsletter-terms">
<span>{{ 'View' }} </span>
<a href="{{ routes.privacy_policy_url }}" style="color: {{ section.settings.terms_link_color }};">{{ section.settings.privacy_text | default: 'Privacy Policy' }}</a>
{% if section.settings.show_advertising_terms %}
<span> & </span>
<a href="#" style="color: {{ section.settings.terms_link_color }};">{{ section.settings.advertising_text | default: 'advertising terms' }}</a>
{% endif %}
</div>
{%- endform -%}
</div>
<div class="newsletter-image-wrapper">
{% if section.settings.newsletter_image != blank %}
<img src="{{ section.settings.newsletter_image | img_url: 'master' }}"
alt="Newsletter"
class="newsletter-image">
{% else %}
{{ 'lifestyle-2' | placeholder_svg_tag: 'newsletter-image placeholder' }}
{% endif %}
</div>
</div>
</div>
</section>
<style>
.newsletter-subscribe-section {
overflow: hidden;
position: relative;
}
.newsletter-subscribe-container {
max-width: {{ section.settings.container_width }}px;
margin: 0 auto;
}
.newsletter-subscribe-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: {{ section.settings.columns_gap }}px;
align-items: center;
}
.newsletter-subscribe-content {
padding: {{ section.settings.content_padding }}px;
border-radius: {{ section.settings.border_radius }}px;
}
.newsletter-discount-tag {
font-size: 14px;
font-weight: 600;
margin-bottom: 15px;
letter-spacing: 0.5px;
text-transform: uppercase;
}
.newsletter-title {
font-weight: {{ section.settings.title_weight }};
line-height: 1.2;
margin-bottom: 20px;
}
.newsletter-description {
font-size: {{ section.settings.description_size }}px;
line-height: 1.6;
margin-bottom: 25px;
color: #666666;
}
.newsletter-form {
width: 100%;
}
.newsletter-field-group {
display: flex;
position: relative;
margin-bottom: 15px;
}
.newsletter-input {
width: 100%;
padding: 14px 55px 14px 15px;
border: 1px solid {{ section.settings.input_border_color }};
border-radius: {{ section.settings.input_border_radius }}px;
font-size: 14px;
background-color: {{ section.settings.input_bg_color }};
color: {{ section.settings.input_text_color }};
outline: none;
transition: border-color 0.2s ease;
}
.newsletter-input:focus {
border-color: #999;
}
.newsletter-submit {
position: absolute;
right: 0;
top: 50%;
transform: translateY(-50%);
width: 36px;
height: 36px;
display: flex;
align-items: center;
justify-content: center;
border: none;
border-radius: 4px;
cursor: pointer;
transition: all 0.3s ease;
}
.newsletter-submit:hover {
opacity: 0.9;
}
.newsletter-terms {
font-size: 12px;
color: {{ section.settings.terms_text_color }};
margin-top: 10px;
}
.newsletter-terms a {
text-decoration: none;
}
.newsletter-terms a:hover {
text-decoration: underline;
}
.newsletter-image-wrapper {
height: 100%;
width: 100%;
border-radius: {{ section.settings.image_border_radius }}px;
overflow: hidden;
}
.newsletter-image {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
@media (max-width: 768px) {
.newsletter-subscribe-grid {
grid-template-columns: 1fr;
gap: 30px;
}
.newsletter-image-wrapper {
order: -1;
height: 250px;
}
.newsletter-subscribe-content {
padding: 25px 20px;
}
}
@media (max-width: 480px) {
.newsletter-title {
font-size: {{ section.settings.title_size | minus: 4 }}px;
}
.newsletter-description {
font-size: {{ section.settings.description_size | minus: 1 }}px;
}
}
</style>
{% schema %}
{
"name": "Newsletter",
"settings": [
{
"type": "range",
"id": "pad_top",
"label": "Padding Top",
"min": 0,
"max": 200,
"step": 5,
"default": 40
},
{
"type": "range",
"id": "pad_bot",
"label": "Padding Bottom",
"min": 0,
"max": 200,
"step": 5,
"default": 40
},
{
"type": "color",
"id": "bg_color",
"label": "Background Color",
"default": "#FFFFFF"
},
{
"type": "range",
"id": "container_width",
"label": "Container Width",
"min": 800,
"max": 1600,
"step": 50,
"default": 1200
},
{
"type": "range",
"id": "columns_gap",
"label": "Columns Gap",
"min": 0,
"max": 100,
"step": 5,
"default": 30
},
{
"type": "header",
"content": "Form Settings"
},
{
"type": "color",
"id": "form_bg_color",
"label": "Form Background",
"default": "#FFFFFF"
},
{
"type": "range",
"id": "content_padding",
"label": "Content Padding",
"min": 15,
"max": 80,
"step": 5,
"default": 40
},
{
"type": "range",
"id": "border_radius",
"label": "Border Radius",
"min": 0,
"max": 30,
"step": 1,
"default": 0
},
{
"type": "range",
"id": "border_width",
"label": "Border Width",
"min": 0,
"max": 5,
"step": 1,
"default": 1
},
{
"type": "color",
"id": "border_color",
"label": "Border Color",
"default": "#E0E0E0"
},
{
"type": "header",
"content": "Discount Tag"
},
{
"type": "checkbox",
"id": "show_discount_tag",
"label": "Show Discount Tag",
"default": true
},
{
"type": "text",
"id": "discount_text",
"label": "Discount Text",
"default": "GET DISCOUNT 25% OFF"
},
{
"type": "color",
"id": "discount_text_color",
"label": "Discount Text Color",
"default": "#333333"
},
{
"type": "header",
"content": "Content Settings"
},
{
"type": "text",
"id": "title",
"label": "Title",
"default": "Subscribe to newsletter"
},
{
"type": "range",
"id": "title_size",
"label": "Title Size",
"min": 20,
"max": 50,
"step": 1,
"default": 32
},
{
"type": "select",
"id": "title_weight",
"label": "Title Weight",
"options": [
{
"value": "400",
"label": "Regular"
},
{
"value": "500",
"label": "Medium"
},
{
"value": "600",
"label": "Semi-Bold"
},
{
"value": "700",
"label": "Bold"
}
],
"default": "600"
},
{
"type": "color",
"id": "title_color",
"label": "Title Color",
"default": "#333333"
},
{
"type": "checkbox",
"id": "show_description",
"label": "Show Description",
"default": true
},
{
"type": "richtext",
"id": "description",
"label": "Description",
"default": "<p>Sign up to be the first to hear about exclusive deals, special offers and upcoming collections</p>"
},
{
"type": "range",
"id": "description_size",
"label": "Description Size",
"min": 12,
"max": 20,
"step": 1,
"default": 14
},
{
"type": "color",
"id": "text_color",
"label": "Text Color",
"default": "#666666"
},
{
"type": "header",
"content": "Input Settings"
},
{
"type": "text",
"id": "placeholder_text",
"label": "Placeholder Text",
"default": "Enter your email"
},
{
"type": "color",
"id": "input_bg_color",
"label": "Input Background",
"default": "#FFFFFF"
},
{
"type": "color",
"id": "input_text_color",
"label": "Input Text Color",
"default": "#333333"
},
{
"type": "color",
"id": "input_border_color",
"label": "Input Border Color",
"default": "#E0E0E0"
},
{
"type": "range",
"id": "input_border_radius",
"label": "Input Border Radius",
"min": 0,
"max": 30,
"step": 1,
"default": 4
},
{
"type": "color",
"id": "button_bg_color",
"label": "Button Background",
"default": "#333333"
},
{
"type": "color",
"id": "button_text_color",
"label": "Button Icon Color",
"default": "#FFFFFF"
},
{
"type": "header",
"content": "Terms & Privacy"
},
{
"type": "text",
"id": "privacy_text",
"label": "Privacy Text",
"default": "Privacy Policy"
},
{
"type": "checkbox",
"id": "show_advertising_terms",
"label": "Show Advertising Terms",
"default": true
},
{
"type": "text",
"id": "advertising_text",
"label": "Advertising Text",
"default": "advertising terms"
},
{
"type": "color",
"id": "terms_text_color",
"label": "Terms Text Color",
"default": "#666666"
},
{
"type": "color",
"id": "terms_link_color",
"label": "Terms Link Color",
"default": "#1E88E5"
},
{
"type": "header",
"content": "Image Settings"
},
{
"type": "image_picker",
"id": "newsletter_image",
"label": "Image"
},
{
"type": "range",
"id": "image_border_radius",
"label": "Image Border Radius",
"min": 0,
"max": 30,
"step": 1,
"default": 0
}
],
"presets": [
{
"name": "Newsletter",
"category": "Promotional"
}
]
}
{% endschema %}
