Systems and Methods for Personalization for Digital Displayed Media
In some embodiments, a method can comprise using personalization logic configured to be adaptable among two or more channels to evaluate one or more user conditions of a user to determine one or more user segment and evaluate an experience based at least in part on the one or more user segments. The method may further comprise executing, on a webserver, the personalization logic when the user visits a channel of the two or more channels in order to facilitate display of personalized content based at least in part on the experience wherein each of the two or more channels comprise a channel type of a website channel type or a non-website channel type, wherein the non-website channel type comprises applications and internet capable devices and the channel type of at least one of the two or more channels is a non-website channel type.
1 . A system for personalization of digital displayed media comprising:
one or more processing modules; and
one or more non-transitory storage modules storing computing instructions configured to run on the one or more processing modules and perform acts of:
using personalization logic configured to be adaptable among two or more channels to:
evaluate one or more user conditions of a user to determine one or more user segments; and
evaluate an experience based at least in part on the one or more user segments; and
executing, on a webserver, the personalization logic when the user visits a channel of the two or more channels in order to facilitate display of personalized content based at least in part on the experience wherein:
each of the two or more channels comprise a channel type of:
a website channel type; or
a non-website channel type, wherein the non-website channel type comprises applications and internet capable devices; and
the channel type of at least one of the two or more channels is a non-website channel type.
2 . The system of claim 1 , wherein evaluating the one or more user conditions of the user to determine the one or more user segments comprises determining the one or more user segments via a constant time algorithm by pre-compiling logic to pre-define an output, wherein the pre-compiled logic is executed by a web service and is stored in a statically-compiled library, wherein the constant time algorithm is loaded in a library on a webserver and used by the method in real-time and a capped number of operations performed by the constant time algorithm is independent from the size of an input, wherein the input is at least one of:
data provided with an event;
an attribute of the user;
geolocation data of the user;
one or more user conditions;
one or more user segments;
one or more existing users; and
one or more prior sessions recorded for the user.
3 . The system of claim 1 , wherein the one or more non-transitory storage modules storing the computing instructions are configured to run on the one or more processing modules and further perform the act of inserting a tracking code in a webpage of the website channel, wherein the tracking code comprises common code, account specific logic, and user specific data, the tracking code tracks user activity on the webpage of the website channel, and the common code applies to two or more accounts and the account specific logic comprises instructions for updating content for an account of the two or more accounts.
4 . The system of claim 1 , wherein the one or more user segments comprise a grouping of user identities having at least one shared user condition.
5 . The system of claim 2 , wherein the one or more non-transitory storage modules storing the computing instructions are configured to run on the one or more processing modules and further perform the act of updating the one or more user segments in response to a change in a qualifying user condition of the one or more user segments.
6 . The system of claim 5 , wherein updating to the one or more user segments comprises:
tracking the user through a different channel of the two or more channels; and
compiling a global user identity for the user.
7 . The system of claim 1 , wherein the one or more non-transitory storage modules storing the computing instructions are configured to run on the one or more processing modules and further perform the acts of:
accessing a lookup table comprising a third party identifier; and
matching the third party identifier with a user identity.
8 . The system of claim 1 , wherein the one or more non-transitory storage modules storing the computing instructions are configured to run on the one or more processing modules and further perform the acts of:
determining that a first user identity comprises an identifier that has previously been referenced by a second user identity within a same account; and
merging the first user identity and the second user identity in response to determining a match between the identifier of the first user identity and the second user identity.
9 . The system of claim 8 , wherein a change to the personalization logic is consistent across the two or more channels after the first user identity and the second user identity have been merged.
10 . The system of claim 3 , wherein the tracking code is installed as a single Javascript snippet in the header of the webpage.
11 . The system of claim 1 , wherein the one or more processing modules are located in an edge node.
12 . The system of claim 2 , wherein the one or more non-transitory storage modules storing the computing instructions are configured to run on the one or more processing modules and further perform the acts of:
detecting a change in a user condition; and
running a personalization logic for the user in response to the change in the user condition.
13 . The system of claim 12 , wherein the change in the user condition comprises at least one of a user visit to the at least one of the two or more channels and a request by a third party.
14 . A method for personalization of digital displayed media comprising:
using personalization logic configured to be adaptable among two or more channels to:
evaluate one or more user conditions of a user to determine one or more user segments; and
evaluate an experience based at least in part on the one or more user segments; and
executing, on a webserver, the personalization logic when the user visits a channel of the two or more channels in order to facilitate display of personalized content based at least in part on the experience wherein:
each of the two or more channels comprise a channel type of:
a website channel type; or
a non-website channel type, wherein the non-website channel type comprises applications and internet capable devices; and
the channel type of at least one of the two or more channels is a non-website channel type.
15 . The method of claim 14 , wherein evaluating the one or more user conditions of the user to determine the one or more user segments comprises determining the one or more user segments via a constant time algorithm by pre-compiling logic to pre-define an output, wherein the pre-compiled logic is executed by a web service and is stored in a statically-compiled library, wherein the constant time algorithm is loaded in a library on a webserver and used by the method in real-time and a capped number of operations performed by the constant time algorithm is independent from the size of an input, wherein the input is at least one of:
data provided with an event;
an attribute of the user;
geolocation data of the user;
one or more user conditions;
one or more user segments;
one or more existing users; and
one or more prior sessions recorded for the user.
16 . The method of claim 14 , further comprising inserting a tracking code in a webpage of the website channel, wherein the tracking code comprises common code, account specific logic, and user specific data, the tracking code tracks user activity on the webpage of the website channel, and the common code applies to two or more accounts and the account specific logic comprises instructions for updating content for an account of the two or more accounts.
17 . The method of claim 14 , wherein the one or more user segments comprise a grouping of user identities having at least one shared user condition.
18 . The method of claim 15 , further comprising updating the one or more user segments in response to a change in a qualifying user condition of the one or more user segments.
19 . The method of claim 18 , wherein updating to the one or more user segments comprises:
tracking the user through a different channel of the two or more channels; and
compiling a global user identity for the user.
20 . The method of claim 14 , further comprising:
accessing a lookup table comprising a third party identifier; and
matching the third party identifier with a user identity.
21 . The method of claim 14 , further comprising:
determining that a first user identity comprises an identifier that has previously been referenced by a second user identity within a same account; and
merging the first user identity and the second user identity in response to determining a match between the identifier of the first user identity and the second user identity.
22 . The method of claim 21 , wherein a change to the personalization logic is consistent across the two or more channels after the first user identity and the second user identity have been merged.
23 . The method of claim 16 , wherein the tracking code is installed as a single Javascript snippet in the header of the webpage.
24 . The method of claim 11 , wherein the one or more processing modules are located in an edge node.
25 . The method of claim 15 , further comprising:
detecting a change in a user condition; and
running a personalization logic for the user in response to the change in the user condition.
26 . The method of claim 25 , wherein the change in the user condition comprises at least one of a user visit to the at least one of the two or more channels and a request by a third party.