Controlling real-time execution of internet communication campaigns with parameterizable flow control structures
First Claim
1. A method comprising:
- retrieving a data structure comprising at least a portion of a marketing campaign flow having a beginning point of execution;
determining, based at least in part on the portion of the marketing campaign flow, at least one stage gate decision point that is configured with a first stage gate expression to be evaluated upon an entry to the stage gate decision point, the first stage gate expression corresponding to a plurality of traffic shaping parameters composed of time values and traffic rate values to define a rate of traffic at a particular time;
storing the at least one stage gate decision point and the first stage gate expression such that the first stage gate expression is evaluated when the stage gate decision point is entered;
initiating a first action at the beginning point of execution;
determining, after a finite amount of time has passed, that a set of conditions for evaluating the first stage gate expression are present;
evaluating the first stage gate expression when the stage gate decision point is entered, wherein the plurality of traffic shaping parameters are evaluated to determine a second action, the second action based on determining points and respective values from one or more shapes of the shaping parameters;
initiating the second action corresponding to one of a plurality of stage gate paths to shape traffic patterns for first outgoing messages, wherein the second action to shape the traffic patterns for the first outgoing messages is based at least in part on a result determined by evaluating the first stage gate expression, the second action comprising a throttling of first outbound email traffic over time or first outbound SMS traffic over time; and
determining a number of targeted recipients for the campaign;
evaluating a second stage gate expression that evaluates the number of targeted recipients and if the number is within a first numerical range, sending second outgoing messages as SMS traffic, and if the number is within a second numerical range, sending the second outgoing messages as email traffic;
wherein the first stage gate expression and the second stage gate expression are evaluated by a program stage manager comprising a channel engine to direct a flow of messages, the channel engine comprising a plurality of personalization engines that personalize outgoing messages for each recipient using an interactive template engine;
wherein the personalization engines use personalization data for each of a plurality of clients stored in a data delivery platform using an in-memory cache that is kept in sync with a master database of all client data.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods for real-time control of Internet messaging campaigns. Processing commences upon retrieving a computer-readable schematic capture or other computer representation of an Internet messaging campaign or marketing campaign flow. During execution of the campaign flow, decision points in the form of program stage gates as given in the schematic are reached, and corresponding program stage gate expressions are evaluated based on then-current real-time conditions or values. When the program stage gate expression evaluates to one of a set of alternative values (e.g., “take forward path” or “take alternative path1” or “take alternative path2”), then the program execution will initiate a set of execution actions given in the marketing campaign schematic. In cases when then-current real-time conditions or values evaluate to an alternate value or in cases when the real-time conditions or values are not available or cannot be evaluated within a timeout period, then remedial action is initiated.
60 Citations
20 Claims
-
1. A method comprising:
-
retrieving a data structure comprising at least a portion of a marketing campaign flow having a beginning point of execution; determining, based at least in part on the portion of the marketing campaign flow, at least one stage gate decision point that is configured with a first stage gate expression to be evaluated upon an entry to the stage gate decision point, the first stage gate expression corresponding to a plurality of traffic shaping parameters composed of time values and traffic rate values to define a rate of traffic at a particular time; storing the at least one stage gate decision point and the first stage gate expression such that the first stage gate expression is evaluated when the stage gate decision point is entered; initiating a first action at the beginning point of execution; determining, after a finite amount of time has passed, that a set of conditions for evaluating the first stage gate expression are present; evaluating the first stage gate expression when the stage gate decision point is entered, wherein the plurality of traffic shaping parameters are evaluated to determine a second action, the second action based on determining points and respective values from one or more shapes of the shaping parameters; initiating the second action corresponding to one of a plurality of stage gate paths to shape traffic patterns for first outgoing messages, wherein the second action to shape the traffic patterns for the first outgoing messages is based at least in part on a result determined by evaluating the first stage gate expression, the second action comprising a throttling of first outbound email traffic over time or first outbound SMS traffic over time; and determining a number of targeted recipients for the campaign; evaluating a second stage gate expression that evaluates the number of targeted recipients and if the number is within a first numerical range, sending second outgoing messages as SMS traffic, and if the number is within a second numerical range, sending the second outgoing messages as email traffic; wherein the first stage gate expression and the second stage gate expression are evaluated by a program stage manager comprising a channel engine to direct a flow of messages, the channel engine comprising a plurality of personalization engines that personalize outgoing messages for each recipient using an interactive template engine; wherein the personalization engines use personalization data for each of a plurality of clients stored in a data delivery platform using an in-memory cache that is kept in sync with a master database of all client data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer program product, embodied in a non-transitory computer readable medium, the non-transitory computer readable medium having stored thereon a sequence of instructions which, when stored in memory and executed by a processor causes the processor to perform:
-
retrieving a data structure comprising at least a portion of a marketing campaign flow having a beginning point of execution; determining, based at least in part on the portion of the marketing campaign flow, at least one stage gate decision point that is configured with a first stage gate expression to be evaluated upon an entry to the stage gate decision point, the first stage gate expression corresponding to a plurality of traffic shaping parameters composed of time values and traffic rate values to define a rate of traffic at a particular time; storing the at least one stage gate decision point and the first stage gate expression such that the first stage gate expression is evaluated when the stage gate decision point is entered; initiating a first action at the beginning point of execution; determining, after a finite amount of time has passed, that a set of conditions for evaluating the first stage gate expression are present; evaluating the first stage gate expression when the stage gate decision point is entered, wherein the plurality of traffic shaping parameters are evaluated to determine a second action, the second action based on determining points and respective values from one or more shapes of the shaping parameters; initiating the second action corresponding to one of a plurality of stage gate paths to shape traffic patterns for first outgoing messages, wherein the second action to shape the traffic patterns for the first outgoing messages is based at least in part on a result determined by evaluating the first stage gate expression, the second action comprising a throttling of first outbound email traffic over time or first outbound SMS traffic over time; and determining a number of targeted recipients for the campaign; evaluating a second stage gate expression that evaluates the number of targeted recipients and if the number is within a first numerical range, sending second outgoing messages as SMS traffic, and if the number is within a second numerical range, sending the second outgoing messages as email traffic; wherein the first stage gate expression and the second stage gate expression are evaluated by a program stage manager comprising a channel engine to direct a flow of messages, the channel engine comprising a plurality of personalization engines that personalize outgoing messages for each recipient using an interactive template engine; wherein the personalization engines use personalization data for each of a plurality of clients stored in a data delivery platform using an in-memory cache that is kept in sync with a master database of all client data. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A system comprising:
-
a processor coupled to a storage device that stores instructions, the processor adapted to execute the instructions to implement a program engine, a campaign specification engine and a program stage manager; the program engine to retrieve a data structure comprising at least a portion of a marketing campaign flow having a beginning point of execution; the campaign specification engine to, define, based at least in part on the portion of the marketing campaign flow, at least one stage gate decision point that is configured with a first stage gate expression to be evaluated upon an entry to the stage gate decision point, the first stage gate expression corresponding to a plurality of traffic shaping parameters composed of time values and traffic rate values to define a rate of traffic at a particular time; and store the at least one stage gate decision point and the first stage gate expression such that the first stage gate expression is evaluated when the stage gate decision point is entered; and the program stage manager to, initiate a first action at the beginning point of execution; determine, after a finite amount of time has passed, that a set of conditions for evaluating the first stage gate expression are present; evaluate the first stage gate expression when the stage gate decision point is entered, wherein the plurality of traffic shaping parameters are evaluated to determine a second action, the second action based on determining points and respective values from one or more shapes of the shaping parameters; initiate the second action corresponding to one of a plurality of stage gate paths to shape traffic patterns for first outgoing messages, wherein the second action to shape the traffic patterns for the first outgoing messages is based at least in part on a result determined by evaluating the first stage gate expression, the second action comprising a throttling of first outbound email traffic over time or first outbound SMS traffic over time; determine a number of targeted recipients for the campaign; and evaluate a second stage gate expression that evaluates the number of targeted recipients and if the number is within a first numerical range, sending second outgoing messages as SMS traffic, and if the number is within a second numerical range, sending the second outgoing messages as email traffic; wherein the program stage manager comprise a channel engine to direct a flow of messages, the channel engine comprising a plurality of personalization engines that personalize outgoing messages for each recipient using an interactive template engine; wherein the personalization engines use personalization data for each of a plurality of clients stored in a data delivery platform using an in-memory cache that is kept in sync with a master database of all client data. - View Dependent Claims (20)
-
Specification