METHOD AND SYSTEM FOR PROVIDING A RECOMMENDED DIGITAL CONTENT ITEM

A method and a system for providing a recommended content item is disclosed to an electronic device. The method comprises displaying a first digital content item on a digital content display; and receiving data indicative of a movement of the electronic device. Based on the data, generating a geo-track associated with the electronic device. Based on the geo-track and an exposure perimeter of the digital content display, determining a likelihood parameter indicative of the user having been exposed to the first digital content item. In response to the likelihood parameter being above a threshold, verifying if a topic of the first digital content item is aligned with a user profile associated with the user stored in the online user profile database. In the affirmative, selecting a second digital content item sharing the topic of the first digital content item and transmitting the second digital content item to the electronic device.

The present application claims priority to Russian Patent Application No. 2019103257, entitled “METHOD AND SYSTEM FOR PROVIDING A RECOMMENDED DIGITAL CONTENT ITEM,” filed on Feb. 6, 2019, the entirety of which is incorporated herein by reference.

FIELD

The present technology relates to recommendation systems in general and specifically to a method and a system for providing a recommended digital content item to an electronic device associated with a user.

BACKGROUND

Various global or local communication networks (the Internet, the World Wide Web, local area networks and the like) offer a user a vast amount of information. The information includes a multitude of contextual topics, such as but not limited to, news and current affairs, maps, company information, financial information and resources, traffic information, games and entertainment-related information. Users use a variety of client devices (desktop, laptop, notebook, smartphone, tablets and the like) to have access to rich content (like images, audio, video, animation, and other multimedia content from such networks).

When a typical user browses the Internet, the user gets exposed to this multitude of information—be it on a form of content that the user is searching for (for example, using a search engine or a content recommendation system) or by various personalized/targeted content systems.

Conventionally, efforts have been focused on providing personalized content items based on the online activities of a user. For example, if the user searches for new cars, a personalized targeted message about a new promotion (such as preferred financing rates) can be provided to the user (as a side bar, pop up window, an overlaid video and the like). Needless to say, not only it is difficult to properly assess user interests based solely on online activities, the conventional approach neglects to consider what the user might have been exposed in an offline setting.

United States Patent Application Publication No. 2015/0348119 A1 published on Dec. 3, 2015 to Videology Inc., and titled “Method and System for Targeted Advertising Based on Associated Online and Offline User Behaviors” teaches methods, systems, and programming for targeted advertising and conversion measurement. In one example, first information related to an online activity of a user is received. The online activity is associated with a first attribute to be used to identify the user. Second information related to an offline activity of the user is received. The offline activity is associated with a second attribute to be used to identify the user. A connection between the online activity and the offline activity of the user is then identified by matching the first attribute with the second attribute. A profile of the user is obtained based, at least in part, on the identified connection. A request of serving an advertisement is received. The user is selected from a plurality of users based on the profile of the user and information related to the request. The advertisement is provided to the user.

United States Patent Application Publication No. 2010/262456 A1 published Oct. 14, 2010 to Yahoo! Inc., and titled “System and Method for Deep Targeting Advertisement Based on Social behaviors” teaches a method and system to display a targeted online advertisement to a targeted online user based on offline behavior profiles. The method include techniques for identifying offline behavior aspects of the online user through a variety of databases, including databases of physical sites visited, databases of transactions and amounts, databases pertaining to retail loyalty cards and databases hosting occurrence of real world events. Techniques employed for codifying offline behavior include classifying behavior into categories or groups, categorizing behavior by location of an event, size of expenditure, nature of event, frequency of event, and/or periodicity of event. Having established some codified offline behavior of the online user, the system proceeds by correlating some aspect of user's offline behavior to some aspect of an online advertisement. Given the correlation between the user's offline behavior and the targeting characteristics of the advertisement, the advertisement is optionally customized and displayed to the targeted user

United States Patent Application Publication No. 2013/0246173 A1 published Sep. 19, 2013 to Responsys Inc., and titled “System and Method for Delivering Online Advertisements” teaches an ad orchestration server that selects and sequences the delivery of ads based on multiple offline and online conditions. The ad orchestration server takes into account messages a user might have seen from the advertiser online which the ad server knows about through its tracking cookie, as well as other data about the user that is obtained using offline and other online methods.

SUMMARY

It is an object of the present technology to provide improved method and systems for providing recommended digital content item.

Non-limiting embodiments of the present technology have been developed based on developers' appreciation of at least one problem associated with the prior art approaches.

Whether by navigating on the Internet, or driving on a road, a given user is exposed to a plurality of digital content items. It is thus desirable to determine what type of digital content item has been found to have caught the eye of the user, and use that information when selecting a digital content item for display in an online setting.

For example, let us assume that a given user has been to a sportswear shop in which he has been exposed to a new baseball mitt advertisement, thereby showing an interest to baseball goods. It would thus be desirable to display baseball related advertisements in an online setting to the same user. By selecting digital content items for display on an online setting based on what the user has been exposed to in an offline setting, not only user satisfaction will be increased, but it would also prevent less interesting digital content items to be displayed, thereby efficiently using computational power when selecting digital content items.

Without wishing to be bound to any specific theory, embodiments of the present technology have been developed based on a premise that people often carry electronic devices (e.g. mobile phones) that are configured to collect their positions as they travel. By analyzing the travelled positions, it is possible to predict how likely a user has been exposed to an offline content item. Based on the determination of whether a user has seen the offline content item or not, it would be then possible to update the online user profile, and thereby create a more comprehensive user profile.

In accordance with a first broad aspect of the present technology, there is provided a computer-implemented method for providing a recommended content item to an electronic device associated with a user, the electronic device having a geo-sensor. The method is executed by a server coupled to an online user profile database maintaining one or more online user profiles of one or more users associated with one or more services; a user-independent digital content display having an exposure perimeter; a content item database comprising a plurality of digital content items. The method comprises: causing the user-independent digital content display, to display a first digital content item from the content item database, the first digital content item not being personalized for the user; receiving, from the electronic device, data indicative of the electronic device movement, the data having been captured by the geo-sensor; based on the data, generating a geo-track associated with the electronic device; determining based on the geo-track and the exposure perimeter, a likelihood parameter indicative of the user having been exposed to the first digital content item being displayed by the user-independent digital content display; in response to the likelihood parameter being above a pre-determined threshold, verifying if a topic of the first digital content item is aligned with a user profile associated with the user stored in the online user profile database; in response to the topic of the first digital content item being aligned with the user profile, selecting a second digital content item, the second digital content item sharing the topic of the first digital content item; and transmitting the second digital content item to the electronic device associated with the user.

In some non-limiting embodiments of the method, the user-independent digital content display comprises at least one sensor, and wherein the likelihood parameter is further based on the at least one sensor detecting the electronic device being within the exposure perimeter.

In some non-limiting embodiments of the method, the at least one sensor is configured to detect a unique device identifier and a signal strength associated with the electronic device.

In some non-limiting embodiments of the method, the geo-sensor is a GPS sensor, and wherein the likelihood parameter is further based on a GPS-based position of the GPS sensor being within the exposure perimeter.

In some non-limiting embodiments of the method, the geo-track comprises a trajectory and dwelling intervals associated with movement of the electronic device, and wherein the likelihood parameter is further based on at least one of: the trajectory intersecting the exposure perimeter; the dwelling intervals being proximate to the exposure perimeter.

In some non-limiting embodiments of the method, the likelihood parameter being above the pre-determined threshold in response to the dwelling intervals being above a pre-determined duration.

In some non-limiting embodiments of the method, the electronic device comprises a user ID and wherein the method further comprises acquiring the user profile based on the user ID.

In some non-limiting embodiments of the method, the electronic device comprises a device ID and wherein the method further comprises correlating the device ID with a user ID, and acquiring the user profile based on the user ID.

In some non-limiting embodiments of the method, the user-independent digital content display further comprises a camera; and wherein the method further comprises: receiving, the user-independent digital content display, a captured image of the user; correlating the captured image to the user profile.

In some non-limiting embodiments of the method, the correlating the captured image to the user profile comprises: accessing the one or more web services; matching the captured image with digital images contained in open pages associated with the user.

In some non-limiting embodiments of the method, the user-independent digital content display is one an electronic billboard and an electronic screen.

In some non-limiting embodiments of the method, the receiving, from the electronic device, data indicative of the electronic device movement, the data having been captured by the geo-sensor comprises: receiving data from multiple electronic devices; correlating data from multiple electronic devices to the user based on geo information from the multiple electronic devices being aligned over a pre-determined period of time.

In accordance with another broad aspect of the present technology, there is provided a system for providing a recommended content item to an electronic device associated with a user, the electronic device having a geo-sensor. The system comprises server connectable to: an online user profile database maintaining one or more online user profiles of one or more users associated with one or more services; a user-independent digital content display having an exposure perimeter; a content item database comprising a plurality of digital content items. The server comprises a processor configured to: cause the user-independent digital content display, to display a first digital content item from the content item database, the first digital content item not being personalized for the user; receive, from the electronic device, data indicative of the electronic device movement, the data having been captured by the geo-sensor; based on the data, generate a geo-track associated with the electronic device; determine based on the geo-track and the exposure perimeter, a likelihood parameter indicative of the user having been exposed to the first digital content item being displayed by the user-independent digital content display; in response to the likelihood parameter being above a pre-determined threshold, verify if a topic of the first digital content item is aligned with a user profile associated with the user stored in the online user profile database; in response to the topic of the first digital content item being aligned with the user profile, select a second digital content item, the second digital content item sharing the topic of the first digital content item; and transmit the second digital content item to the electronic device associated with the user.

In some non-limiting embodiments of the system, the user-independent digital content display comprises at least one sensor, and wherein the likelihood parameter is further based on the at least one sensor detecting the electronic device being within the exposure perimeter.

In some non-limiting embodiments of the system, the at least one sensor is configured to detect a unique device identifier and a signal strength associated with the electronic device.

In some non-limiting embodiments of the system, the geo-sensor is a GPS sensor, and wherein the likelihood parameter is further based on a GPS-based position of the GPS sensor being within the exposure perimeter.

In some non-limiting embodiments of the system, the geo-track comprises a trajectory and dwelling intervals associated with movement of the electronic device, and wherein the likelihood parameter is further based on at least one of: the trajectory intersecting the exposure perimeter; the dwelling intervals being proximate to the exposure perimeter.

In some non-limiting embodiments of the system, the likelihood parameter being above the pre-determined threshold in response to the dwelling intervals being above a pre-determined duration.

In some non-limiting embodiments of the system, the electronic device comprises a user ID and wherein the processor is further configured to acquire the user profile based on the user ID.

In some non-limiting embodiments of the system, the user-independent digital content display further comprises a camera; and wherein the processor is further configured to: receive, the user-independent digital content display, a captured image of the user; correlate the captured image to the user profile.

In some non-limiting embodiments of the system, in order to correlate the captured image to the user profile, the processor is configured to: access the one or more web services; match the captured image with digital images contained in open pages associated with the user.

In the context of the present specification, “client device” is any computer hardware that is capable of running software appropriate to the relevant task at hand. Thus, some (non-limiting) examples of client devices include personal computers (desktops, laptops, netbooks, etc.), smartphones, and tablets, as well as network equipment such as routers, switches, and gateways. It should be noted that a device acting as a client device in the present context is not precluded from acting as a server to other client devices. The use of the expression “a client device” does not preclude multiple client devices being used in receiving/sending, carrying out or causing to be carried out any task or request, or the consequences of any task or request, or steps of any method described herein.

In the context of the present specification, the expression “component” is meant to include software (appropriate to a particular hardware context) that is both necessary and sufficient to achieve the specific function(s) being referenced.

In the context of the present specification, the expression “computer usable information storage medium” is intended to include media of any nature and kind whatsoever, including RAM, ROM, disks (CD-ROMs, DVDs, floppy disks, hard drivers, etc.), USB keys, solid state-drives, tape drives, etc.

DETAILED DESCRIPTION

The examples and conditional language recited herein are principally intended to aid the reader in understanding the principles of the present technology and not to limit its scope to such specifically recited examples and conditions. It will be appreciated that those skilled in the art may devise various arrangements which, although not explicitly described or shown herein, nonetheless embody the principles of the present technology and are included within its spirit and scope. Furthermore, as an aid to understanding, the following description may describe relatively simplified implementations of the present technology. As persons skilled in the art would understand, various implementations of the present technology may be of greater complexity.

The system100comprises an electronic device102. The electronic device102is typically associated with a user (not depicted) and, as such, can sometimes be referred to as a “client device”. It should be noted that the fact that the electronic device102is associated with the user does not mean to suggest or imply any mode of operation—such as a need to log in, a need to be registered or the like.

In the context of the present specification, unless provided expressly otherwise, “electronic device” is any computer hardware that is capable of running a software appropriate to the relevant task at hand. Thus, some (non-limiting) examples of electronic devices include personal computers (desktops, laptops, netbooks, etc.), smartphones, and tablets. It should be noted that a device acting as an electronic device in the present context is not precluded from acting as a server to other electronic devices. The use of the expression “an electronic device” does not preclude multiple client devices being used in receiving/sending, carrying out or causing to be carried out any task or request, or the consequences of any task or request, or steps of any method described herein.

The electronic device102comprises a permanent storage104. The permanent storage104may encompass one or more storage media and generally provides a place to store computer-executable instructions executable by a processor106. By way of an example, the permanent storage104may be implemented as a computer-readable storage medium including Read-Only Memory (ROM), hard disk drives (HDDs), solid-state drives (SSDs), and flash-memory cards.

The electronic device102comprises hardware and/or software and/or firmware (or a combination thereof) to execute a navigation application108. Generally speaking, the purpose of the navigation application108is to enable the user to navigate from a given location to another location. The manner in which the navigation application108is implemented is known in the art and will not be described herein. Suffice to say that the navigation application108may be one of Yandex.Maps™, Yandex.Navigator™, or other commercial or proprietary navigation applications.

Irrespective of how the navigation application108is implemented, the navigation application108has access to a GPS receiver configured to receive GPS satellite signals and determine the position of the electronic device102. Generally speaking, the electronic device102does not need to be connected to the Internet, nor be executing the navigation application108, to receive the GPS satellite signals, and as such the electronic device102may be configured to track the movement of a user in the form of latitude and longitude irrespective of the availability of the Internet connection.

In some non-limiting embodiments, the electronic device102comprises a navigation log110, which stores the GPS coordinates that have been collected during a time period when the navigation application108is active. In some non-limiting embodiments, the navigation log110may further host the GPS coordinates that have been collected while the navigation application108is not in-use.

With reference toFIG. 2, a non-limiting embodiment of the navigation log110is illustrated. The manner in which the navigation log110is populated is not limited. Just as an example, the navigation application108may be configured to receive the GPS satellite signals at predetermined time intervals, and convert the GPS satellite into GPS coordinates.

The navigation log110stores a first GPS coordinate202which corresponds to the location of the Statue of Liberty. The first GPS coordinate202is associated with a first timestamp204. The first timestamp204corresponds to the time at which the electronic device102was at the first GPS coordinate202.

The navigation log110further stores a plurality of GPS coordinates and associated time stamps (not separately numbered). For example, based on the time stamps and GPS coordinates within the navigation log110, it should be understood that the electronic device102has moved 0.5 seconds north and 0.4 seconds west within 6 minutes. Although only four GPS positions are illustrated in the navigation log110, it should be understood that the navigation log110may store more or fewer than four GPS positions.

In some non-limiting embodiments, the navigation application108is configured to assign a user device ID206to the navigation log110. For example, the user device ID206may correspond to a proprietary ID number assigned by the navigation application108as well as other related one or more service applications112(described below). In some non-limiting embodiments, the navigation log110may further be associated with a user ID (not shown), which may correspond to a user name (such as an email address) associated with the user if the navigation application108requires signing-in.

Referring back toFIG. 1, the electronic device102comprises hardware and/or software and/or firmware (or a combination thereof) to execute one or more service applications112. Generally speaking, the one or more service applications112correspond to electronic applications accessible by the electronic device102. In some non-limiting embodiments, the one or more service applications112comprise at least one service application (not numbered) that is operated by the same entity that has provided the afore-described navigation application108. For example, if the navigation application108is Yandex.Navigator™, the one or more service applications112may include a web browser application Yandex.Browser™, a news application Yandex.News™, a market application Yandex.Market™, and the like. Needless to say, the one or more service applications112may also include service applications that are not operated by the same entity that has provided the afore-mentioned navigation application108, and may comprise for example, social media applications such as Vkontakte™, and music streaming application such as Spotify™.

In some non-limiting embodiments the activities of the user executed on each of the one or more service applications112are collected by one or more associated web server (not shown), and are used to build a profile of the user associated with the electronic device102. In some non-limiting embodiments, the one or more service applications112that are operated by the same entity as the navigation application108are configured to store the collected activities with an indication of the user device ID206.

The electronic device102comprises a communication interface (not depicted) for enabling two-way communication with a communication network114via a communication link116. In some non-limiting embodiments of the present technology, the communication network114can be implemented as the Internet. In other embodiments of the present technology, the communication network114can be implemented differently, such as any wide-area communication network, local area communications network, a private communications network and the like.

How the communication link116is implemented is not particularly limited and depends on how the electronic device102is implemented. Merely as an example and not as a limitation, in those embodiments of the present technology where the electronic device102is implemented as a wireless communication device (such as a smart phone), the communication link116can be implemented as a wireless communication link (such as, but not limited to, a 3G communications network link, a 4G communications network link, a Wireless Fidelity, or WiFi®, for short, Bluetooth®, or the like) or wired (such as an Ethernet based connection).

It should be expressly understood that implementations for the electronic device102, the communication link116and the communication network114are provided for illustration purposes only. As such, those skilled in the art will easily appreciate other specific implementational details for the electronic device102, the communication link116, and the communication network114. As such, by no means the examples provided hereinabove are meant to limit the scope of the present technology.

The system100further includes a server118coupled to the communication network114. The server118can be implemented as a computer server. In an example of an embodiment of the present technology, the server118can be implemented as a Dell™ PowerEdge™ Server running the Microsoft™ Windows Server™ operating system. Needless to say, the server118can be implemented in any other suitable hardware and/or software and/or firmware or a combination thereof. In the depicted non-limiting embodiment of the present technology, the server118is a single server. In alternative non-limiting embodiments of the present technology, the functionality of the server118may be distributed and may be implemented via multiple servers.

The server118comprises a communication interface (not depicted) structured and configured to communicate with various entities (such as the electronic device102and other devices potentially coupled to the communication network114) via the communication network114. The server118comprises a server memory120which comprises one or more storage media and generally provides a place to store computer-executable program instructions executable by a server processor122. By way of example, the server memory120may be implemented as a tangible computer-readable storage medium including Read-Only Memory (ROM) and/or Random-Access Memory (RAM). The server memory120may also include one or more fixed storage devices in the form of, by way of example, hard disk drives (HDDs), solid-state drives (SSDs), and flash-memory cards.

In some non-limiting embodiments, the server118can be operated by the same entity that has provided the afore-described navigation application108. For example, if the navigation application108is a Yandex.Navigator™, the server118can be operated by Yandex LLC of Lev Tolstoy Street, No. 16, Moscow, 119021, Russia. In alternative embodiments, the server118can be operated by an entity different from the one that has provided the aforementioned navigation application108.

In accordance with the non-limiting embodiments of the present technology, the server118is configured to execute a digital content item selection application124(the “selection application124”). The manner in which the selection application124is implemented is described in detail below.

To that end, the server118is communicatively coupled to a digital content item database126. In alternative embodiments, the digital content item database126may be communicatively coupled to the server118via the communication network114. Although the digital content item database126is illustrated schematically herein as a single entity, it is contemplated that the digital content item database126may be configured in a distributed manner.

The digital content item database126is populated with a plurality of digital content items (not separately numbered). The nature of each of the plurality of digital content item is not particularly limited. Broadly speaking, a digital content item may correspond to an advertisement, comprising one or more sentences, images, videos, etc.

Digital Content Item Database126

With reference toFIG. 3, a non-limiting embodiment of the digital content item database126populated with the plurality of digital content item is illustrated.

The manner in which the digital content item database126is populated is not limited. Just as an example the digital content item database126may receive the digital content items from one or more advertisers.

The digital content item database126stores the plurality of digital content items clustered into one or more topics. As such, the digital content item database126is configured to execute a topic clustering routine (not depicted). The manner in which the plurality of digital content items are clustered into one or more topics or events is not limited, and may for example, be done using conventional clustering techniques, such as topic modelling or key words-based approaches.

The plurality of digital content items is clustered into one or more topic clusters302. For example, the digital content item database126stores a first topic cluster304, a second topic cluster306, a third topic cluster (not numbered) and a fourth topic cluster (not numbered). The first topic cluster304includes a first digital content item308and a second digital content item312, and the second topic cluster306includes a third digital content item310.

In some non-limiting embodiments of the present technology, the digital content item database126comprises additional information in respect to each of the plurality of digital content items, such as the duration of the digital content item, a minimum bidding price, target parameters selected by a source of the digital content item, indication of the digital content item being static or dynamic, and the like.

With continued reference toFIG. 1, the server118is further coupled to a user profile database128via a dedicated link (not numbered). In alternative non-limiting embodiments of the present technology, the user profile database128may be communicatively coupled to the server118via the communication network114. Although the user profile database128is illustrated schematically herein as a single entity, it is contemplated that the user profile database128may be configured in a distributed manner.

Generally speaking, the user profile database128is a repository of one or more user profiles (not illustrated). How the one or more user profiles are implemented is not limited, and may for example be a set of vectors representing the interests of a given user.

User Profile Database128

With reference toFIG. 4, a schematic illustration of a process for the aggregation of different user interest profiles associated with the user of the electronic device102is depicted.

A first profile402is received from a first service server404. For example, the first service server404may be associated with a first service application401that corresponds to Yandex.Browser™, which is operated by the same entity providing the aforementioned navigation application108. The first profile402may be generated by the first service server404based on the browsing logs403associated with the electronic device102.

The first profile402is associated with a first set of unique IDs406. For example, the first set of unique IDs406may include a proprietary user ID assigned to the electronic device102by the first service application401. Recalling that the first service application401is operated by the same entity providing the aforementioned navigation application108, the first set of unique IDs406comprises the user device ID206(corresponding to “ABCDE”).

A second profile408is received from a second service server410. For example, the second service server410may be associated with a second service application409that corresponds to Yandex.Market™, which is operated by the same entity providing the aforementioned navigation application108. The second profile408may be generated by the second service server410based on search logs411associated with the electronic device102.

The second profile408is also associated with a second set of unique IDs412. Recalling that the second service application409is operated by the same entity providing the aforementioned navigation application, the second set of unique IDs412comprises the user device ID206(“ABCDE”). Additionally, the second set of unique IDs412may also comprise the email address of the user used for sign-in (“ABC@XYZ.CA”). In some non-limiting embodiments, the second profile408further comprises a public profile picture (not depicted) of the user associated with the electronic device102.

In some non-limiting embodiments, if the second service application409has been accessed by the same user but on another device than the electronic device102, the second set of unique IDs412further comprises another proprietary device ID (not shown) assigned to the other device.

The user profile database128is configured to execute a profile aggregation routine (not depicted). The profile aggregation routine is configured to determine if the first profile402and the second profile408correspond to the same user. For example, the profile aggregation routine may be configured to determine if the first set of unique IDs406corresponds, at least partially, to the second set of unique IDs412.

If it is determined that the first set of unique IDs406corresponds at least partially to the second set of unique IDs412, the profile aggregation routine is configured to aggregate the first profile402and the second profile408to generate an aggregated user profile414.

As a result of the execution of the profile aggregation routine, the user profile database128stores the aggregated user profile414together with a list of associated unique IDs416(which comprises the user device ID206and the email address), and if present, with the profile picture of the associated user.

On the other hand, if the profile aggregation routine determines that the first set of unique IDs406does not correspond even partially to the second set of unique IDs412, the first profile402and the second profile408are considered to be associated with different users. Consequently the user profile database128stores the first profile402(and the first set of unique IDs406) and the second profile408(and the second set of unique IDs412) separately.

Needless to say, although only two user profiles (the first profile402and the second profile408) are illustrated to generate the aggregated user profile414, it should be understood that the aggregated user profile414may be generated based on more than two user profiles.

Moreover, although the aggregated user profile414has been generated based solely on service applications that are operated by the same entity, it is not limited as such. Given that the second profile408includes the email address associated with the user, it is possible to further aggregate the user's profile with a third user profile (not shown) that is received from a different entity, provided that the third user profile is also associated with a unique ID that corresponds to the same email address as the one included within the list of associated unique IDs416.

With continued reference toFIG. 1, the server118is further coupled to a content display device130. The content display device130is configured to receive a digital content item (such as the first digital content item308) for display by the selection application124, and as such comprises a display screen132.

How the content display device130is implemented is not limited, and may for example, be implemented as an outdoor advertising structure, such as an electronic billboard placed near a highway or a bus stop, or as an indoor advertising structure, such as an electronic billboard within a metro station or within a store.

Depending on the intended use location, the implementation of the content display device130will differ. In those non-limiting embodiments where the content display device130is implemented indoor, such as in a mall or a store, the content display device130may comprise a sensor134and a camera136.

The sensor134is configured to detect wireless signals from one or more electronic devices (e.g. WiFi enabled devices, cellular phones, Bluetooth enabled devices, etc.) when located in the range of the sensor134, and collect the following data for each detected signal: a Media Access Control (MAC) address(es), signal strength, time of detection and unique identifier (if different than the MAC address). An example of collecting the data for each detected signal is disclosed in U.S. Pat. No. 8,699,370 entitled METHOD AND APPARATUS FOR ANALYSIS OF USER TRAFFIC WITHIN A PREDEFINED AREA issued Apr. 15, 2014, the content of which is incorporated by reference herein in its entirety. Although in the depicted embodiment, only one sensor134is present, it is not limited as such, and may include more than one sensor. In some non-limiting embodiments, the sensor134is implemented as a router enabling WiFi connection between one or more electronic devices and the communication network114.

How the camera136is implemented is not limited. For example, the camera136can include an optical sensor (e.g. a charged coupled device (CCD), or a complementary metal-oxide semiconductor (CMOS) image sensor), to facilitate camera functions, such as recording photographs and video clips. Even though in the depicted embodiment, only the camera136is present, in alternative embodiments, more cameras can be implemented.

With reference toFIG. 6, a schematic illustration of indoor electronic displays being implemented in accordance with embodiments of the present technology is depicted.

As shown, a first content display device602and a second content display device604are installed within a building, such as inside a mall, a shop, and the like. The first content display device602comprises a first display screen606, a first sensor610and a first camera612. The second content display device604comprises a second display screen608, a second sensor614and a second camera616.

The first content display device602and second content display device604is associated with a first exposure perimeter634and a second exposure perimeter636, respectively. The first exposure perimeter634and the second exposure perimeter636may correspond to an area to which the first display screen606and the second display screen608, respectively, is clearly visible. The manner in which the first exposure perimeter634and the second exposure perimeter636are determined is not limited, and may depend on the dimensions of the first display screen606and the second display screen608.

Now, in front of the first display screen606, there is a first user618and a second user620. The first user618carries a first electronic device622(such as a cell phone). The second user620carries a second electronic device624(such as a cell phone) and a third electronic device626(such as a tablet). Needless to say, it is contemplated that more or fewer users may be in front of the first display screen606, and more or fewer electronic devices may be carried by the first user618and the second user620.

As described above the first sensor610is configured to detect the first electronic device622, the second electronic device624and the third electronic device626. More precisely, the first sensor610is configured to collect a first identifier628associated with the first electronic device622, a second identifier630associated with the second electronic device624, and a third identifier632associated with the third electronic device626. For example, the first identifier628may comprise the unique identifier (such as the MAC address) of the first electronic device622, the signal strength, and the time of the detection.

In some non-limiting embodiments, the sensor610is configured to enable two-way communication with the communication network114for the first electronic device622, the second electronic device624and the third electronic device626. In such non-limiting embodiments, the sensor610is further configured to assign an IP address to each of the first electronic device622, the second electronic device624and the third electronic device626.

The first sensor610is further configured to periodically detect the signals of the first electronic device622, the second electronic device624and the third electronic device626.

In some non-limiting embodiments of the present technology, the first camera612is configured to take a first picture (not depicted) of the first exposure perimeter634, where the first user618and the second user620are located, in response to the first sensor610detecting the first electronic device622, the second electronic device624and the third electronic device626.

In some non-limiting embodiments of the present technology, the first camera612is coupled to a movement sensor configured to detect movement within the first exposure perimeter634, and is configured to take the first picture of the first exposure perimeter634in response to the movement sensor detecting movement within the first exposure perimeter634.

In some non-limiting embodiments of the present technology, the first camera612is configured to take the first picture in response to a request by the selection application124. For example, the selection application124may request the first camera612to take the first picture prior to transmitting the digital content item (such as the first digital content item308) for display, at the beginning of the display of the digital content item, during the display of the digital content item, and right after the display of the digital content item.

At a point in time after, the second sensor614detects the second electronic device624and the third electronic device626, and as such is configured to collect the second identifier630and the third identifier632. The second camera616is then configured to take a second picture (not depicted) of the second exposure perimeter636which comprises the second user620, and transmit the second picture, second identifier630and the third identifier632to the selection application124. Needless to say, how and when the second camera616is configured to take the second picture is not limited, and may for example be implemented similar to the first camera612.

With reference toFIG. 5, a schematic illustration of an outdoor electronic billboard being implemented in accordance with embodiments of the present technology is depicted.

As shown, a content display device502is installed in proximity to a road504on which a user associated with the electronic device102(not shown) driving a vehicle506is travelling. The content display device502comprises a display screen508, on which the digital content item (such as the first digital content item308) selected by the selection application124is displayed.

In some non-limiting embodiments of the present technology, the display screen508is associated with an exposure perimeter510. The exposure perimeter510may correspond to the area to which the display screen508is clearly visible. The manner in which the exposure perimeter510is determined is not limited and may depend on the dimensions of the display screen508, and/or the presence of obstacles (such as buildings) nearby.

With reference toFIG. 7, there is provided a schematic illustration of the selection application124being implemented in accordance with non-limiting embodiments of the present technology. The selection application124executes (or otherwise has access to): a first content selection routine702, a receiving routine704, a localization routine706and a second content selection routine708.

In the context of the present specification, the term “routine” refers to a subset of the computer executable program instructions of the selection application124that is executable by the server processor122to perform the functions explained below in association with the various routines (the first content selection routine702, the receiving routine704, the localization routine706and the second content selection routine708). For the avoidance of any doubt, it should be expressly understood that the first content selection routine702, the receiving routine704, the localization routine706and the second content selection routine708are illustrated schematically herein as separate entities for ease of explanation of the processes executed b the selection application124. It is contemplated that some or all of the first content selection routine702, the receiving routine704, the localization routine706and the second content selection routine708may be implemented as one or more combined routines.

For ease of understanding the present technology, functionality of each one of the first content selection routine702, the receiving routine704, the localization routine706and the second content selection routine708, as well as data and/or information processed or stored therein are described below.

Furthermore, for ease of understanding of the current technology, the functionality of each one of the first content selection routine702, the receiving routine704, the localization routine706and the second content selection routine708, as well as data and/or information processed or stored therein will be explained below with reference to a first scenario in reference toFIG. 5, and a second scenario in reference toFIG. 6. It should be understood that the scenarios presented herein below is for ease of understanding only, and the present technology is in no way to be limited based on the scenario presented below.

First Content Selection Routine702—Scenario 1

The first content selection routine702is configured to access the digital content item database126and select a digital content item (such as the first digital content item308). How the first content selection routine702selects the first digital content item308is not limited. Suffice to say that the first content selection routine702selects the first digital content item308in a non-user specific manner.

In some non-limiting embodiments of the present technology, the first content selection routine702is configured to select the first digital content item308in a user-specific manner, or a group-specific manner. An example of selecting the first digital content item308in a user-specific manner and/or group-specific manner is disclosed in a co-owned U.S. Patent Application bearing attorney docket number 40703-127 entitled METHOD AND SYSTEM FOR PROVIDING A DIGITAL CONTENT ITEM TO AN ELECTRONIC DEVICE, the content of which is incorporated by reference herein in its entirety. As such, the first content selection routine702may be configured to receive a data packet (not shown) indicative of one or more electronic devices nearby the content display device502prior to selecting the first digital content items308.

The first content selection routine702is then configured to transmit a data packet710to the content display device502(seeFIG. 5). The data packet710comprises the first digital content item308to be displayed on the display screen508.

In some non-limiting embodiments, the data packet710further comprises display instructions, such as the duration and time at which the digital content item308must be displayed.

After the digital content item308has been displayed at least once by the display screen508, the receiving routine704is configured to receive a data packet712from the electronic device102. The data packet712comprises the navigation log110(seeFIG. 2) associated with the electronic device102.

As discussed briefly above, the navigation log110may store the user device ID206and a list of GPS positions with respective time stamps that have been collected offline, and/or during use of the navigation application108. Accordingly, the data packet712may be received during the in-use phase of the navigation application108, or received on a periodical basis, such as every day, every 48 hours, and the like.

In some non-limiting embodiments of the present technology, the receiving routine704is configured to transmit a location of the content display device502to the electronic device102and request a subset of the navigation log110which comprise a list of GPS positions with respective time stamps nearby the location.

Based on the navigation log110, the receiving routine704is configured to build a user navigation history, which is indicative of the user movement within a predetermined time period. For example, the user navigation history maybe indicative that the user has travelled via the vehicle506on the road504.

In some non-limiting embodiments of the present technology, the receiving routine704is further configured to receive a data packet714from the content display device502. The data packet714comprises an indication of the exposure perimeter510associated with the content display device502. Needless to say, it is contemplated that the exposure perimeter510can be stored within the server118instead.

As has been alluded to above, it is contemplated that a given user may be travelling with more than one electronic device that is configured to collect and generate a respective navigation log. As such, in some non-limiting embodiments of the present technology, the receiving routine704is configured to correlate one or more navigation logs and based on the GPS positions and time stamps over a period of time to determine if the electronic devices are carried by the same user.

Once the user navigation history has been built, the receiving routine704is configured to transmit a data packet716to the localization routine706. The data packet716comprises the user navigation history, the exposure perimeter510, and the user device ID206(which was previously provided within the navigation log110).

The localization routine706is configured to execute the following functions. First, the localization routine706is configured to determine if the user navigation history is indicative of the given user having been exposed to the first digital content item308. For example, the localization routine706may be configured to determine if any of the navigated positions correlate with the exposure perimeter510during the relevant time (i.e. the duration of the first digital content item308) and for a pre-determined minimum amount of time (to be considered to have been exposed).

In some of the non-limiting embodiments of the present technology, the localization routine706is configured to apply a set of heuristic rules to determine a likelihood parameter that is indicative of the user having been exposed to the first digital content item308. Just as a non-limiting example, the set of heuristic rules may include one or more of the following determinations:Whether at the time the user has been in the exposure perimeter510, the first digital content item308was being displayed by the content display device502;The dwelling time of the user in the exposure perimeter510;The velocity of the user when passing through the exposure perimeter510;A length of time of the first digital content item308being displayed by the content display device502; andWhether the user has decreased the velocity prior to arriving within the exposure perimeter510or within the exposure perimeter510.

How the likelihood parameter is implemented is not limited, and may for example be implemented as a percentage value, a range value (i.e. from 1 to 10), or as a binary value.

The localization routine706is further configured to compare the likelihood parameter against a threshold value. The manner in which the threshold value is determined is not limited, and may for example be determined empirically. Furthermore, how the threshold value is implemented is not limited, and will depend on how the likelihood parameter is implemented.

Second Content Selection Routine708—Scenario 1

In response to the likelihood parameter being above the threshold value, the localization routine706is configured to transmit a data packet718to the second content selection routine708. The data packet718comprises an indication of the likelihood parameter being above the threshold value, as well as the user device ID206.

The second content selection routine708is configured to execute the following functions. First, the second content selection routine708is configured to access the user profile database128and retrieve the aggregated user profile414based on the user device ID206. Once retrieved, the second content selection routine708is configured to determine if the topic associated with the first digital content item308is aligned with the aggregated user profile414. For example, assuming that the first digital content item308is an advertisement for the 2018 Toyota car models, and the aggregated user profile414is indicative of a general interest in cars, it is determined that the first digital content item308is aligned with the aggregated user profile414.

If it is determined that the first digital content item308is aligned with the aggregated user profile414, the second content selection routine708is configured to access the digital content item database126and retrieve the second digital content item312that is also stored within the first topic cluster304.

The second content selection routine708is further configured to transmit a data packet720to the service servers (such as the first service server404and the second service server410, seeFIG. 4). The data packet720comprises the second digital content item312and instructions to display the second digital content item312when the user accesses one of the associated service applications (such as the first service application401and the second service application409).

If on the other hand, the first digital content item308is not aligned with the aggregated user profile414, the second content selection routine708is configured to update the aggregated user profile414to reflect the interest of the user to the first digital content item308.

Turning now toFIG. 6, the functionality of each one of the first content selection routine702, the receiving routine704, the localization routine706and the second content selection routine708, as well as data and/or information processed or stored therein will be explained below with reference to the second scenario in reference toFIG. 6.

For simplicity, elements or functions of the Scenario 2 have been labelled with the same reference numerals. New elements or functions not disclosed within the Scenario 1 have been labelled with additional reference numerals. It should be understood that some elements or functions performed under Scenario 1 is not similarly performed in Scenario 2 and vice-versa.

First Content Selection Routine702—Scenario 2

The first content selection routine702is configured to access the digital content item database126and select a digital content item (such as the first digital content item308). How the first content selection routine702selects the first digital content item308is not limited. Suffice to say that the first content selection routine702may select the first digital content item308in a similar manner as disclosed with regards to the Scenario 1 above.

The first content selection routine702is then configured to transmit a data packet710to the first content display device602. The data packet710comprises the first digital content item308to be displayed on the first display screen606.

In some non-limiting embodiments, the data packet710further comprises display instructions, such as the time at which the digital content item308must be displayed.

After the digital content item308has been displayed at least once, the receiving routine704is configured to receive a data packet712from the electronic device102. The data packet712comprises the navigation log110(seeFIG. 2) associated with the electronic device102.

As discussed briefly above, the navigation log110may comprise the user device ID206and a list of GPS positions and respective time stamps that have been collected offline, and/or during use of the navigation application108. Accordingly, the data packet712may be received during the in-use phase of the navigation application108, or received on a periodical basis, such as every day, every 48 hours, and the like.

In some non-limiting embodiments, the receiving routine704is configured to transmit a location of the content display device502to the electronic device102and request a subset of the navigation log110which comprise a list of GPS positions with respective time stamps nearby the location.

Based on the navigation log110, the receiving routine704is configured to build a user navigation history, which is indicative of the user movement within a predetermined time period. For example, the user navigation history maybe indicative that the user has travelled within a building which comprises the first content display device602.

If the user navigation history is indicative that the user has travelled within the building comprising the first content display device602, the receiving routine704is further configured to receive a data packet714from the first content display device602.

The data packet714comprises an indication of the first exposure perimeter634, a first captured image (not depicted) taken at the start of the displaying of the first digital content item308, a second captured image (not depicted) taken at the end of the displaying of the first digital content item308, and one or more identifiers (such as the first identifier628, the second identifier630and the third identifier632, seeFIG. 6) collected while the first digital content item308has been displayed. Needless to say, it is contemplated that the first exposure perimeter634be stored within the server118instead.

Once the user navigation history has been built, the receiving routine704is configured to transmit a data packet716to the localization routine706. The data packet716comprises the user navigation history, the user device ID206, as well as the information contained within the data packet714.

Now based on the information contained within the data packet714, the localization routine706is configured to augment the user navigation history (described below). Developers have assumed that although the user navigation history may be able to provide a good indication of where the user has travelled, in some situations, such as inside a building, it may not be sufficiently precise to determine if the user has actually navigated within the first exposure perimeter634. For example, it may be that the first content display device602is provided on a second floor of the building, which would make the determination imprecise if the user navigation history is used. The localization routine706is then configured to determine a likelihood parameter of the user having been exposed to the first digital content item308based on the augmented user navigation history.

With reference toFIG. 8, a schematic illustration on how the user navigation history is augmented and how the likelihood parameter is determined are depicted.

Let us assume that at a starting time802of the displaying of the first digital content item308, a first image806has been captured. The first image806comprises the first user618and the second user620. Furthermore, within a predetermined time period from the start of the displaying of the first digital content item308, the first sensor610has collected the first identifier628, the second identifier630and the third identifier632.

At an ending time804of the displaying of the first digital content item308, a second image810has been captured. The second image810comprises the second user620only. Furthermore, within a predetermined time period from the end of the displaying of the first digital content item308, the first sensor610has collected the second identifier630and the third identifier632.

Based on a deduction analysis, the localization routine706is configured to determine that the first user618is associated with the first identifier628, while the second user620is associated with the second identifier630and the third identifier632.

The localization routine706is further configured to execute a face recognition application (not shown). The face recognition application is configured to access the user profile database128, and determine if the face of the second user620captured by the second image810is associated with a user profile. How the face recognition application is implemented is generally known in the art, and will not be descripted herein.

Assuming that the profile picture (not depicted) that is associated with the aggregated user profile414(seeFIG. 4) corresponds to the face of the second user620captured in the second image810, the localization routine706is configured to associate the aggregated user profile414with the second user620.

Having associated the aggregated user profile414and the second user620, the localization routine706is configured to augment the user navigation history. More precisely, the localization routine706is configured to determine if the user device ID206corresponds to one of the unique ID included within the list of associated unique IDs416(seeFIG. 4). In the affirmative, the user navigation history is updated with the determination made by the localization routine706, such as the floor on which the user has travelled, distance between the first display screen and the user (based on the signal strengths), dwelling time, direction of movement of the user, and the like.

Needless to say, it is contemplated that the aggregated user profile414and the second user620are associated by other means, such as described in a co-owned U.S. Patent Application attorney docket number 40703-127 entitled METHOD AND SYSTEM FOR PROVIDING RECOMMENDED DIGITAL ITEM TO ELECTRONIC DEVICE, the content of which is incorporated herein in its entirety.

Having associated the aggregated user profile414with the second user620, the localization routine706is configured to determine the likelihood parameter of the user having been exposed to the digital content item308based on the augmented user navigation history.

The localization routine706is configured to apply a set of heuristic rules to determine the likelihood parameter. Just as a non-limiting example, the set of heuristic rules may include one or more of the following determinations:Whether the collected signal strengths are indicative of the second user620being close to the first content display device602;Whether the first image806and the second image810are indicative of the second user620looking at the first display screen606; andWhether the user has been presented nearby the first content display device for the duration of the displaying of the first digital content item308.

How the likelihood parameter is implemented is not limited, and may for example be implemented as a percentage value, a range value (i.e. from 1 to 10), or as a binary value.

The localization routine706is further configured to compare the likelihood parameter against a threshold value. The manner in which the threshold value is determined is not limited, and may for example be determined empirically. Furthermore, how the threshold value is implemented is not limited, and will depend on how the likelihood parameter is implemented.

Now, although in the example, only the second user620has been present at the ending time804, it is possible that in some scenario, both the first user618and the second user620are still present at the ending time804, which prevents the localization routine706from associating the aggregated user profile414to the second user620.

In such situations, the localization routine706is configured to wait until it receives a data packet715which contains a picture of a single person, as well as the identifiers corresponding to the one or more identifiers previously received within the data packet714. For example, the localization routine706may receive the data packet715from the second content display device604, which comprises at least a third image (not depicted), and the second identifier630and the third identifier632collected by the second sensor614(seeFIG. 6).

By the deduction analysis, the localization routine706is then configured to associate the aggregated user profile414to the second user620(as well as associating another aggregated user profile to the first user618), and determine a respective likelihood parameter to the first user618and the second user620.

Second Content Selection Routine708—Scenario 2

In response to the likelihood parameter being above the threshold value, the localization routine706is configured to transmit a data packet718to the second content selection routine708. The data packet718comprises an indication of the likelihood parameter being above the threshold value, as well as the aggregated user profile414.

The second content selection routine708is configured to execute the following functions. First, the second content selection routine708is configured to access the user profile database128and determine if the topic associated with the first digital content item308is aligned with the aggregated user profile414.

If it is determined that the first digital content item308is aligned with the aggregated user profile414, the second content selection routine708is configured to access the digital content item database126and retrieve the second digital content item312that is also stored within the first topic cluster304.

The second content selection routine708is further configured to transmit a data packet720to the service servers (such as the first service server404and the second service server410, seeFIG. 4). The data packet720comprises the second digital content item312instructions to display the second digital content item312as a recommended digital content item when the user accesses one of the associated service applications (such as the first service application401and the second service application409) using the electronic device102.

If on the other hand, the first digital content item308is not aligned with the aggregated user profile414, the second content selection routine708is configured to update the aggregated user profile414to reflect the interest of the user to the first digital content item308.

The various non-limiting embodiments of the present technology may allow proper determination of the exposure of a digital content item to a user in an offline setting, thereby allowing proper selection of further digital content item in an online setting.

Given the architecture and examples provided hereinabove, it is possible to execute a computer-implemented method for providing a recommended content item. With reference toFIG. 9, there is depicted a flow chart of a method900for providing the recommended content item. The method900being executable in accordance with non-limiting embodiments of the present technology. The method900can be executed by the server118.

Step902: causing the user-independent digital content display, to display a first digital content item from the content item database, the first digital content item not being personalized for the user

The method900will be explained below with reference to two scenarios. It should be understood that the scenario presented herein below are for illustration purposes only, and the present technology is no way to be limited based on the scenarios presented below.

The method900starts at step902, where the first content selection routine702accesses the digital content item database126and selects a digital content item to be displayed on the display screen132.

Scenario 1: The first content selection routine702transmits the data packet710to the content display device502(seeFIG. 5). The data packet710comprises the first digital content item308to be displayed on the display screen508.

Scenario 2: The first content selection routine702transmits the data packet710to the first content display device602(seeFIG. 6). The data packet710comprises the first digital content item308to be displayed on the first display screen606.

Step904: receiving, from the electronic device, data indicative of the electronic device movement, the data having been captured by the geo-sensor

At step904, after the digital content item308has been displayed at least once, the receiving routine704is configured to receive from the electronic device102, data indicative of the movement of the electronic device102.

Scenario 1 and Scenario 2: The receiving routine704receives the data packet712from the electronic device102, which comprises the navigation log110(seeFIG. 2) associated with the electronic device102.

Step906: based on the data, generating a geo-track associated with the electronic device

At step906, based at least on the navigation log110, the receiving routine704is configured to build the user navigation history, indicative of the movement of the electronic device102.

Scenario 1: Based on the navigation log110, the receiving routine704is configured to build the user navigation history, which may for example be indicative that the user was travelling on the road504(seeFIG. 5).

In some non-limiting embodiments, the receiving routine704is further configured to receive the data packet714from the content display device502. The data packet714comprises an indication of the exposure perimeter510associated with the content display device502.

Scenario 2: Based on the navigation log110, the receiving routine704is configured to build the user navigation history, which may for example be indicative that the user entered a building which comprises the first content display device602.

If the user navigation history is indicative that the user has travelled within the building comprising the first content display device602, the receiving routine704is further configured to receive the data packet714from the first content display device602.

The data packet714comprises an indication of the first exposure perimeter634, a first captured image (not depicted) taken at the start of the displaying of the first digital content item308, a second captured image (not depicted) taken at the end of the displaying of the first digital content item308, and one or more identifiers (such as the first identifier628, the second identifier630and the third identifier632, seeFIG. 6) collected while the first digital content item308has been displayed.

Step908: determining based on the geo-track and the exposure perimeter, a likelihood parameter indicative of the user having been exposed to the first digital content item being displayed by the user-independent digital content display

At step908, the receiving routine704is configured to transmit the data packet716to the localization routine706. The data packet716comprises data for the localization routine706to determine the likelihood parameter of the user associated with the electronic device102to have been exposed to the first digital content item308.

Scenario 1: Once the user navigation history has been built, the receiving routine704is configured to transmit the data packet716to the localization routine706. The data packet716comprises the user navigation history, the exposure perimeter510, and the user device ID206(which was provided within the navigation log110previously).

The localization routine706is configured to determine if any of the navigated positions correlate with the exposure perimeter510during the displaying of the first digital content item308and for a pre-determined minimum amount of time.

In some of the non-limiting embodiments of the present technology, the localization routine706is configured to apply a set of heuristic rules to determine a likelihood parameter that is indicative of the user having been exposed to the first digital content item308.

Scenario 2: Once the user navigation history has been built, the receiving routine704is configured to transmit the data packet716to the localization routine706. The data packet716comprises the user navigation history, the user device ID206, as well as the information contained within the data packet714.

Now based on the information contained within the data packet714, the localization routine706is configured to augment the user navigation history and determine a likelihood parameter of the user having been exposed to the first digital content item308.

More precisely, the localization routine706is configured to associate the collected one or more identifiers (such as the second identifier630and the third identifier632, seeFIG. 6) during the displaying of the first digital content item308, with the face of the user captured by the first image806and the second image810(seeFIG. 8).

The localization routine706is configured to execute the face recognition application (not shown). The face recognition application is configured to access the user profile database128, and determine that the face of the second user620is associated with the aggregated user profile414.

Having associated the aggregated user profile414and the second user620, the localization routine706is configured to augment the user navigation history. More precisely, the localization routine706is configured to determine if the user device ID206corresponds to one of the IDs included within the list of associated unique IDs416(seeFIG. 4). In the affirmative, the user navigation history is updated with the determination made by the localization routine706.

Based on the augmented user navigation history, the localization routine706is configured to determine the likelihood parameter of the user having been exposed to the digital content item308, by applying a set of heuristic rules.

Step910: in response to the likelihood parameter being above a pre-determined threshold, verifying if a topic of the first digital content item is aligned with a user profile associated with the user stored in the online user profile database

At step910, the localization routine706is configured to compare the likelihood parameter against a threshold value, and verify if the topic of the first digital content item308is aligned with the aggregated user profile414.

Scenario 1: In response to the likelihood parameter being above the threshold value, the localization routine706is configured to transmit the data packet718to the second content selection routine708. The data packet718comprises an indication of the likelihood parameter is above the threshold value, as well as the user device ID206

The second content selection routine708is configured to execute the following functions. First, the second content selection routine708is configured to access the user profile database128and retrieve the aggregated user profile414based on the user device ID206. Once retrieved, the second content selection routine708is configured to determine if the topic associated with the first digital content item308is aligned with the aggregated user profile414.

Scenario 2: In response to the likelihood parameter being above the threshold value, the localization routine706is configured to transmit the data packet718to the second content selection routine708. The data packet718comprises an indication of the likelihood parameter is above the threshold value, as well as the aggregated user profile414.

The second content selection routine708is configured to access the user profile database128and determine if the topic associated with the first digital content item308is aligned with the aggregated user profile414.

Step912: in response to the topic of the first digital content item being aligned with the user profile, selecting a second digital content item, the second digital content item sharing the topic of the first digital content item

Scenario 1 & 2: At step912, if it is determined that the first digital content item308is aligned with the aggregated user profile414, the second content selection routine708is configured to access the digital content item database126and retrieve the second digital content item312that is also stored within the first topic cluster304.

Step914: transmitting the second digital content item to the electronic device associated with the user

Scenario 1 & 2: At step914, the second content selection routine708is further configured to transmit the data packet720to the service servers (such as the first service server404and the second service server410, seeFIG. 4). The data packet720comprises the second digital content item312instructions to display the second digital content item312as a recommended digital content item when the user accesses one of the associated service applications (such as the first service application401and the second service application409) using the electronic device102.

It should be apparent to those skilled in the art that at least some embodiments of the present technology aim to expand a range of technical solutions for addressing a particular technical problem encountered by the conventional content item recommendation services, namely determining exposure to offline advertisements and providing for display additional content items on topics that the user may desire to obtain.

It should be expressly understood that not all technical effects mentioned herein need to be enjoyed in each and every embodiment of the present technology. For example, embodiments of the present technology may be implemented without the user enjoying some of these technical effects, while other embodiments may be implemented with the user enjoying other technical effects or none at all.

While the above-described implementations have been described and shown with reference to particular steps performed in a particular order, it will be understood that these steps may be combined, sub-divided, or re-ordered without departing from the teachings of the present technology. Accordingly, the order and grouping of the steps is not a limitation of the present technology.