<img src="//marketing.net.specsfactory.co.uk/ts/i4111477/tsc?sid=!!siteId!!&amp;rrf=!!HTTP_referer!!&amp;rmd=0" width="1" height="1" border="0" style="display:none;">

Join SpecsFactory Club for free now and save over £180 on our single vision dual-offer and save even more!

Advantages to membership:

  • Welcome gift worth over £180
  • Members-only 60% discount on all eyewear
  • Early access to new frame styles 
  • More special offers and discounts exclusive to members 
client-icon-tra-100x100

Register and become a member for free! LIMITED TIME ONLY!
mail-icon-tra-100x100

Receive your membership via SMS or email and get your welcome gift.
choose-offer-icon-tra-100x100

Choose your special club membership-offer.
calendar-icon-tra-100x100

Book your appointment at your preferred Specsfactory optician.
frame-icon-tra-100x100

Order your membership-specs with special advantages.

discount-icon-tra-100x100

Receive exclusive member only offers on a regular basis!
{% if module.country == "Germany" %} Wir haben Ihre Registrierung entgegengenommen und bearbeiten diese gerade. Wenn Sie eine weitere Registrierung vornehmen möchten, rufen Sie uns bitte an: 030 - 220 564 030; Mo - Fr 8 bis 20 Uhr, Sa 9 bis 16 Uhr. {% elif module.country == "Italy" %} Grazie per il tuo interesse nei nostri prodotti! Ci risulta che tu sia già registrato a una delle nostre offerte. Se sei interessato a ricevere ulteriori informazioni riguardo ad altre offerte, chiama il nostro Servizio Clienti al numero 0471-1660212. Siamo raggiungibili tutti i giorni dalle 8:00 alle 22:00. {% elif module.country == "Spain" %} Gracias por tu interés en gafas.es. Ya te has registrado correctamente en una de nuestras ofertas. Si estás interesado/a en otras promociones, llámanos al número gratuito 900 80 22 90. Nuestras líneas están abiertas de 8:30 a 21:00 de lunes a viernes y los fines de semana de 9:00 a 14:00 y de 17:00 a 21:00. {% elif module.country == "Austria" %} Vielen Dank für Ihr Interesse an unserem Produkt. Sie werden in Kürze einen Anruf von unserem Kundenservice erhalten. Anscheinend haben Sie sich bereits für ein Angebot registriert. Bitte warten Sie 10 Minuten, um erneut eine Registrierung abschließen zu können. {% elif module.country == "UK" %} Thank you for your interest in our exclusive glasses. We noticed that you recently registered for one of our product offers. If you are also interested in some of the other products we offer, just feel free to give us a call on 0203 808 8946. We are available Mon-Fri from 8am to 8pm and Sat from 9am to 4pm. {% elif module.country == "US" %} Thank you for your interest in our exclusive glasses. We noticed that you recently registered for one of our product offers. If you are also interested in some of the other products we offer, just feel free to give us a call on 1-800-884-8185. We are available Mon-Sat from 8am to 8pm. {% else %} {% endif %}
{% else %} var setMessageNew = ''; {% if widget.after_form_msg %} setMessageNew = 'New content for block form'; {% endif %} hbspt.forms.create({ portalId: '{{ hub_id }}', formId: '{{ widget.form_id }}', target: '{{ widget.css_class_name }}', redirectUrl: redirect_url, inlineMessage: setMessageNew, onFormReady: function($form, ctx) { {% if widget.enable_zip_code_checking %} {% if widget.country == "Germany" %} $('input[name="zip"]').prop("maxlength", 5); {% else if widget.country == "Italy" %} $('input[name="zip"]').prop("maxlength", 5); {% else if widget.country == "Spain" %} $('input[name="zip"]').prop("maxlength", 5); {% else if widget.country == "Austria" %} $('input[name="zip"]').prop("maxlength", 4); {% else if widget.country == "UK" %} $('input[name="zip"]').prop("maxlength", 8); {% endif %} //$('input[name="zip"]').prop("type", "number"); //$('input[name="zip"]').prop("pattern", "[0-9]"); {% endif %} {% if widget.zipcheck_valid_for_country %} $(':input[type="submit"]').prop('disabled', true); checkZipinDb($('input[name="zip"]').val(), '{{widget.country}}'); $('input[name="zip"]').keyup(function() { $(':input[type="submit"]').prop('disabled', true); checkZipinDb($('input[name="zip"]').val(), '{{widget.country}}'); }); {% endif %} {% if widget.is_neuroeyes %} updateDropdownForNeuroeyes(); {% endif %} {% if widget.enable_optician_selection %} // If the customer has the postcode already set (cookie) updateOpticianList($('input[name="zip"]').val()); // keyup event on postcode $('input[name="zip"]').keyup(function() { updateOpticianList($('input[name="zip"]').val()); }) {% endif %} {% if widget.store_3_nearest_opticians %} var geocoder = new google.maps.Geocoder(); geocoder.geocode({ 'address': "{{ request.query_dict.zip }}" + ", {{ widget.country }}"}, function(results, status) { console.log(status); if (status == 'OK') { $.ajax({ url: "https://api.hubapi.com/hubdb/api/v1/tables/{{ widget.optician_table_id }}/rows?portalId={{ hub_id }}&orderBy=geo_distance(Location," + results[0].geometry.location.lat() + "," + results[0].geometry.location.lng() + ")&limit=3" }).then(function(data) { for (var i = 0; i < 3; i++) { var info = "" + data.objects[i].values[1] + "

" + data.objects[i].values[6] + "
" + data.objects[i].values[4] + " " + data.objects[i].values[5]; $('input[name="zip_nearby' + (i + 1) + '"]').val(info); } }); } }); {% endif %} {% if widget.allow_appointment %} var getStoreId = 'optician_id-{{ widget.form_id }}'; var getFree = 'freedatelist-{{ widget.form_id }}'; var getTime = 'freetimelist-{{ widget.form_id }}'; $('select[name="freetimelist"]').empty(); $('select[name="freedatelist"]').empty(); $('select[name="freedatelist"]').append(''); $('select[name="freetimelist"]').append(''); $('#'+getStoreId).change(function() { var store = generateNoteFormat($('#'+getStoreId).val()); if(store.length >=4){ $('#'+getFree).prop('disabled', 'disabled'); $('select[name="freetimelist"]').empty(); $('select[name="freedatelist"]').empty(); $.ajax({ url: 'https://api-gw.supervista.net/calendar-test/de/onlineappointment/findfreedates?store='+store+'&flagtype=0&hsonline=yes', contentType: "application/json", dataType: 'json', type: "POST", beforeSend: function(xhr){xhr.setRequestHeader('x-api-key', 'PIbefJ09WM1mchJcn7EGxFZ5u5Hyn749W4406tA2');}, success: function(data){ $('select[name="freedatelist"]').append(''); $.each(data.result, function(k, v) { $('select[name="freedatelist"]').append(''); }); $('#'+getFree).prop('disabled', false); } }) } }); $('#'+getFree).change(function() { var store = generateNoteFormat($('#'+getStoreId).val()); var getDate = $('#'+getFree).val(); $('#'+getTime).prop('disabled', 'disabled'); $('select[name="freetimelist"]').empty(); $.ajax({ url: 'https://api-gw.supervista.net/calendar-test/de/onlineappointment/findfreetime?store='+store+'&date='+getDate+'&flagtype=0&hsonline=yes', contentType: "application/json", dataType: 'json', type: "POST", beforeSend: function(xhr){xhr.setRequestHeader('x-api-key', 'PIbefJ09WM1mchJcn7EGxFZ5u5Hyn749W4406tA2');}, success: function(data){ $('select[name="freetimelist"]').append(''); $.each(data.result, function(k, v) { $('select[name="freetimelist"]').append(''); }); $('#'+getTime).prop('disabled', false); } }) }); {% endif %} }, onFormSubmit: function($form) { {% if module.enable_phone_prefix_selection %} var phoneNumber = $('input[name="phone"]').val().replace(/[^\+\d]/gi, ''); var phonePrefix = $('select[name="phone_prefix"]').val(); var zipCode = $('input[name="zip"]').val(); console.log("PREFIX4:", phoneNumber, phonePrefix); if (phoneNumber.substring(0, 1) != "+") { switch (phonePrefix) { case "+49": var fourNineZipCodes = ['26844', '26831', '26789', '26529', '26721', '26757', '26736', '26802', '26759', '26632', '26506', '26548', '26553', '26571', '26532', '26524', '26579', '26603', '26624', '26629', '26639', '26835', '26826', '26817', '26810', '26670', '26847', '26871', '26892', '26899', '26903', '26909', '26427', '26465', '26409', '26556', '26474', '26487', '26723', '26725', '26607', '26605']; if (phoneNumber.charAt(0) === "0" && phoneNumber.charAt(1) !== "0") phoneNumber = phonePrefix + phoneNumber.substring(1); else if (phoneNumber.substring(0, 2) === "00") phoneNumber = "+49" + phoneNumber.substring(2); else if ((phoneNumber.substring(0, 2) === "49") && (!fourNineZipCodes.includes(zipCode))) phoneNumber = phonePrefix + phoneNumber.substring(2); else phoneNumber = phonePrefix + phoneNumber; break; case "+43": var fourThreeZipCodes = ['9400', '9433', '9451', '9462', '9463', '9470', '9473']; if (phoneNumber.charAt(0) === "0" && phoneNumber.charAt(1) !== "0") phoneNumber = phonePrefix + phoneNumber.substring(1); else if (phoneNumber.substring(0, 2) === "00") phoneNumber = "+43" + phoneNumber.substring(2); else if ((phoneNumber.substring(0, 2) === "43") && (!fourThreeZipCodes.includes(zipCode))) phoneNumber = phonePrefix + phoneNumber.substring(2); else phoneNumber = phonePrefix + phoneNumber; break; case "+44": if (phoneNumber.charAt(0) === "0" && phoneNumber.charAt(1) !== "0") phoneNumber = phonePrefix + phoneNumber.substring(1); else if (phoneNumber.substring(0, 2) === "00") phoneNumber = "+44" + phoneNumber.substring(2); else phoneNumber = phonePrefix + phoneNumber; break; default: phoneNumber = phonePrefix + phoneNumber; break; } $('input[name="phone"]').val(phoneNumber); console.log("PREFIX-DONE:", phoneNumber); } {% endif %} {% if widget.birthday_selection %} var birthDay = $('select[name="day"]').val(); var birthMonth = $('select[name="month"]').val(); var birthYear = $('select[name="year"]').val(); var customerage = 0; var birthday = new Date(birthYear+'-'+birthMonth+'-'+birthDay); var ageDifMs = Date.now() - birthday.getTime(); var ageDate = new Date(ageDifMs); var customerageMain = Math.abs(ageDate.getUTCFullYear() - 1970); customerage = (customerageMain>=70)?70:customerageMain; $('input[name="age"]').val(customerage); {% endif %} {% if widget.append_form_data_to_url %} var $hsContext = $form.find("input[name='hs_context']"); var hsContext = JSON.parse($hsContext.val()); var data = {}; $.each($form.serializeArray(), function (i, item) { if (item.name !== "hs_context") { data[item.name] = item.value; } }); if (hsContext.redirectUrl) { if (hsContext.redirectUrl.match(/\?/)) { hsContext.redirectUrl += "&" + $.param(data); } else { hsContext.redirectUrl += "?" + $.param(data); } } $hsContext.val(JSON.stringify(hsContext)); {% endif %} {% if widget.store_product_in_cookie %} createCookie("supervista_product", $('select[name="product_choice"]').val(), 1); {% endif %} {% if module.enable_phone_number_formatting %} var phoneNumer = $('input[name="phone"]').val(); {% if widget.country == "Germany" %} var phoneObj = libphonenumber.parsePhoneNumberFromString(phoneNumer, 'DE'); {% else if widget.country == "Italy" %} var phoneObj = libphonenumber.parsePhoneNumberFromString(phoneNumer, 'IT'); {% else if widget.country == "Spain" %} var phoneObj = libphonenumber.parsePhoneNumberFromString(phoneNumer, 'ES'); {% else if widget.country == "Austria" %} var phoneObj = libphonenumber.parsePhoneNumberFromString(phoneNumer, 'AT'); {% else if widget.country == "UK" %} var phoneObj = libphonenumber.parsePhoneNumberFromString(phoneNumer, 'UK'); {% endif %} if ((phoneObj) && (phoneObj.isValid())) $('input[name="phone"]').val(phoneObj.format("E.164")); {% endif %} {% if widget.enable_optician_selection %} var optician_id = $('select[name="optician_id"]').val(); var data = $('select[name="optician_id"]').data(); var optician = data.sv_optician_data.find(function(element) { return element.values[16] === optician_id; }); $('input[name="optician_id_ticket_system"]').val("0" + optician.values[16]); $('input[name="optician_title"]').val(optician.values[1]); $('input[name="optician_address"]').val(optician.values[4] + " " + optician.values[5] + ", " + optician.values[6]); $('input[name="optician_address_addition"]').val(optician.values[7]); {% endif %} {% if widget.allow_appointment %} var dataPass = {}; $.each($form.serializeArray(), function (i, item) { if (item.name !== "hs_context") { dataPass[item.name] = item.value; } }); $.ajax({ url: 'https://api-gw.supervista.net/calendar-test/de/onlineappointment/bookingappointment?'+$.param(dataPass)+'&hsonline=yes', contentType: "application/json", dataType: 'json', data : '', type: "POST", beforeSend: function(xhr){xhr.setRequestHeader('x-api-key', 'PIbefJ09WM1mchJcn7EGxFZ5u5Hyn749W4406tA2');}, success: function(data){ } }) {% endif %} $('input[name="lead_id"]').val(lead_id); } }); {% endif %}
60-discount-icon-uk

Our Premium Single Vision offer for mySpecs members: 

1 pair of single vision lenses plus 1 pair of single vision sunglasses, made of lightweight organic material with your prescription and fashionable frames of your choice*

Exclusive for mySpecs club £99* instead of £285

more-then-1-million-clients-europe
max-data-security


*  The SpecsFactory list price for 4 premium single-vision glasses (CR39, lightweight organic material, index 1.5) and 2 SpecsFactory frames (selection may vary), each worth £75 = £285. Also included: 12-month eyeglass insurance in case prescription changes (min 0.50 diopters) and frame breakage from date of purchase with a deductible 25%. Eye-test according to standard procedures at a fee of £25, full eye exam also available at additional cost. Delivery range and individualisation as far as technically possible up to index 1.67 and while stock lasts. Index 1.74 (SpecsFactory recommendation from 10 diopters) available for £90 pr. pair and photoVision available for £90 pr. pair. The price advertised is personal and cannot be shared; all 2 glasses must be ordered on the same day. This offer excludes combination with previously purchased single vision glasses. This offer is valid until 31.12.2020. Both the duration of the offer and the quantity may subject to change by SuperVista AG. This is an offer by SpecsFactory Germany Ltd, Mittenwalder Str. 9, 12529 Schönefeld - Germany. This offer may not be combined with other discounts and promotions.