1. Help Center
  2. ShoeAI Documentation
  3. 1) ShoeAI Scripts (all mandatory)

ShoeAI Loader Script

The ShoeAI Loader Script is the primary script of the ShoeAI experiences across your online store. This Script is placed on the PDP, PLP, Landing Page, and all pages where the ShoeAI experiences are available to shoppers.

 

Place this script before the closing </body> tag

<script type="text/javascript" async src="https://shoesize.me/assets/plugin/loader.js" />

 

Setting up Loader Script parameters

There are two options for setting up the parameters.

Option 1. Defining the ShoeSizeMe_loader.settingParams object.

Define a ShoeSizeMe_loader object containing a "settingParams" key defined as an object containing the mandatory and optional attributes.

<script>
ShoeSizeMe_loader = {
settingParams:{
  shopID:"SHOP_ID",
locale:"en",
zeroHash:"xxxxxxxxxx",
scale:"eu",
kids: true,
targetGender: "male"
}
}
</script>
<script type="text/javascript" async src="https://shoesize.me/assets/plugin/loader.js" />

Option 2. Define an Object inside the loader script

Place the JSON inside the script tag. 

<script type="text/javascript" async src="https://shoesize.me/assets/plugin/loader.js">
{
shopID:"SHOP_ID",
locale:"en",
zeroHash:"xxxxxxxxxx",
scale:"eu",
 kids: true,
targetGender: "male"
}
</script>

Mandatory attributes

Static

Attribute Type Description Example
shopID Number Shop Id provided by ShoeAI to you. (Request it via support@shoesize.me) 123456

Dynamic

The following mandatory attributes can change depending on which page the user currently is:

Attribute Type Description Example
locale String The language displayed inside ShoeAI "en","es","de"
scale String Shoe scale used for products  "us", "uk", "eu"
zeroHash String Hashed customer email. If not available leave it as an empty string e925cf32f2e201ba1ae938b9bd703d54
kids boolean Enable / Disable the kid option inside the touchpoint experience. If you sell kids shoes, set to true. true / false
targetGender String Determines which reference gender is pre-selected in ShoeAI UI (first page top bar).  You can enter "male" as default. For a PLP that lists women's shoes set it to"female". For a PLP that lists kids' shoes set "kids". "male", "female" or "kids"

Example Mandatory Attributes:

{
shopID:"SHOP_ID",
locale:"en",
zeroHash:"xxxxxxxxxx",
scale:"eu",
kids: false,
targetGender: "female"
}

Optional attributes

These are the optional attributes you can add to the PDP, PLP and/or Landing Page script to customize the experience:

Attribute Type Description
init boolean If set to false the loader will not initialize itself. 
To initialize manually call ShoeSizeMe_loader.init()
action boolean Used on PLP, if set to false it prevents the ShoeAi label from opening the experience on click. 
outputGender String Determines the target gender output on the recommendation page.  ( "male" or  "female" )
logs boolean Enable / Disable console logs

Example Optional Attributes:

{
...
init: false,
 action: false,
 outputGender: "female",
logs: false
}

Callback Attributes

Callback functions are used to get the data required to enable different ShoeAI outcomes.
E.g. Add-size-to-cart, new size recommendation, size-sold-out redirection. 

To see a full list of the callbacks payloads available, click the name of the Attribute listed below: 

Attribute Triggered when..
newRecommendation a shoe get a recommendation
inCart the user clicks "Add to cart" from within the experience
alternatives the user is recommended a size that is sold out and clicks the re-directing button
touchpoint the user completes the ShoeAI UI on landing page and clicks "to your results"

Example:

{
...
newRecommendation: function(data){},
inCart: function(data){},
alternatives: function(data){},
touchpoint: function(data){}
}

Attributes options

// Locale

ar
cs
da
de
de-CH
de-CH-formal
de-formal
el
en
en
es
fi
fr
fr-formal
it
ka
nl
pt-BR
ru
sk-SK
sv-SE
tr-TR
zh
zh-TW


// Scale

eu
uk
us
bra
js
tw
cl
col
arg
it
fr
de
rus
mx
aus
chn
kr
rwm


IN CART PAYLOAD

The relevant parameters to add the product to the cart are scale and recom_size.

{
 "shoe_id":"700",
   "scale":"eu",
   "available":true,
   "gender":"male",
   "recom_size":{
      "target_gender":"unisex",
      "eu":"42.0",
      "style_eu":"",
      "uk":"8.5",
      "style_uk":"",
      "us_m":"8.5",
      "style_us_m":"",
      "us_w":"10.5",
      "style_us_w":"",
      "jp":"27.0",
      "style_jp":"",
      "bra":"40.0",
      "style_bra":"",
      "arg":"",
      "style_arg":"",
      "tw":"",
      "style_tw":"",
      "chn":"42.0",
      "style_chn":"",
      "cl":"41.0",
      "style_cl":"",
      "col":"40.0",
      "style_col":"",
      "rus":"",
      "style_rus":"",
      "mx":"",
      "style_mx":"",
      "aus_m":"",
      "style_aus_m":"",
      "aus_w":"",
      "style_aus_w":"",
      "kr":"280.0",
      "style_kr":"",
      "it":"42.0",
      "style_it":"",
      "fr":"",
      "style_fr":null,
      "de":"",
      "style_de":"",
      "mp":"",
      "style_mp":"",
      "rmw_m":"",
      "style_rmw_m":"",
      "rmw_w":"",
      "style_rmw_w":"",
      "sample_sizes":0
 },
   "user":{
      "gender":"male",
      "yearOfBirth":null,
"footWidth":"width_normal",
      "footArch":1,
      "footType":"type_normal",
    "status":"recognised",
      "last_session_click":"2022-10-18T10:19:33.907+00:00",
  "auth_token":"12345678",
      "first_name":"Anonymous",
      "locale":"en",
      "scale":"eu",
      "brand":{
         "id":1969,
       "name":"Adidas",
      "image":"https://st-plugin.shoesize.me/..."
      },
    "model":{
         "id":862288,
         "name":"Samba",
       "image":"https://st-plugin.shoesize.me/..."
      },
    "ref_size":{
         "id":32830,
         "eu":42,
         "uk":8,
         "us_m":8.5,
         "jp":26.5,
         "rus":40.5,
         "col":39.5,
         "arg":40,
         "cl":40.5,
         "mx":6.5,
         "bra":40,
         "aus_m":8.5,
         "chn":260,
         "it":42
      },
      "ref_scale":"eu",
    "ref_category_id":null,
      "size":{
         "id":32830,
         "eu":"42.0",
         "uk":"8.0",
         "us_m":"8.5",
         "us_w":"9.5",
         "jp":"26.5",
         "bra":"40.0",
         "arg":"40.0",
         "tw":"",
         "chn":"260.0",
         "cl":"40.5",
         "col":"39.5",
         "rus":"40.5",
         "mx":"6.5",
         "aus_m":"8.5",
         "aus_w":"9.5",
         "kr":"",
         "it":"42.0",
         "fr":"",
         "de":"",
         "mp":"",
         "rmw_m":"",
         "rmw_w":""
    }
 }
}

 

ALTERNATIVES PAYLOAD

{
  "shoe_id": "700",
    "scale": "eu",
    "available": "none",
    "gender": "male",
    "recom_size": {
        "target_gender": "unisex",
        "eu": "none",
        "style_eu": "none",
        "uk": "none",
        "style_uk": "none",
        "us_m": "none",
        "style_us_m": "none",
        "us_w": "none",
        "style_us_w": "none",
        "jp": "none",
        "style_jp": "none",
        "bra": "none",
        "style_bra": "none",
        "arg": "none",
        "style_arg": "none",
        "tw": "none",
        "style_tw": "none",
        "chn": "none",
        "style_chn": "none",
        "cl": "none",
        "style_cl": "none",
        "col": "none",
        "style_col": "none",
        "rus": "none",
        "style_rus": "none",
        "mx": "none",
        "style_mx": "none",
        "aus_m": "none",
        "style_aus_m": "none",
        "aus_w": "none",
        "style_aus_w": "none",
        "kr": "none",
        "style_kr": "none",
        "it": "none",
        "style_it": "none",
        "fr": "none",
        "style_fr": "none",
        "de": "none",
        "style_de": "none",
        "mp": "none",
        "style_mp": "none",
        "rmw_m": "none",
        "style_rmw_m": "none",
        "rmw_w": "none",
        "style_rmw_w": "none"
  },
    "user": {
        "gender": "male",
        "yearOfBirth": null,
        "footWidth": "width_normal",
      "footArch": 1,
        "footType": "type_normal",
        "birthYear": null,
        "status": "recognised"
        "brand": {
            "id": 1969,
            "name": "Adidas"
        },
      "brandSrc": "https://plugin.shoesize.me/brands/1969/thumb_071a0d49-617e-43ff-a374-f0facdf079e4.jpg",
        "model": {
            "id": 862288,
            "name": "Samba",
            "image": "https://st-plugin.shoesize.me/plugin/top_shoes/Samba_862288-d9d6536233de51d190a6740ce0f808e7.jpg"
        },
      "ref_size": {
            "id": 22998240,
            "eu": 55.66,
            "style_eu": "55 2/3",
            "uk": 19,
            "us_m": 20
        },
        "ref_scale": "eu",
        "ref_size_id": 22998240,
        "ref_category_id": null,
        "last_session_click": "2022-10-18T12:38:46.281+00:00",
      "auth_token": "12345678",
        "first_name": "Anonymous",
        "locale": "en",
        "scale": "eu",
        "size": {
            "id": 22998240,
            "eu": "55 2/3",
            "uk": "19.0",
            "us_m": "20.0",
            "us_w": "",
            "jp": "",
            "bra": "",
            "arg": "",
            "tw": "",
            "chn": "",
            "cl": "",
            "col": "",
            "rus": "",
            "mx": "",
            "aus_m": "",
            "aus_w": "",
            "kr": "",
            "it": "",
            "fr": "",
            "de": "",
            "mp": "",
            "rmw_m": "",
            "rmw_w": ""
      }
  }
}

 

TOUCHPOINT PAYLOAD


{
  "pages": {
    "gender": {
      "value": "men",
      "map_value": "male"
    },
    "shoe_type": {
      "value": "shell_cordovan",
      "map_value": null
    }
  },
  "reference_shoe": {
    "brand": {
      "name": "Adidas",
      "id": 1969
    },
    "model": {
      "name": "Samba",
    "src": "https://plugin.shoesize.me/top_shoes/Samba_862288-d9d6536233de51d190a6740ce0f808e7.jpg",
      "id": 862288,
      "is_category": false
    },
    "size": {
      "size": {
        "id": 32788,
        "eu": 40,
        "uk": 6.5,
        "us_m": 7,
        "jp": 25,
        "rus": 38.5,
        "col": 37.5,
        "arg": 38,
        "cl": 39,
        "mx": 5,
        "bra": 38,
        "aus_m": 7,
        "chn": 245,
        "it": 40
      },
      "scale": "eu"
    }
  },
  "user": {
    "gender": 0,
    "year_of_birth": null,
    "foot_width": 1,
    "foot_arch": 1,
    "user_type": 0
  }
}

 

newRecommendation PAYLOAD

The relevant parameters to add the product to the cart are scale and recom_size.

{
  "shoeId": "P173026",
  "size": {
    "target_gender": "kids_unisex",
    "eu": "none",
    "style_eu": "none",
    "uk": "none",
    "style_uk": "none",
    "us_m": "none",
    "style_us_m": "none",
    "us_w": "none",
    "style_us_w": "none",
    "jp": "none",
    "style_jp": "none",
    "bra": "none",
    "style_bra": "none",
    "arg": "none",
    "style_arg": "none",
    "tw": "none",
    "style_tw": "none",
    "chn": "none",
    "style_chn": "none",
    "cl": "none",
    "style_cl": "none",
    "col": "none",
    "style_col": "none",
    "rus": "none",
    "style_rus": "none",
    "mx": "none",
    "style_mx": "none",
    "aus_m": "none",
    "style_aus_m": "none",
    "aus_w": "none",
    "style_aus_w": "none",
    "kr": "none",
    "style_kr": "none",
    "it": "none",
    "style_it": "none",
    "fr": "none",
    "style_fr": "none",
    "de": "none",
    "style_de": "none",
    "mp": "none",
    "style_mp": "none",
    "rmw_m": "none",
    "style_rmw_m": "none",
    "rmw_w": "none",
    "style_rmw_w": "none"
  },
  "recom_size": {
    "target_gender": "kids_unisex",
    "eu": "none",
    "style_eu": "none",
    "uk": "none",
    "style_uk": "none",
    "us_m": "none",
    "style_us_m": "none",
    "us_w": "none",
    "style_us_w": "none",
    "jp": "none",
    "style_jp": "none",
    "bra": "none",
    "style_bra": "none",
    "arg": "none",
    "style_arg": "none",
    "tw": "none",
    "style_tw": "none",
    "chn": "none",
    "style_chn": "none",
    "cl": "none",
    "style_cl": "none",
    "col": "none",
    "style_col": "none",
    "rus": "none",
    "style_rus": "none",
    "mx": "none",
    "style_mx": "none",
    "aus_m": "none",
    "style_aus_m": "none",
    "aus_w": "none",
    "style_aus_w": "none",
    "kr": "none",
    "style_kr": "none",
    "it": "none",
    "style_it": "none",
    "fr": "none",
    "style_fr": "none",
    "de": "none",
    "style_de": "none",
    "mp": "none",
    "style_mp": "none",
    "rmw_m": "none",
    "style_rmw_m": "none",
    "rmw_w": "none",
    "style_rmw_w": "none"
  },
  "scale": "eu",
  "available": "none",
  "gender": null,
  "kidsshoe": true
}