Just In Time Online Advertising and Promotion System

20180218402 ยท 2018-08-02

    Inventors

    Cpc classification

    International classification

    Abstract

    This invention proposes a real time advertising and promotion apparatus that manages and distributes advertisement and promotion and marketing material to mobile, and in some cases stationary users based on their exact locations relative to where the advertised product and service is offered. The selection of ads are done with direct input from users. Each user creates his or her own selection criteria that are applied at run time to figure out the appropriate set of ads that offer products and services in which the user has expressly shown interest. Ads are delivered and presented to users directly through the system's interface, which offers a rich set of functions to the user that can be used to control what they receive and see, when and where. The system offers additional features that help users manage and use the ads that are presented. The apparatus also supports location and/or distance targeting for mobile vendors that do not have a fixed location and constantly or periodically move.

    Claims

    1. A direct advertising apparatus comprising an independent, standalone and interactive application that takes direct input from its users and delivers advertisement and promotional material chosen based on the input from the user.

    2. The apparatus of claim 1, further comprising of methods enabling users to restrict the advertisement they receive by time of day, day of week, and any combination thereof.

    3. The apparatus of claim 1, further comprising of methods allowing users to restrict or promote any number of categories of products or services in their entirety, or specific subset within them using product or service types or brand, or by names.

    4. The apparatus of claim 1, further comprising of methods allowing users to block or unblock, restrict or promote any number vendors from the advertisements they receive.

    5. The apparatus of claim 1, further comprising of methods allowing users to restrict the advertisement they receive based on product and/or vendor rating.

    6. The apparatus of claim 1, further comprising of methods allowing users to restrict the advertisement they receive based on the type and amount of promotions and discount the advertisement offers.

    7. The apparatus of claim 1, comprising of methods which allow users to promote or restrict advertisements they receive based on any combination of vendor name, product category, brand or name, vendor and product rating, and promotion and discount type and amount.

    8. The apparatus of claim 1, comprising of methods which allow users to read ratings and reviews for the advertised product and record rating and write reviews all within the apparatus.

    9. A direct advertising apparatus comprising of receiving the exact location of its target users and limiting the advertisements to such users to product and services that are offered within the user specified distances to any specific directions or any specific areas that do or do not conform to a typical geometrical shapes.

    10. A direct advertising apparatus comprising of methods that allow user or vendor defined distance or area restrictions to be enforced on mobile vendors who do not have a fixed location and change location continuously or periodically.

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0035] FIG. 1 is a diagram that shows the main components and actors of the system.

    [0036] FIG. 2 shows the major components of an Ad Client Application.

    [0037] FIG. 3 depicts the major components of an Ad Server system.

    DETAIL DESCRIPTION OF THE INVENTION

    [0038] The general working principle of the proposed solution is to put consumers in charge when deciding what kind of advertisements they receive, where and when. To achieve that, variety of settings, configurations and controls are made available to them to create and customize an environment that best suits they needs and wishes. All the settings and controls may be put in one of the following four categories: location, time, interests, and product. The ability to combine the criteria from all of these category in a precise and accurate manner is the main distinguishing feature of this invention. By setting the criteria in each of the categories, users can create an ad delivery environment that is customized to their needs and interests. Due to that, ads that are delivered via that environment are far more likely to be received, liked and used by users. This system takes the guess work out of figuring out what users might be interested in, which is the case for almost all the existing ad systems, and put the responsibility on consumers to tell the system what they're interested in, what products, services and vendors they would like to hear about and what they don't want to hear about. Consumers are not the sole beneficiary of this system. Vendors and advertisers benefit from it as well. In this system, ads are much more likely to be received favorably by consumers since they control the environment. That increases the efficiency of ad campaigns and higher efficiency in turn means lower cost.

    [0039] Exact targeting of users is especially useful for businesses that rely on local customers. Local customers in this context means customers who are, or soon going to be in close proximity to the product or service vendor. For instance, a pizza shop, might have a lot of success with an ad campaign that targets people who are interested in food/pizza and are within 200 yards on the shop, which is exactly what this system is designed to do. Such campaign can be even more precise by targeting people who like food/pizza and just happen to be on the same street as the shop and within a 200 yard distance.

    [0040] For many consumers, products, services and vendors, timing of the ad is crucially important. Delivering an ad at the right time can affect the effectiveness of the ad in a very significant way. Take the aforementioned pizza shop for example. A discount coupon that is delivered to a person who is in close proximity to the shop is much more likely to be used if it's received around lunch time, compared to 4 PM. An ad for movies is likely to be favorably received by a consumer on Friday, or Saturday night, compared to Tuesday morning.

    [0041] Interest categories set by consumers eliminate the need for the system to try to figure out and guess what kind of things a particular user is interested in. By setting up their interests, consumers tell the system what they are and what they are not interested in. That significantly reduces the amount of unwanted ads that are sent to consumers, thus, increasing customer satisfaction and reducing cost.

    [0042] The product category of settings comprises all criteria that have to do with product, vendor and ad characteristics and quality. Things like product and vendor star rating, brand name, ad and promotion type, and amount of offered discount fall under this category, which can be used by consumers to further control the kind of ads they receive.

    [0043] Using all or subset of these categories, consumers can create a very specific ad consuming campaign that is tailored to their specific needs. This has the effect of enabling advertisers to have one customized campaign per consumer.

    [0044] FIG. 1 shows the major components and actors of the physical system that implements and provides all required functionality. The entire system comprises three major components: Ad Client Application (10), Ad Campaign Management Portal (20) and System Backend (30). The figure also shows two external actors of the system, the user (1), which is the consumer of ads and the advertiser (2). Ad client application (10) is what users or consumers use to interact with the system, including setting up their environment, receiving and consuming ads and sending queries and receiving back responses. Campaign Management Portal (20) is what advertisers use to interact with the system and setup, monitor, and manage their advertising campaigns. The portal can have different forms and may run on different types of devices. For example, it can be a browser based or stand alone application, a mobile application, or even an Interactive Voice Response (IVR) system. The Ad Server (30) is the backend of the system where everything comes together, campaigns are executed, ads are delivered, reports are generated, and everything else that needs to happen to setup and execute ad campaigns, and deliver ads to consumers.

    [0045] Advertisers or their agent use the campaign management portal to set up their ad campaigns. Through the portal, they specify all the properties of their campaigns, including start time, preferred target demographic, completion criteria, distance restrictions and any other attributes allowed and supported by the system. They also upload all campaign materials such as creatives for the ads. The portal is used to deploy the campaign as well, and once the campaign is deployed and its start time arrives, the system starts executing it. On the other side of the system, users create their own ad consumption campaigns through the ad client (10). Users' and advertisers' ad campaigns come together in ad server (30) and matches are made at run time between advertisers' and users' criteria and matching ads are delivered to the users by the ad server (30) via the ad client (10).

    [0046] The client application (10) is the primary point of interaction with the system for the end user. It interacts with the user in two different ways. It allows the user to set up and change his or her preferences, which may include: enabling or disabling services, pausing or resuming services, setting up preferences and interests, etc. The app is also responsible for interacting with the system, i.e. the ad serving engine, to fetch, receive or cache ads or promotions and display them to the user. In this process, the application also transmits the relevant data back to the system. The transmitted data may include the location data, ad or promotion performance data, usage data and others. The application may also work in blind or offline mode. The blind mode disables the location aspect of the application by stopping the transmission of location information to the back end of the system. The blind mode allows the ads and promotions to be served even when the client's location is not known, when possible.

    [0047] The client app (10) performs its interactions with the ad server (30) seamlessly without the user having to do anything, and keeps the user's ad content on his/her device up to date. There are several different triggers for the client app to perform an update. The main ones are changes in location and time. As the user moves about, and as the time passes, new sets of ads may become eligible for viewing by the user and some of the existing ads on the user's view may become ineligible. The client handles all the updates on the background and keeps the user's content up to date at all times. Because the client keeps a cache of ads on its side, it does not have to contact the server constantly to keep the user's view up to date. The client tries to handles all the changes locally on the client side and only calls the server when it requires additional ads or information that it does not have. As the user moves about and/or as time passes, the client application keeps the list of ads that is visible to the user accurate by removing ads that no longer match user's criteria from the list and add newly eligible one to it.

    [0048] FIG. 2 shows the major components that make up the client application (10). The figure shows only one way in which the component can be designed. There may be many different or similar ways to achieve the same results. The functionality provided by these modules collectively handle all client related operations from environment settings and configuration, to presenting ads, and collecting and submitting the relevant data to the ad server (30). All users' explicit interactions with the system is performed through the presentation module (11). The presentation module provides a graphical interface that provides two main sets of functions: setting and configuration, and ad presentation and consumption. Setting and configuration data is collected and sent back to the ad server (30) to be stored in the system and used in ad selection operations. Ad presentation and consumptions function of the presentation module takes care of presenting the ads that have been selected for the user at any time.

    [0049] Ad selector module (12) is responsible for selecting the right ads from the cache of ads available on the user's device based on the current time and location of the user. At any point in time the ad cache may contain ads that do not satisfy all ad serving criteria at the current time and location. The filtering of ads is done by the ad selector so that only appropriate ads are shown to the user. Ad selector (12) might also notify the cache if any content is missing so it can fetch it from the appropriate source.

    [0050] Content Cache (13) receives content from the asynchronous content fetcher (14) and serves the up to the ad selector (12) and the presentation module (11). The presentation module (11) can ask for detail content of a specific as directly from the cache without going through the ad selector (12). Ad headers or records are fetched by the ad selector (12) from the cache before they are served to the presentation module (11). The content cache (13) module is in charge of making decisions about which content to keep and which content to purge based on the current and anticipated circumstance. This task is important due to limited resources available to the application on the user's device. The content cache may decide to fetch ads for a larger area that is currently needed by the ad selector (12) based on the user's movement. This is to reduce the number of time that it needs to send a request to the ad server to fetch more ads and speed up the process of serving the user with correct ads.

    [0051] Asynchronous Content Fetcher (14) is a module that fetches content from the backend, asynchronously. This module sends submits to the backend the current location of the user when it significantly changed and receives back a new set of ads that have already become, or are anticipated to soon become eligible for serving based on the current location or the user and time. The ads that are sent back to the client app by the backend are put in the cache where they are served to the ad selector (12) at the appropriate time. In some cases, this module might have to respond to requests and fetch some content synchronously to minimize the latency experienced by the user.

    [0052] All significant event on the client side are collected and sent to the backend system by the Stat Collector module (15) for analysis. Stat collector (15) collects all those events and submits them in batches. If the device has no connectivity, the stat collector stores data it's collected locally on the device and submits them when the connectivity is restored. The data submitted are collected on the backend from all clients, combined and analyzed for variety of reasons including improving ad serving processes.

    [0053] Communication Module (16) handles all communications from the client app to ad server (30).

    [0054] FIG. 3 shows a set of modules that make up the Ad Server (30) component. The figure only shows one way that this component can be implements and there may be other ways to achieve the desired functionality, which may have different set of modules. In the design shown in the figure, the Ad Server component (30) consists of six major sub-components or modules, which together perform all tasks necessary to run the system. User portal (31) is what the user application talks to when communicating with the ad server (30). Sending and receiving any kind of data and/or messages is done through the portal. The API module (32) is the interface between the portal and the backend. This is to provide consistent access to the services that the ad server (30) provides to all its clients regardless of how they access the system. Ad serving engine (33) is the component that is responsible for responding to clients' requests for ads by selecting, preparing and submitting the best set of ads that satisfy all the requirements and criteria set by users and advertiser. Campaign Management (34) handles all things related to setting up, executing and managing ad campaigns. This component is mainly responsible for responding to queries from the advertiser portal. Content Engine (35) is responsible for managing and making available to other components all contents including campaign records and creatives, statistics, reports and any other persisted content, as well as ensuring the safe and secure storage of all data. Analytics engine (36) is an auxiliary component that is used for analyzing all relevant data and producing intelligence that can be used to improve the system as a whole, including user experience and internal and external processes that might lead to cost saving or increasing campaign efficiency.

    [0055] The Ad Server Engine (33) contains three module of its own, in this design. Ad Selector (33A) makes all ad selections at the request of the client based on all relevant criteria, such as the user's location, current time, user preferences and restrictions, campaign restrictions and statistics, ad viewing data, and input from the analytics engine. Location module (33B) handles all calculations related to geographical location. Location and geo-coordinate related calculations can be complicated and computationally intensive. For that reason, a dedicated module is assigned to handle all related operations. In-memory database (33C) is a module that provides fast read and write access to sensitive data for operations that are time sensitive, especially the ones that affect users' experience.