The Stand-alone widget allows your customers to simply visiting your site to click on an "Offer" page or "Referral Program" page and start sharing and inviting their friends and colleagues without having to place an order.


This is useful for linking up your email confirmation receipts to your Offer or Ambassador page as well.

You can and should also include your offer text and your link to your Offer or Ambassador page in any monthly marketing email newsletters as best practice.

1. Log in to your website content management platform.
2. Create a new page called "Referral Program" or "Ambassador Program"
3. Copy the HTML or JavaScript code below and make sure to change out your CLIENT_PUBLIC_KEY and your CAMPAIGN_ID. You can get this information by clicking "EDIT" on your campaign view.


EMBED OPTIONS 


Option 1: Offer Overlay in Modal: Click to see example: 

<script>
var ICSCookie = null;
    var ICSCookieObject = null;

 function getICSCookie() {
    var allCookies = document.cookie;
    var regex = /invite=([a-zA-Z0-9%]+)/;
    var matches = allCookies.match(regex);
    if (matches) {
      ICSCookie =  matches[0];
    } 
  };
getICSCookie();
ICSCookieObject = Object.fromEntries(new URLSearchParams(ICSCookie));

(function(i,s,r,publicKey,campaignId,a,m,frame,bodyChild){
    i['IceCreamSocialObject'] = r;
    i[r] = i[r] || function(){( i[r].q = i[r].q||[]).push(arguments)},   i[r].l = +new Date();
    a = s.createElement('script'), m = s.scripts[0];
    a.async = a.src = 'https://app.icecreamsocial.io/js/ics.js';
    m.parentNode.insertBefore(a,m);
    frame = s.createElement('iframe'), bodyChild = s.body.firstChild;
    frame.src = 'https://app.icecreamsocial.io/?campaignId='+campaignId+'&publicKey='+publicKey;
    frame.id='SocialIframe', frame.style.cssText = 'position:fixed;height:0%;width:0%;z-index:9999;border: 0';
    bodyChild.parentNode.insertBefore(frame,bodyChild);
})(window ,document ,'ics', 'CLIENT_PUBLIC_KEY', 'CAMPAIGN _ID');

ics('participation', {
    getOrCreateInfluencer: true, 
    trackByInvite: true, 
});
</script>



Option 2: Embedded in-line offer: Click to see example: 

<div style="height: 600px; width: 100%;">
<div id="ICS">
<script>
document.getElementsByTagName("body")[0].style = "overflow: visible !important";
      var ICSCookie = null;
      var ICSCookieObject = null;
    
    function getICSCookie() {
      var allCookies = document.cookie;
      var regex = /invite=([a-zA-Z0-9%]+)/;
      var matches = allCookies.match(regex);
      if (matches) {
        ICSCookie =  matches[0];
      }
    };
    getICSCookie();
    ICSCookieObject = Object.fromEntries(new URLSearchParams(ICSCookie));
    
    (function(i,s,r,publicKey,campaignId,a,m,frame,bodyChild){
      i['IceCreamSocialObject'] = r;
      i[r] = i[r] || function(){( i[r].q = i[r].q||[]).push(arguments)},   i[r].l = +new Date();
      a = s.createElement('script'), m = s.scripts[0];
      a.async = a.src = 'https://app.icecreamsocial.io/js/ics.js';
      m.parentNode.insertBefore(a,m);
      frame = s.createElement('iframe'), bodyChild = document.getElementById("ICS");
      frame.src = 'https://app.icecreamsocial.io/?campaignId='+campaignId+'&publicKey='+publicKey;
      frame.id='SocialIframe', frame.style.cssText = 'height:100%;width:100%;border: 0;'
      bodyChild.parentNode.insertBefore(frame,bodyChild);
    })(window ,document ,'ics', 'CLIENT_PUBLIC_KEY', 'CAMPAIGN_ID');
    
    ics('participation', {
      getOrCreateInfluencer: true,
      trackByInvite: true,
    });
</script>
</div>
</div>