{"id":60412,"date":"2018-10-19T00:00:00","date_gmt":"2018-10-19T00:00:00","guid":{"rendered":"https:\/\/blog.hellotax.com\/blog\/amazon\/listing\/optimization\/description\/"},"modified":"2022-02-27T22:11:31","modified_gmt":"2022-02-27T21:11:31","slug":"description","status":"publish","type":"post","link":"https:\/\/hellotax.com\/blog\/amazon\/listing\/optimization\/description","title":{"rendered":"Amazon Product Description Template 2022: Guide, Tips, Character Limit"},"content":{"rendered":"\n<p>After the title, the images and the bullet points in the listing are optimized, it\u2019s now time to focus on the acutal product description. This article shows you how to optimize the description, how to increase traffic and conversion, what a proper listings looks like and how to write the description.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1024\" height=\"536\" src=\"https:\/\/hellotax.com\/blog\/wp-content\/uploads\/2019\/09\/amazon-product-description-1024x5361-1024x536.jpg\" alt=\"\" class=\"wp-image-61385\" srcset=\"https:\/\/hellotax.com\/blog\/wp-content\/uploads\/2019\/09\/amazon-product-description-1024x5361.jpg 1024w, https:\/\/hellotax.com\/blog\/wp-content\/uploads\/2019\/09\/amazon-product-description-1024x5361-300x157.jpg 300w, https:\/\/hellotax.com\/blog\/wp-content\/uploads\/2019\/09\/amazon-product-description-1024x5361-768x402.jpg 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">How do I write the perfect Amazon Product Description?<\/h2>\n\n\n\n<p>That\u2019s where you <strong>want to convince<\/strong> the potential <strong>customer to buy your product<\/strong>. What is relevant information they will need? How can you ensure a good buying experience.<\/p>\n\n\n\n<p>Show what makes your <strong>product and your brand special<\/strong> and <strong>better than others<\/strong>. You have to explain the experience of buying, using and having your product.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Related articles<\/h3>\n\n\nNo content has been found here, sorry \ud83d\ude42\n\n\n\n<h3 class=\"wp-block-heading\">Product Description Character Limit<\/h3>\n\n\n\n<p>Only <strong>2000 bytes of data, about 300 words, or 1,900 (incl. Spaces) are allowed<\/strong>. So besides your \u201egood story\u201c you should implement all relevant keywords and create <strong>a mix of valuable information<\/strong>, Keywords and quality content<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Writing an Amazon description &#8211; Guideline\/Template<\/h2>\n\n\n\n<p>Like mentioned before, think about the <strong>benefits and advantages for clients<\/strong> who have bought your product. This way you can also find out about your <strong>target audience<\/strong> and who you want to address. Use <strong>this knowledge in all parts of your listing<\/strong>, including the description, and maybe also in your marketing.<\/p>\n\n\n<div class=\"cta-shortcode cta-shortcode-embed\"><div class=\"cta-content\"><h3 class=\"font600\">Join our VAT community<\/h3><p>Discuss about VAT on Facebook with our <strong>+1500 members<\/strong> VAT community.<\/p>\n<\/div><div class=\"cta-embed-code\"><style>\r\n\t#_form_10_ ._form-thank-you { position:relative; left:0; right:0; text-align:center; font-size:18px; }\r\n<\/style>\r\n<form method=\"POST\" action=\"https:\/\/fbahero77513.activehosted.com\/proc.php\" id=\"_form_10_\" class=\"_form _form_10 _inline-form  _dark\" novalidate>\r\n  <input type=\"hidden\" name=\"u\" value=\"10\" \/>\r\n  <input type=\"hidden\" name=\"f\" value=\"10\" \/>\r\n  <input type=\"hidden\" name=\"s\" \/>\r\n  <input type=\"hidden\" name=\"c\" value=\"0\" \/>\r\n  <input type=\"hidden\" name=\"m\" value=\"0\" \/>\r\n  <input type=\"hidden\" name=\"act\" value=\"sub\" \/>\r\n  <input type=\"hidden\" name=\"v\" value=\"2\" \/>\r\n  <div class=\"_form-content\">\r\n    <div class=\"_form_element _x02957572 _full_width \" >\r\n      <label class=\"_form-label\">\r\n      <\/label>\r\n      <div class=\"_field-wrapper\">\r\n        <input type=\"text\" name=\"email\" placeholder=\"Enter your email\" required\/>\r\n      <\/div>\r\n    <\/div>\r\n    <div style=\"padding-top:10px;\" class=\"_button-wrapper _full_width\">\r\n      <button id=\"_form_10_submit\" class=\"_submit button button-secondary\" type=\"submit\">\r\n        Get your invitation\r\n      <\/button>\r\n    <\/div>\r\n    <div class=\"_clear-element\">\r\n    <\/div>\r\n  <\/div>\r\n  <div class=\"_form-thank-you\" style=\"display:none;\">\r\n  <\/div>\r\n<\/form><script type=\"text\/javascript\">\r\nwindow.cfields = [];\r\nwindow._show_thank_you = function(id, message, trackcmp_url) {\r\n  var form = document.getElementById('_form_' + id + '_'), thank_you = form.querySelector('._form-thank-you');\r\n  form.querySelector('._form-content').style.display = 'none';\r\n  thank_you.innerHTML = message;\r\n  thank_you.style.display = 'block';\r\n  if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) {\r\n    \/\/ Site tracking URL to use after inline form submission.\r\n    _load_script(trackcmp_url);\r\n  }\r\n  if (typeof window._form_callback !== 'undefined') window._form_callback(id);\r\n};\r\nwindow._show_error = function(id, message, html) {\r\n  var form = document.getElementById('_form_' + id + '_'), err = document.createElement('div'), button = form.querySelector('button'), old_error = form.querySelector('._form_error');\r\n  if (old_error) old_error.parentNode.removeChild(old_error);\r\n  err.innerHTML = message;\r\n  err.className = '_error-inner _form_error _no_arrow';\r\n  var wrapper = document.createElement('div');\r\n  wrapper.className = '_form-inner';\r\n  wrapper.appendChild(err);\r\n  button.parentNode.insertBefore(wrapper, button);\r\n  document.querySelector('[id^=\"_form\"][id$=\"_submit\"]').disabled = false;\r\n  if (html) {\r\n    var div = document.createElement('div');\r\n    div.className = '_error-html';\r\n    div.innerHTML = html;\r\n    err.appendChild(div);\r\n  }\r\n};\r\nwindow._load_script = function(url, callback) {\r\n    var head = document.querySelector('head'), script = document.createElement('script'), r = false;\r\n    script.type = 'text\/javascript';\r\n    script.charset = 'utf-8';\r\n    script.src = url;\r\n    if (callback) {\r\n      script.onload = script.onreadystatechange = function() {\r\n      if (!r && (!this.readyState || this.readyState == 'complete')) {\r\n        r = true;\r\n        callback();\r\n        }\r\n      };\r\n    }\r\n    head.appendChild(script);\r\n};\r\n(function() {\r\n  if (window.location.search.search(\"excludeform\") !== -1) return false;\r\n  var getCookie = function(name) {\r\n    var match = document.cookie.match(new RegExp('(^|; )' + name + '=([^;]+)'));\r\n    return match ? match[2] : null;\r\n  }\r\n  var setCookie = function(name, value) {\r\n    var now = new Date();\r\n    var time = now.getTime();\r\n    var expireTime = time + 1000 * 60 * 60 * 24 * 365;\r\n    now.setTime(expireTime);\r\n    document.cookie = name + '=' + value + '; expires=' + now + ';path=\/';\r\n  }\r\n      var addEvent = function(element, event, func) {\r\n    if (element.addEventListener) {\r\n      element.addEventListener(event, func);\r\n    } else {\r\n      var oldFunc = element['on' + event];\r\n      element['on' + event] = function() {\r\n        oldFunc.apply(this, arguments);\r\n        func.apply(this, arguments);\r\n      };\r\n    }\r\n  }\r\n  var _removed = false;\r\n  var form_to_submit = document.getElementById('_form_10_');\r\n  var allInputs = form_to_submit.querySelectorAll('input, select, textarea'), tooltips = [], submitted = false;\r\n\r\n  var getUrlParam = function(name) {\r\n    var regexStr = '[\\?&]' + name + '=([^&#]*)';\r\n    var results = new RegExp(regexStr, 'i').exec(window.location.href);\r\n    return results != undefined ? decodeURIComponent(results[1]) : false;\r\n  };\r\n\r\n  for (var i = 0; i < allInputs.length; i++) {\r\n    var regexStr = \"field\\\\[(\\\\d+)\\\\]\";\r\n    var results = new RegExp(regexStr).exec(allInputs[i].name);\r\n    if (results != undefined) {\r\n      allInputs[i].dataset.name = window.cfields[results[1]];\r\n    } else {\r\n      allInputs[i].dataset.name = allInputs[i].name;\r\n    }\r\n    var fieldVal = getUrlParam(allInputs[i].dataset.name);\r\n\r\n    if (fieldVal) {\r\n      if (allInputs[i].type == \"radio\" || allInputs[i].type == \"checkbox\") {\r\n        if (allInputs[i].value == fieldVal) {\r\n          allInputs[i].checked = true;\r\n        }\r\n      } else {\r\n        allInputs[i].value = fieldVal;\r\n      }\r\n    }\r\n  }\r\n\r\n  var remove_tooltips = function() {\r\n    for (var i = 0; i < tooltips.length; i++) {\r\n      tooltips[i].tip.parentNode.removeChild(tooltips[i].tip);\r\n    }\r\n      tooltips = [];\r\n  };\r\n  var remove_tooltip = function(elem) {\r\n    for (var i = 0; i < tooltips.length; i++) {\r\n      if (tooltips[i].elem === elem) {\r\n        tooltips[i].tip.parentNode.removeChild(tooltips[i].tip);\r\n        tooltips.splice(i, 1);\r\n        return;\r\n      }\r\n    }\r\n  };\r\n  var create_tooltip = function(elem, text) {\r\n    var tooltip = document.createElement('div'), arrow = document.createElement('div'), inner = document.createElement('div'), new_tooltip = {};\r\n    if (elem.type != 'radio' && elem.type != 'checkbox') {\r\n      tooltip.className = '_error';\r\n      arrow.className = '_error-arrow';\r\n      inner.className = '_error-inner';\r\n      inner.innerHTML = text;\r\n      tooltip.appendChild(arrow);\r\n      tooltip.appendChild(inner);\r\n      elem.parentNode.appendChild(tooltip);\r\n    } else {\r\n      tooltip.className = '_error-inner _no_arrow';\r\n      tooltip.innerHTML = text;\r\n      elem.parentNode.insertBefore(tooltip, elem);\r\n      new_tooltip.no_arrow = true;\r\n    }\r\n    new_tooltip.tip = tooltip;\r\n    new_tooltip.elem = elem;\r\n    tooltips.push(new_tooltip);\r\n    return new_tooltip;\r\n  };\r\n  var resize_tooltip = function(tooltip) {\r\n    var rect = tooltip.elem.getBoundingClientRect();\r\n    var doc = document.documentElement, scrollPosition = rect.top - ((window.pageYOffset || doc.scrollTop)  - (doc.clientTop || 0));\r\n    if (scrollPosition < 40) {\r\n      tooltip.tip.className = tooltip.tip.className.replace(\/ ?(_above|_below) ?\/g, '') + ' _below';\r\n    } else {\r\n      tooltip.tip.className = tooltip.tip.className.replace(\/ ?(_above|_below) ?\/g, '') + ' _above';\r\n    }\r\n  };\r\n  var resize_tooltips = function() {\r\n    if (_removed) return;\r\n    for (var i = 0; i < tooltips.length; i++) {\r\n      if (!tooltips[i].no_arrow) resize_tooltip(tooltips[i]);\r\n    }\r\n  };\r\n  var validate_field = function(elem, remove) {\r\n    var tooltip = null, value = elem.value, no_error = true;\r\n    remove ? remove_tooltip(elem) : false;\r\n    if (elem.type != 'checkbox') elem.className = elem.className.replace(\/ ?_has_error ?\/g, '');\r\n    if (elem.getAttribute('required') !== null) {\r\n      if (elem.type == 'radio' || (elem.type == 'checkbox' && \/any\/.test(elem.className))) {\r\n        var elems = form_to_submit.elements[elem.name];\r\n        if (!(elems instanceof NodeList || elems instanceof HTMLCollection) || elems.length <= 1) {\r\n          no_error = elem.checked;\r\n        }\r\n        else {\r\n          no_error = false;\r\n          for (var i = 0; i < elems.length; i++) {\r\n            if (elems[i].checked) no_error = true;\r\n          }\r\n        }\r\n        if (!no_error) {\r\n          tooltip = create_tooltip(elem, \"Please select an option.\");\r\n        }\r\n      } else if (elem.type =='checkbox') {\r\n        var elems = form_to_submit.elements[elem.name], found = false, err = [];\r\n        no_error = true;\r\n        for (var i = 0; i < elems.length; i++) {\r\n          if (elems[i].getAttribute('required') === null) continue;\r\n          if (!found && elems[i] !== elem) return true;\r\n          found = true;\r\n          elems[i].className = elems[i].className.replace(\/ ?_has_error ?\/g, '');\r\n          if (!elems[i].checked) {\r\n            no_error = false;\r\n            elems[i].className = elems[i].className + ' _has_error';\r\n            err.push(\"Checking %s is required\".replace(\"%s\", elems[i].value));\r\n          }\r\n        }\r\n        if (!no_error) {\r\n          tooltip = create_tooltip(elem, err.join('<br\/>'));\r\n        }\r\n      } else if (elem.tagName == 'SELECT') {\r\n        var selected = true;\r\n        if (elem.multiple) {\r\n          selected = false;\r\n          for (var i = 0; i < elem.options.length; i++) {\r\n            if (elem.options[i].selected) {\r\n              selected = true;\r\n              break;\r\n            }\r\n          }\r\n        } else {\r\n          for (var i = 0; i < elem.options.length; i++) {\r\n            if (elem.options[i].selected && !elem.options[i].value) {\r\n              selected = false;\r\n            }\r\n          }\r\n        }\r\n        if (!selected) {\r\n          elem.className = elem.className + ' _has_error';\r\n          no_error = false;\r\n          tooltip = create_tooltip(elem, \"Please select an option.\");\r\n        }\r\n      } else if (value === undefined || value === null || value === '') {\r\n        elem.className = elem.className + ' _has_error';\r\n        no_error = false;\r\n        tooltip = create_tooltip(elem, \"This field is required.\");\r\n      }\r\n    }\r\n    if (no_error && elem.name == 'email') {\r\n      if (!value.match(\/^[\\+_a-z0-9-'&=]+(\\.[\\+_a-z0-9-']+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,})$\/i)) {\r\n        elem.className = elem.className + ' _has_error';\r\n        no_error = false;\r\n        tooltip = create_tooltip(elem, \"Enter a valid email address.\");\r\n      }\r\n    }\r\n    if (no_error && \/date_field\/.test(elem.className)) {\r\n      if (!value.match(\/^\\d\\d\\d\\d-\\d\\d-\\d\\d$\/)) {\r\n        elem.className = elem.className + ' _has_error';\r\n        no_error = false;\r\n        tooltip = create_tooltip(elem, \"Enter a valid date.\");\r\n      }\r\n    }\r\n    tooltip ? resize_tooltip(tooltip) : false;\r\n    return no_error;\r\n  };\r\n  var needs_validate = function(el) {\r\n    return el.name == 'email' || el.getAttribute('required') !== null;\r\n  };\r\n  var validate_form = function(e) {\r\n    var err = form_to_submit.querySelector('._form_error'), no_error = true;\r\n    if (!submitted) {\r\n      submitted = true;\r\n      for (var i = 0, len = allInputs.length; i < len; i++) {\r\n        var input = allInputs[i];\r\n        if (needs_validate(input)) {\r\n          if (input.type == 'text') {\r\n            addEvent(input, 'blur', function() {\r\n              this.value = this.value.trim();\r\n              validate_field(this, true);\r\n            });\r\n            addEvent(input, 'input', function() {\r\n              validate_field(this, true);\r\n            });\r\n          } else if (input.type == 'radio' || input.type == 'checkbox') {\r\n            (function(el) {\r\n              var radios = form_to_submit.elements[el.name];\r\n              for (var i = 0; i < radios.length; i++) {\r\n                addEvent(radios[i], 'click', function() {\r\n                  validate_field(el, true);\r\n                });\r\n              }\r\n            })(input);\r\n          } else if (input.tagName == 'SELECT') {\r\n            addEvent(input, 'change', function() {\r\n              validate_field(this, true);\r\n            });\r\n          } else if (input.type == 'textarea'){\r\n            addEvent(input, 'input', function() {\r\n              validate_field(this, true);\r\n            });\r\n          }\r\n        }\r\n      }\r\n    }\r\n    remove_tooltips();\r\n    for (var i = 0, len = allInputs.length; i < len; i++) {\r\n      var elem = allInputs[i];\r\n      if (needs_validate(elem)) {\r\n        if (elem.tagName.toLowerCase() !== \"select\") {\r\n          elem.value = elem.value.trim();\r\n        }\r\n        validate_field(elem) ? true : no_error = false;\r\n      }\r\n    }\r\n    if (!no_error && e) {\r\n      e.preventDefault();\r\n    }\r\n    resize_tooltips();\r\n    return no_error;\r\n  };\r\n  addEvent(window, 'resize', resize_tooltips);\r\n  addEvent(window, 'scroll', resize_tooltips);\r\n  window._old_serialize = null;\r\n  if (typeof serialize !== 'undefined') window._old_serialize = window.serialize;\r\n  _load_script(\"\/\/d3rxaij56vjege.cloudfront.net\/form-serialize\/0.3\/serialize.min.js\", function() {\r\n    window._form_serialize = window.serialize;\r\n    if (window._old_serialize) window.serialize = window._old_serialize;\r\n  });\r\n  var form_submit = function(e) {\r\n    e.preventDefault();\r\n    if (validate_form()) {\r\n      \/\/ use this trick to get the submit button & disable it using plain javascript\r\n      document.querySelector('#_form_10_submit').disabled = true;\r\n            var serialized = _form_serialize(document.getElementById('_form_10_'));\r\n      var err = form_to_submit.querySelector('._form_error');\r\n      err ? err.parentNode.removeChild(err) : false;\r\n      _load_script('https:\/\/fbahero77513.activehosted.com\/proc.php?' + serialized + '&jsonp=true');\r\n    }\r\n    return false;\r\n  };\r\n  addEvent(form_to_submit, 'submit', form_submit);\r\n})();\r\n<\/script><\/div><\/div>\n\n\n\n<p>Being <strong>convinced by your own product<\/strong>, showing a personal touch, etc. is perfectly fine and can be found in Amazon product description, that\u2019s no problem. <\/p>\n\n\n\n<p>It\u2019s also <strong>all about building trust<\/strong>. Either in you, your product or your brand. People need trust to buy your product in the first place and to come back to this company again.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is important: Product Listing Tips<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Highlight main benefits&nbsp;and why your product is<strong> what the customer is looking for<\/strong><\/li><li>Set yourself apart from the competition by <strong>convincing with quality<\/strong><\/li><li><strong>Use keywords<\/strong> but ensure quality content that makes sense<\/li><li>Satisfaction and <strong>money back guarantee<\/strong> is what many customers want<\/li><\/ul>\n\n\n\n<p>Make sure all parts of your listing are optimized!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>After the title, the images and the bullet points in the listing are optimized, it\u2019s now time to focus on the acutal product description. This article shows you how to optimize the description, how to increase traffic and conversion, what a proper listings looks like and how to write the description. How do I write [&hellip;]<\/p>\n","protected":false},"author":21,"featured_media":61385,"parent":60409,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_lmt_disableupdate":"yes","_lmt_disable":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[],"tags":[],"class_list":{"0":"post-60412","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"entry"},"acf":[],"modified_by":"Niki Stanev","_links":{"self":[{"href":"https:\/\/hellotax.com\/blog\/wp-json\/wp\/v2\/posts\/60412","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hellotax.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hellotax.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hellotax.com\/blog\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/hellotax.com\/blog\/wp-json\/wp\/v2\/comments?post=60412"}],"version-history":[{"count":0,"href":"https:\/\/hellotax.com\/blog\/wp-json\/wp\/v2\/posts\/60412\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/hellotax.com\/blog\/wp-json\/wp\/v2\/posts\/60409"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hellotax.com\/blog\/wp-json\/wp\/v2\/media\/61385"}],"wp:attachment":[{"href":"https:\/\/hellotax.com\/blog\/wp-json\/wp\/v2\/media?parent=60412"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hellotax.com\/blog\/wp-json\/wp\/v2\/categories?post=60412"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hellotax.com\/blog\/wp-json\/wp\/v2\/tags?post=60412"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}