Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

/wiki/spaces/ICS/pages/1973518350 Various parts of our referral and tracking flows rely on the use of cookies. The Campaign Referral Widget and the JSSDK employ 1st party cookies to enhance user experience, track invitations to credit the inviter for special promotions, and to collect analytics to help us improve our product. No sensitive information (passwords, emails, names, or other PII) are ever stored as cookies. All ICS cookies are prefixed with _ics_* to easily distinguish our cookies from other cookies. The only cookie that is not prefixed that way is the invite cookie which is used for our legacy widget (ICS WIDGET V1) when using the JSSDK integration method. These cookies are never sold or sent to other services outside of Ice Cream Social products.

Below is a list of cookies we set and monitor during a user’s journey on a client’s web platform.

Cookies

For a brief explanation of cookies and how they work, please read this.

Name

Expires

Value

Set when

Description

invite

  • 30,000,000 s OR

  • after checkout (need to verify this)

Invite String

  • the URL includes an inviteId query param

  • the ICS script is loaded on the page

Strictly used for compatibility with V1 links generated by the legacy widget. This cookie remains for about a year after it is set or until the addTransaction command is fired using the V1 ICS integration. Checking out while this cookie is active allows us to credit the influencer that had sent an invite to this customer to be credited towards their reward goal.

_ics_invite

1 day

Invite ID

  • the URL includes an inviteId query param

  • the URL includes a utm_source query param with a value of ice_cream_social

  • the JSSDK is loaded on the page

The main cookie used for crediting an influencer for a conversion. This cookie is only set if the required UTM parameters are included.

_ics_campaign

1 day

Campaign ID

  • the URL includes a utm_campaign query param

  • the URL includes a utm_source query param with a value of ice_cream_social

  • the JSSDK is loaded on the page

This cookie is used in the event that a client has multiple campaigns configured for their site. Whatever campaign gets set here will be the “active“ campaign and all rewards will be credited towards the influencers in that campaign.

** This feature is not complete, but something we are working towards

_ics_influencer

1 day

Influencer ID

  • the URL includes a utm_mediumquery param

  • the URL includes a utm_source query param with a value of ice_cream_social

  • the JSSDK is loaded on the page

** This feature is not complete, but something we are working towards. This may be needed when we complete our “global” influencers features or for validating influencers before we credit them

_ics_openedOn

Session

Timestamp

  • the ICS script is loaded on the page

  • the widget is toggled from a hidden state to visible state either automatically or by user interaction

This is a cookie that is set for product analytics purposes. This is helpful to figure out how soon users are seeing the widget (if at all) and how long they see it. This can also be used for debugging purposes as timestamps can help us identify what fired (or was supposed to fire) around that time.

_ics_dimissedOn

Session

Timestamp

  • the ICS script is loaded on the page

  • the widget is toggled from a visible state to hidden state either automatically or by user interaction

This is a cookie that is set for functional and product analytics purposes. One configuration option for the JSSDK is to open the widget automatically once the script loads. If the script is loaded on every single page, the widget will appear every time the user navigates. This can be a detrimental user experience resulting in higher bounce rates and lower conversion rates. This cookie is set in order to prevent this behavior from happening, allowing for an uninterrupted user experience.

For analytics purposes, this is helpful to figure out how long a user viewed the widget before they dismissed it. This can also be used for debugging purposes as timestamps can help us identify what fired (or was supposed to fire) around that time.