Analyzing augmented reality content usage data

By collecting and analyzing augmented reality content usage data, the problem of insufficient user interaction information in existing systems has been solved, enabling accurate identification of target audiences and content optimization.

CN115803779BActive Publication Date: 2026-01-16SNAP INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202180045808.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-06-29
Filing Date
2021-06-29
Publication Date
2026-01-16
Estimated Expiration
2041-06-29

AI Technical Summary

Technical Problem

Existing systems and methods are unable to effectively track the use of augmented reality content, provide limited user interaction information, and limit the data analysis capabilities of augmented reality content creators.

Method used

By collecting and analyzing augmented reality content usage data, including user interaction information and feature tracking, more detailed user profiles and interaction analysis are provided, supporting augmented reality content creators in customizing content and implementing advertising campaigns.

Benefits of technology

Augmented reality content creators can more accurately identify their target audience, optimize content customization and advertising strategies, and improve the efficiency of content use.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115803779B_ABST
    Figure CN115803779B_ABST
Patent Text Reader

Abstract

In one or more implementations, a user interface including user interface elements that enable tracking or monitoring of a client application user's interaction with augmented reality content can be generated. Usage metrics of the augmented reality content can be collected and analyzed. Further, information about the client application user that interacts with the augmented reality content can be generated. In one or more examples, characteristics of the client application user that interacts with one or more augmented reality content items can be analyzed to determine a user characterization of the one or more augmented reality content items. The usage metrics and user characterization of the augmented reality content items can be presented via a dashboard accessible to a creator of the augmented reality content.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CLAIM OF PRIORITY

[0002] This patent application claims the benefit of priority to U.S. Application Serial No. 62 / 705,468, filed June 29, 2020, the entire contents of which are incorporated herein by reference. BACKGROUND

[0003] Applications executed by client devices can be used to generate content. For example, client applications can be used to generate messaging content, image content, video content, audio content, media overlays, documents, creative works, combinations thereof, and the like. In various cases, user content can be modified by augmented reality content. BRIEF DESCRIPTION OF DRAWINGS

[0004] In the drawings, which are not necessarily drawn to scale, like numerals can describe similar components in different views. To easily identify the discussion of any particular element or act, the most significant digit or digits in any

[0005] Figure 1 is a graphical representation of an architecture for exchanging data (e.g., messages and related content) over a network, in accordance with one or more example implementations.

[0006] Figure 2 is a graphical representation of a system that can have both client-side and server-side functionality, in accordance with some examples.

[0007] Figure 3 is a schematic diagram illustrating data that can be stored in a database of a server system, in accordance with one or more example implementations.

[0008] Figure 4 is a schematic diagram illustrating an example framework of content that can be accessed via a client application, in accordance with one or more example implementations.

[0009] Figure 5 is a graphical representation of an architecture for analyzing augmented reality content usage data, in accordance with one or more example implementations.

[0010] Figure 6 is a flowchart illustrating example operations of a process for determining a characterization of a client application user that interacts with one or more augmented reality content items, in accordance with one or more example implementations.

[0011] Figure 7 is an illustration of a user interface that includes features that can be incorporated into augmented reality content, in accordance with one or more example implementations.

[0012] Figure 8 is an illustration of a user interface that includes user content to which augmented reality content items can be applied, in accordance with one or more example implementations.

[0013] Figure 9 is an illustration of a user interface that includes augmented reality content applied to user content, in which multiple features of the augmented reality content are associated with selectable user interface elements, in accordance with one or more example implementations.

[0014] Figure 10 is a representation of an environment that includes a client device displaying a user interface that includes information about one or more augmented reality content items of an AR content creator, in accordance with one or more example implementations.

[0015] Figure 11 is a representation of an environment that includes a client device displaying an additional user interface that includes information about one or more augmented reality content items of an AR content creator, in accordance with one or more example implementations.

[0016] Figure 12 is a representation of an environment that includes a client device displaying a user interface that includes information characterizing a user of a client application that interacted with an augmented reality content item, in accordance with one or more example implementations.

[0017] Figure 13 is a block diagram illustrating components of a machine in the form of a computer system, which can read and execute instructions from one or more machine-readable media to perform any one or more of the methodologies described herein, in accordance with one or more example implementations.

[0018] Figure 14 is a block diagram illustrating a representative software architecture that can be used in conjunction with one or more hardware architectures herein described, in accordance with one or more example implementations. DETAILED DESCRIPTION

[0019] Personal and organizations can create augmented reality content that can be consumed by users of client applications that can execute the augmented reality content. For example, augmented reality content can be created that modifies the appearance of one or more objects included in user content, where the user content can include at least one of image content, video content, or audio content captured via one or more input devices of a client device. To illustrate, the augmented reality content can modify the appearance of one or more persons included in the user content. In one or more examples, the augmented reality content can modify the user content by adding at least one of image content or video content that modifies the appearance of an object included in the user content to the user content. In various examples, the augmented reality content can overlay at least a portion of an object included in the user content. Further, the augmented reality content can modify pixel data of the image content or video content to change the appearance of at least one object included in the user content.

[0020] In existing systems and methods, the amount of information that augmented reality content creators can obtain regarding the use of their augmented reality content is limited. In one or more examples, augmented reality content creators can obtain information indicating the amount of time that a user of a client application has viewed the augmented reality content or the number of times the augmented reality content has been shared with other users of the client application. Further, augmented reality content creators can at most obtain limited information about the characteristics of the users of the client application that are consuming these creator generated augmented reality content. Existing systems and methods generate augmented reality content that lack technical functionality that tracks the use of augmented reality content in ways that provide augmented reality content creators with more robust information about the use of the augmented reality content that they have created. In particular, during the creation of augmented reality content, existing systems and methods provide limited granularity about the user's interaction with the augmented reality content. Further, the technical infrastructure used by existing systems and methods limits the availability and amount of information about the characteristics of the users that interact with the augmented reality content.

[0021] The systems, methods, techniques, instruction sequences, and computer program products described herein are directed to collecting and analyzing augmented reality content usage data. The implementations described herein can be used to obtain additional information related to usage of augmented reality content that existing systems and methods are not capable of obtaining. For example, the implementations described herein can collect profile information of users of a client application that interact with augmented reality content. The implementations described herein can also analyze the collected information about client application users. In this way, the systems and methods described herein can provide augmented reality content creators with detailed information about users that consume augmented reality content generated by these creators. In one or more scenarios, augmented reality content creators can tailor their augmented reality content to audiences of other client application users based on characteristics of client application users that have previously interacted with their augmented reality content. Additionally, augmented reality content creators can implement advertising campaigns to get their augmented reality content known to additional client application users that share characteristics with client application users that have previously interacted with augmented reality content generated by these creators.

[0022] In various examples, the systems and methods described herein can enable creators of augmented reality content to associate a plurality of particular user interface elements with features of augmented reality content items. For example, a creator of augmented reality content can select features of their augmented reality content item to track user interactions with the features for those features. To illustrate, an augmented reality content item can include a plurality of features that a user of a client application can interact with, and a creator of the augmented reality content item can indicate that one or more of the features are associated with selectable user interface elements. In these cases, user input indicating that at least one of the selectable user interface elements has been selected can be collected and analyzed. In this way, additional interactions of a user of a client application with augmented reality content that cannot be captured by existing systems and methods can be tracked, and a greater degree of granularity about interactions with features of an augmented reality content item can be tracked relative to existing systems and methods. In one or more examples, metrics indicating an amount of user interaction with an augmented reality content item or an amount of user interaction with features of an augmented reality content item can be determined based on data obtained from tracking selections of user interface elements corresponding to the augmented reality content item.

[0023] The systems and methods described herein can also determine profile information of a client application user that interacts with augmented reality content. In various examples, the implementations described herein can identify interactions of a client application user with augmented reality content and store profile information of the client application user in association with the augmented reality content. The systems and methods described herein can then analyze the user profile information to determine a characterization of the client application user that interacts with the augmented reality content. The characterization of the client application user can indicate a characteristic of the client application user that interacts with the augmented reality content. In one or more examples, the profile information of the client application user that interacts with the augmented reality content can be analyzed to determine a target audience for the augmented reality content.

[0024] Accordingly, the systems, methods, techniques, instruction sequences, and computer machine program products described herein provide various implementations to collect more information about the use of augmented reality content by providing an underlying technical architecture that enables tracking of interactions of client application users with various features of augmented reality content items as compared to existing systems and methods. The systems and methods described herein also provide additional insights about client application users that interact with augmented reality content items generated by augmented reality content creators in relation to existing systems and methods. In this way, augmented reality content creators can identify client application users that are more likely to interact with their augmented reality content as compared to existing systems and methods. In cases where the augmented reality content is related to one or more products, the augmented reality content creators are more likely to identify client application users that will purchase their products as compared to existing systems and methods.

[0025] Figure 1 is a graphical representation of an architecture 100 for exchanging data (e.g., messages and related content) over a network. The architecture 100 can include a plurality of client devices 102. The client devices 102 can individually include, but are not limited to, a mobile phone, a desktop computer, a laptop computing device, a portable digital assistant (PDA), a smart phone, a tablet computing device, an ultrabook, a netbook, a multi-processor system, a microprocessor-based or programmable consumer electronic system, a game console, a set-top box, a computer in a vehicle, a wearable device, one or more combinations thereof, or any other communication device that a user can use to access one or more components included in the architecture 100.

[0026] Each client device 102 can host multiple applications, including a client application 104 and one or more third-party applications 106. A user can use the client application 106 to create content, such as videos, images (e.g., photos), audio, and media overlays. In one or more illustrative examples, the client application 104 can include social networking functionality that enables users to create and exchange content. In various examples, the client application 104 can include messaging functionality that can be used to send messages between instances of the client application executed by various client devices 102. Messages created using the client application 104 can include videos, one or more images, audio, media overlays, text, content produced using one or more authoring tools, annotations, and the like. In one or more implementations, the client application 104 can be used to view and generate interactive messages, view locations of other users of the client application 104 on a map, chat with other users of the client application 104, and the like.

[0027] One or more users can be a human, a machine, or other apparatus that interacts with a client device, such as a client device 102. In example implementations, a user can not be part of the architecture 100, but can interact with one or more components in the architecture 100 via a client device 102 or otherwise. In various examples, a user can provide input to a client device 102 (e.g., touch screen input or alphanumeric input), and that input can be communicated to other entities in the architecture 100. In this case, other entities in the architecture 100, in response to the user input, can communicate information to the client device 102 to be presented to the user. In this way, a user can interact with various entities in the architecture 100 using a client device 102.

[0028] Each instance of the client application 104 can communicate with and exchange data with at least one of another instance of the client application, one or more third-party applications 106, or the server system 108. The data exchanged between instances of the client application 104, between third-party applications 106, and between at least one instance of the client application 104 and the server system 108 includes functionality (e.g., commands to invoke functionality) and payload data (e.g., text, audio, image, video, or other multimedia data). The data exchanged between instances of the client application 104, between third-party applications 106, and between at least one instance of the client application 104 and at least one third-party application 106 can be exchanged directly from an instance of an application executed by the client device 102 and an instance of an application executed by an additional client device 102. Further, the data exchanged between client applications 104, between third-party applications 106, and between at least one client application 104 and at least one third-party application 106 can be transmitted indirectly (e.g., via one or more intermediary servers) from an instance of an application executed by the client device 102 to another instance of an application executed by an additional client device 102. In one or more illustrative examples, the one or more intermediary servers used in indirect communication between applications can be included in the server system 108.

[0029] The third-party applications 106 can be separate from and distinct from the client application 104. The third-party applications 106 can be downloaded and installed by the client device 102 independently of the client application 104. In various implementations, the third-party applications 106 can be downloaded and installed by the client device 102 prior to or subsequent to downloading and installing the client application 104. The third-party applications 106 can be applications provided by an entity or organization different from an entity or organization that provides the client application 104. The third-party applications 106 can be accessed by the client device 102 using login credentials that are distinct from the client application 104. That is, the third-party applications 106 can maintain a first user account, and the client application 104 can maintain a second user account. In one or more implementations, the third-party applications 106 can be accessed by the client device 102 to perform various activities and interactions, such as listening to music, videos, tracking workouts, viewing graphical elements (e.g., stickers), communicating with other users, etc. As an example, the third-party applications 106 can include a social networking application, a dating application, a ride or car sharing application, a shopping application, a transaction application, a gaming application, an imaging application, a music application, a video browsing application, a workout tracking application, a health monitoring application, a graphical element or sticker browsing application, or any other suitable application.

[0030] The server system 108 provides server-side functionality to the client application 104 via one or more networks 110. According to some example implementations, the server system 108 can be a cloud computing environment. For example, in one illustrative example, the server system 108, and one or more servers associated with the server system 108, can be associated with a cloud-based application. In one or more implementations, the client device 102 and the server system 108 can be coupled via one or more networks 110.

[0031] The server system 108 supports various services and operations that are provided to the client application 104. Such operations include sending data to, receiving data from, and processing data generated by the client application 104. This data can include message content, media content, client device information, geolocation information, media annotations and overlays, message content persistence conditions, social network information, and real-time event information, as examples. The exchange of data within the architecture 100 is invoked and controlled through functions available via a user interface (UI) of the client application 104.

[0032] While certain functionality of the architecture 100 is described herein as being performed by the client application 104 or by the server system 108, the positioning of functionality within the client application 104 or the server system 108 is a design choice. For example, it can be technically preferable, at an initial time, to deploy certain technologies and functionality within the server system 108, but to migrate that technology and functionality to the client application 104 at a later time when the client device 102 has sufficient processing power.

[0033] The server system 108 includes an application programming interface (API) server 112 that is coupled to, and provides a programming interface to, an application server 114. The application server 114 is communicatively coupled to a database server 116 that facilitates access to one or more databases 118. The one or more databases 118 can store data associated with information processed by the application server 114. The one or more databases 118 can be storage devices storing, for example, unprocessed media content, raw media content (e.g., high-quality media content) from users, processed media content (e.g., media content formatted for sharing with and viewing on client devices 102), context data related to media content items, context data related to user devices (e.g., computing devices or client devices 102), media overlays, media overlay smart widgets or smart elements, user data, user device information, media content (e.g., videos and images), media content data (e.g., data associated with videos and images), computing device context data, serialized data, session data items, user device location data, mapping information, interactive message usage data, interactive message metric data, and the like. The one or more databases 118 can also store information related to third-party servers, client devices 102, client applications 104, users, third-party applications 106, and the like.

[0034] The API server 112 receives and transmits data (e.g., commands and message payloads) between the client device 102 and the application server 114. Specifically, the application program interface (API) server 112 provides a set of interfaces (e.g., routines and protocols) that can be called or queried by the client application 104 to invoke functionality of the application server 114. The application program interface (API) server 112 exposes various functions supported by the application server 114, including account registration, logical functions, sending messages from one instance of the client application 104 to another instance of the client application 104 via the application server 114, sending media files (e.g., images, audio, video) from the client application 104 to the application server 114, and setting up collections of media content (e.g., galleries, stories, message collections, or media collections) for possible access by another client application 104, retrieving a list of friends of a user of the client device 102, retrieving such collections, retrieving messages and content, adding and deleting friends from a social graph, friends’ locations in a social graph, and opening application events (e.g., related to the client application 104).

[0035] The server system 108 can also include a web server 120. The web server 120 is coupled to the application server 114 and provides web-based interfaces to the application server 114. To this end, the web server 120 processes incoming network requests using Hypertext Transfer Protocol (HTTP) and several other related protocols over the World Wide Web.

[0036] The application server 114 hosts a number of applications and subsystems, including a messaging application system 122, a media content processing system 124, a social network system 126, an augmented reality (AR) content creation system 128, an AR content usage system 130, and a content management system 132. The messaging application system 122 implements a number of message processing technologies and functions, particularly with respect to the aggregation and other processing of content (e.g., textual and multimedia content) included in messages received from multiple instances of the client application 104. For example, the messaging application system 122 can communicate messages using email, instant messaging (IM), Short Message Service (SMS), text, facsimile, or voice (e.g., Voice over Internet Protocol (VoIP)) messages via wired networks (e.g., the Internet), plain old telephone service (POTS), or wireless networks (e.g., mobile, cellular, WIFI, Long Term Evolution (LTE), or Bluetooth). The messaging application system 122 can aggregate textual and media content from multiple sources into collections of content. These collections are then provided by the messaging application system 122 to the client application 104. Other processor and memory intensive data processing can also be performed by the messaging application system 122 on the server side, taking into account the hardware requirements for such processing.

[0037] The media content processing system 124 is specialized to perform various media content processing operations, typically involving images, audio, or video received within the payload of messages or other content items at the messaging application system 122. The media content processing system 124 can access one or more data stores (e.g., the database 118) to retrieve stored data for processing media content and to store the results of processing the media content.

[0038] The social-networking system 126 supports various social-networking functions and services, and makes these functions and services available to the messaging application system 122. To this end, the social-networking system 126 maintains and accesses a graph of entities within the database 118. Examples of functions and services supported by the social-networking system 126 include identifying other users of the client application 104 with whom a particular user has relationships or is "following," as well as identifying other entities and interests of a particular user. The social-networking system 126 can access location information associated with each of a user's friends or other social-networking connections to determine where they live or are currently located geographically. In addition, the social-networking system 126 can maintain a location profile for each of a user's friends, indicating the geographic locations where the user's friends live.

[0039] The AR content creation system 128 can be used to generate AR content 134 that includes a plurality of AR content items 136. Individual AR content items 136 can include computer-readable instructions that can be executed to modify user content captured by the client device 102. In various examples, the AR content creation system 128 can provide one or more user interfaces that can be used to create the AR content 134. For example, the AR content creation system 128 can provide one or more user interfaces to import content that can be used to create one or more AR content items 136. To illustrate, the AR content creation system 128 can provide one or more user interfaces to import at least one of image content, video content, or audio content that can be used to generate an AR content item 136. The AR content creation system 128 can also provide one or more user interfaces with one or more creative tools that can be used to create one or more of the AR content items 136. In one or more illustrative examples, the AR content creation system 128 can implement at least one of a drawing tool, a writing tool, a sketching tool, or a coloring tool that can be used to generate the AR content 134.

[0040] The AR content creation system 128 can also enable a creator of the AR content item 136 to provide an indication to monitor or track user interactions of the client application 104 with the AR content item 136. In one or more examples, the AR content creation system can enable a creator of the AR content item 136 to identify one or more features of the AR content item to track. The features of the AR content item 136 being tracked can be included in tracked features 138. In one or more illustrative examples, the AR content creation system 128 can provide one or more user interfaces that enable selection of one or more features of the AR content item 136 to track. In various examples, a user interface tool, such as a cursor or pointer, can be used to indicate a feature of the AR content item 136 or a region of the AR content item 136 for which user interactions are to be tracked. Tracking usage of the AR content item 136 can include at least one of the following: identifying or counting user interactions of the client application 104 with the AR content item 136. Interactions with the AR content item 136 can include at least one of the following: applying the AR content item 136 to user content, sharing the AR content item 136 with another user of the client application 104, generating a message that includes the AR content item 136 or a link corresponding to the AR content item 136, activating a feature of the AR content item 136, selecting a user interface element corresponding to a feature of the AR content item 136, unlocking the AR content item 136, purchasing the AR content item 136, or selecting an icon corresponding to the AR content item 136.

[0041] In one or more implementations, the AR content creation system 128 can provide one or more templates that indicate features of AR content 134 that can be tracked. The AR content creation system 128 can provide one or more templates for a specified category of AR content 134. For example, the AR content creation system 128 can provide a template for an AR content item 136 that includes a face, where the template indicates one or more facial features that can be tracked that are included in the AR content item 136. In one or more additional examples, the AR content creation system 128 can provide a template for an AR content item 136 that includes a product that can be purchased via the client application 104. In these scenarios, the AR content creation system 128 can provide a template that indicates one or more features of the product, such as a feature that enables zooming in on a view of the product, a feature that enables rotating a view of the product, or a feature that enables applying the product to one or more objects. In one or more scenarios in which the AR content item 136 relates to a cosmetic product, the AR content creation system 128 can provide a template that enables the cosmetic product to be applied to one or more facial features of a person included in a user content item.

[0042] In various examples, the tracked features 138 can be associated with user interface elements with which a user of the client application 104 can interact. In one or more examples, the tracked features 138 can correspond to portions of a user interface that can detect input by a user of the client application 104. The input can be detected by using at least one of an input device, such as a cursor, a stylus, a finger, other tool, or a speaker of the client device 102. The input can involve selecting a user interface element, moving a user interface element, or another method of indicating interaction with the tracked features 138. In this way, input detected by user interface elements corresponding to the tracked features 138 of the AR content items 136 can be collected, stored in, for example, the database 118, and analyzed.

[0043] The AR content usage system 130 can determine a usage amount of the AR content 134. The usage amount of the AR content 134 can be determined based on an amount of interaction with one or more tracked features 138 of each AR content item 136 included in the AR content 134. Each interaction of a user of the client application 104 with a tracked feature 138 can be counted by the AR content usage system 130 and stored in the database 118. In various examples, the database 118 can include one or more data structures for each AR content item 136, and the one or more data structures for each AR content item 136 can indicate a number of interactions of a user of the client application 104 with one or more tracked features 138. In one or more examples, an AR content item 136 can have multiple tracked features 138. In these scenarios, a data structure corresponding to the AR content item 136 can indicate at least one of interactions related to each of the tracked features 138 of the AR content item 136 or interactions related to a combination of the tracked features 138 of the AR content item 136.

[0044] In one or more examples, the AR content usage system 130 can also track one or more metrics related to usage of one or more tracked features 138 of one or more AR content items 136 included in the AR content 134. For example, the AR content usage system 130 can determine a number of times that an AR content item 136 is shared to additional users of the client application 104 and a number of times that the AR content item 136 is included in a message sent to additional users of the client application 104. Further, the AR content usage system 130 can determine a number of times that the AR content item 136 is applied to user content and a number of times that a tracked feature 138 of the AR content item 136 is selected by a user of the client application 104. In additional examples, the AR content usage system 130 can collectively track usage of a plurality of tracked features 138 of one or more AR content items 136 included in the AR content 134. To illustrate, the AR content usage system 130 can determine a total number of interactions related to an AR content item 136. In these cases, the AR content usage system 130 can determine a sum of a number of times that the AR content item 136 is shared, a number of times that the AR content item 136 is related to a message, a number of times that the AR content item 136 is applied to user content, and a number of times that a tracked feature 138 of the AR content item 136 has interacted with a user of the client application 104.

[0045] In various examples, the AR content usage data 140 can be associated with user profile data 144. For example, the AR content usage system 130 can identify a user of the client application 104 that interacted with the AR content 134. In one or more examples, an identifier of the user of the client application 104 can be determined by the AR content usage system 130. Based on identifying the user of the client application 104 that interacted with one or more AR content items 136, the AR content usage system 130 can determine a characteristic of the user. In one or more examples, the AR content usage system 130 can determine demographic information related to the user that interacted with the AR content item 136, such as age, gender, occupation, education, one or more combinations thereof, and the like. In additional examples, the AR content usage system 130 can determine location information of the user of the client application 104 that interacted with the AR content item 136. In various examples, the location information can be determined based on at least one of user input or geographic positioning system (GPS) data.

[0046] In further examples, the AR content usage system 130 can determine additional information about the user of the client application 104 that corresponds to interactions of the user of the client application 104 with content consumed via the client application 104. For instance, the AR content usage system 130 can determine usage metrics of one or more features of the client application 104 related to the user of the client application 104 that interacted with the AR content 134. To illustrate, the AR content usage system 130 can determine an amount of usage of one or more social networking features of the client application 104 by the user of the client application 104 that interacted with the one or more AR content items 136. The AR content usage system 130 can also determine an amount of usage of one or more messaging features of the client application 104 by the user of the client application 104 that interacted with the one or more AR content items 136. Further, the AR content usage system 130 can determine an amount of usage of one or more search features of the client application 104 by the user of the client application 104 that interacted with the one or more AR content items 136. Moreover, the AR content usage system 130 can determine content sources of content accessed by the user of the client application 104 that interacted with the one or more AR content items 136. The content sources can include one or more additional users of the client application 104, one or more media organizations, one or more news organizations, one or more fashion organizations, one or more retailers, one or more manufacturers, one or more government organizations, one or more authors, one or more blogs, one or more websites, one or more periodicals, one or more combinations thereof, and the like. In various examples, the AR content usage system 130 can also determine a type of the AR content 134 that was interacted with by the user of the client application 104. In one or more illustrative examples, the AR content usage system 130 can determine interactions with AR content items 136 that include overlays of at least one of image content or video content performed by the user of the client application 104. Further, the AR content usage system 130 can determine interactions with AR content items 136 that include animations created by the user of the client application 104.

[0047] In one or more implementations, the AR content usage system 130 can determine a characterization of users of the client application 104 that interact with one or more AR content items 136. In one or more examples, the AR content usage system 130 can determine one or more characteristics of users of the client application 104 that interact with the AR content items 136. In various examples, the AR content usage system 130 can determine a characterization of users of the client application 104 that interact with the AR content items 136 by determining one or more characteristics associated with at least a threshold number of users of the client application 104 that interact with the AR content items 136. For example, the AR content usage system 130 can determine one or more demographic characteristics that are common to at least a threshold number of users of the client application 104 that interact with the AR content items 136. The AR content usage system 130 can also determine one or more location characteristics that are common to at least a threshold number of users of the client application 104 that interact with the AR content items 136. In additional examples, the AR content usage system 130 can determine one or more AR content usage characteristics that are common to at least a threshold number of users of the client application 104 that interact with the AR content items 136.

[0048] Based on the characteristics of users of the client application 104 that interact with the AR content items 136, the AR content usage system 130 can determine a target audience for the AR content items 136. The target audience for the AR content items 136 can correspond to users of the client application 104 that have at least a threshold likelihood of interacting with the AR content items 136. In this way, the characterization of users of the client application 104 that can interact with the AR content items 136 can provide insight to one or more creators of the AR content items 136. Accordingly, the one or more creators of the AR content items 136 can identify users of the client application 104 that have not previously interacted with the AR content items 136 but have at least a threshold likelihood of interacting with the AR content items 136. In these scenarios, the one or more creators of the AR content items 136 can cause the server system 108 to make the target audience aware of the AR content items 136. The server system 108 can make the target audience aware of the AR content items 136 via at least one of an advertisement or a recommendation related to the AR content items 136. Further, the server system 108 can make the AR content items 136 known to the target audience by increasing a weight of the AR content items 136 in search results of AR content 134 submitted by users of the client application 104 that are included in the target audience.

[0049] The content management system 132 can generate user interface data corresponding to a user interface that includes information about usage metrics related to one or more AR content items 136. The content management system 132 can also generate user interface data that includes information indicating characteristics of users of the client application 104 that interact with one or more AR content items 136. In various examples, a creator of AR content 134 can send a request to the server system 108 for information about users of the client application 104 that interact with one or more AR content items 136 generated by the creator. These requests can be directed to metrics related to specified characteristics of users of the client application 104 that interact with one or more AR content items 136 generated by the augmented reality content creator. For example, an augmented reality content creator can send a request to the server system 108 for at least one of an age, a location, a gender, a profession, or an education of users of the client application 104 that interact with one or more AR content items 136 of the augmented reality content creator. In additional examples, the server system 108 can receive a request from an augmented reality content creator for at least one of a general frequency of interaction with AR content 134 or a frequency of interaction with a type of AR content 134 by users of the client application 104 that also interact with one or more AR content items 136 of the augmented reality content creator. In various examples, the content management system 132 can provide one or more templates that an augmented reality content creator can use to request information about at least one of interaction with AR content items 136 of the creator or characteristics of users of the client application 104 that interact with AR content items 136 of the creator.

[0050] In response to a request from an augmented reality content creator for information related to one or more augmented reality content items generated by the creator, the content management system 132 can operate in conjunction with the AR content usage system 130 to determine at least one of an augmented reality content usage metric or characteristic of a user of the client application 104 related to the AR content 134 of the creator. The content management system 132 can then generate user interface data indicative of information satisfying the request. In various examples, the content management system 132 can generate user interface data corresponding to a dashboard accessible to the augmented reality content creator, where the dashboard includes information corresponding to the information request received by the server system 108 from the creator. In one or more examples, the dashboard can include one or more standardized features including information about usage of the AR content 134 provided to each augmented reality content creator requesting augmented reality content information from the server system 108. In additional examples, the dashboard can include one or more customized features including information about usage of the AR content 134 based on specific requests of the augmented reality content creator received by the server system 108.

[0051] Figure 2 is a block diagram illustrating additional details regarding the server system 108 according to some examples. In particular, the server system 108 is shown to include the client application 104 and the application server 114. The server system 108 includes a number of subsystems that are supported on the client side by the client application 104 and on the server side by the application server 114. These subsystems include, for example, the ephemeral timer system 202, the collection management system 204, the augmentation system 206, the map system 208, the game system 210, the AR content creation system 128, the AR content usage system 130, and the content management system 132.

[0052] The ephemeral timer system 202 is responsible for enforcing temporary or time-limited access to content by the client application 104 and the messaging application system 122. The ephemeral timer system 202 includes a number of timers that selectively enable access to (e.g., for presentation and display of) messages and associated content via the client application 104 based on a duration and display parameters associated with a message or collection of messages (e.g., a story). Additional details regarding the operation of the ephemeral timer system 202 are provided below.

[0053] The collection management system 204 is responsible for managing groups or collections of media (e.g., collections of text, image video, and audio data). Collections of content (e.g., messages, including images, videos, text, and audio) can be organized into "event galleries" or "event stories." Such collections can be made available for a specified period of time (e.g., the duration of the event to which the content relates). For example, content related to a concert can be made available as a "story" for the duration of the concert. The collection management system 204 can also be responsible for publishing icons that provide the presence of particular collections to the user interface of the client application 104.

[0054] The collection management system 204 also includes a curation interface 212 that allows the collection manager to manage and curate particular collections of content. For example, the curation interface 212 enables event organizers to curate collections of content related to a particular event (e.g., to delete inappropriate content or redundant messages). Additionally, the collection management system 204 employs machine vision (or image recognition techniques) and content rules to automatically curate collections of content. In certain examples, users can be paid compensation to include user-generated content into a collection. In such cases, the collection management system 204 operates to automatically pay such users a fee for use of their content.

[0055] Enhancement system 206 provides various functionalities that enable users to enhance (e.g., annotate or otherwise modify or edit) media content associated with content generated via client application 104, such as messages. For example, enhancement system 206 provides functionalities related to generating and publishing media overlays for content processed by server system 108. Enhancement system 206 can operablely supply media overlays or enhancements (e.g., image filtering) to messaging client application 104 based on the geographic location of client device 102. In another example, enhancement system 206 can operablely supply media overlays to messaging client application 104 based on other information (e.g., the social network information of the user of client device 102). Media overlays can include audio and visual content as well as visual effects. Examples of audio and visual content include pictures, text, logos, animations, and sound effects. Examples of visual effects include color overlays. Audio and visual content or visual effects can be applied to media content items (e.g., photos) at client device 102. For example, media overlays can include text or images that can be overlaid on a photograph taken by client device 102. In another example, media overlays include location identifiers (e.g., Venice Beach) overlays, names of live events, or business names (e.g., Beach Cafe) overlays. In yet another example, enhancement system 206 uses the geographic location of client device 102 to identify media overlays that include the name of a business located at the geographic location of client device 102. Media overlays may include other tags associated with the business. Media overlays may be stored in database 118 and accessed through database server 116.

[0056] In some examples, the enhancement system 206 provides a user-based publishing platform that allows users to select geographic locations on a map and upload content associated with those locations. Users can also specify the environments in which particular media overlays should be provided to other users. The enhancement system 206 generates media overlays that include the uploaded content and associates the uploaded content with the selected geographic locations.

[0057] In other examples, Enhancement System 206 provides a merchant-based publishing platform that enables merchants to select specific media coverage associated with geographic locations through a bidding process. For example, Enhancement System 206 associates the media coverage of the highest bidder with a corresponding geographic location for a predefined amount of time.

[0058] Map system 208 provides various geolocation functions and supports client application 104 in presenting map-based media content and messages. For example, map system 208 enables the display (e.g., stored on) maps on a map. Figure 3profile data 308) to indicate the current or past locations of a user's "friends," as well as media content (e.g., collections of messages including photos and videos) generated by those friends within the context of the map. For example, on a map interface of the client application 104, messages posted by a user from a particular geographic location to the server system 108 can be displayed to the user's "friends" within the context of the map at that particular location. A user can also share his or her location and status information with other users of the server system 108 via the client application 104 (e.g., using appropriate status avatars), where the location and status information is similarly displayed to selected users within the context of the map interface of the client application 104.

[0059] The game system 210 provides various game functionality within the context of the client application 104. The client application 104 provides a game interface that provides a list of available games that can be launched by a user within the context of the client application 104 and played with other users of the server system 108. The server system 108 also enables a particular user to invite other users to participate in playing a particular game by issuing invitations from the client application 104 to the other users. The client application 104 also supports both voice messaging and text messaging (e.g., chat) within the context of the games, provides a leaderboard for the games, and also supports providing in-game rewards (e.g., coins and items).

[0060] AR content creation system 128 can generate one or more user interfaces that accept input that can be used to generate augmented reality content. The input obtained via the one or more user interfaces can be used to determine one or more features associated with the augmented reality content. In various examples, the one or more user interfaces generated using data from AR content creation system 128 can include authoring tools that enable a user to associate one or more visual effects with the augmented reality content. In one or more examples, the one or more user interfaces generated using data obtained from AR content creation system 128 can associate one or more audio effects with the augmented reality content. Augmentation system 206 can operate in conjunction with AR content creation system 128 to generate augmented reality content in accordance with input obtained via user interfaces generated by AR content creation system 128. For example, augmentation system 206 can operate in conjunction with AR content creation system 128 to generate computer-readable instructions corresponding to the augmented reality content that are executable to produce at least one of a visual effect or an audio effect related to the user content. AR content creation system 128 can also generate user interface data that enables tracking of interactions of a user of client application 104 with the augmented reality content. In one or more examples, AR content creation system 128 can generate user interface data that enables interaction with and enables recording of interaction with one or more features of the augmented reality content.

[0061] AR content usage system 130 can determine an amount of usage of augmented reality content. In one or more implementations, AR content usage system 130 can determine a number of times that augmented reality content is interacted with via client application 104. In various examples, AR content usage system 130 can determine a number of times that one or more specified features of augmented reality content are interacted with via client application 104. Further, AR content usage system 130 can determine characteristics of a user of client application 104 that interact with augmented reality content. For example, AR content usage system 130 can determine a characterization of a user of client application 104 that interacts with augmented reality content that indicates at least one of a demographic characteristic, location information, a usage metric related to one or more features of client application 104, a usage metric related to one or more augmented reality content items, or content consumption information related to the user of client application 104 that interacts with one or more augmented reality content items.

[0062] Additionally, the content management system 132 can generate, for one or more user interfaces, data indicative of metrics corresponding to users of the client application 104 that interact with augmented reality content via the client application 104. In one or more examples, a creator of augmented reality content can request to view one or more metrics related to one or more augmented reality content items generated by the creator. In response to the request, the content management system 132 can generate user interface data indicative of the requested usage metrics. In various examples, the content management system 132 can operate in conjunction with the AR content usage system 130 to obtain the metrics corresponding to the request and generate user interface data indicative of the requested metrics.

[0063] Figure 3 FIG. 3 is a diagram illustrating a data structure 300 that can be stored in the database 118 of the server system 108, in accordance with one or more example implementations. While the contents of the database 118 are illustrated as including a plurality of tables, it should be appreciated that data can be stored in other types of data structures (e.g., as an object-oriented database).

[0064] The database 118 includes message data stored in a message table 302. For any particular one message, the message data includes at least message sender data, message recipient (or receiver) data, and a payload.

[0065] An entity table 304 stores entity data and is linked (e.g., by reference) to an entity graph 306 and profile data 308. Entities whose records are maintained within the entity table 302 can include individuals, corporate entities, organizations, objects, places, events, and the like. Regardless of the entity type, any entity for which the server system 108 stores data can be an identified entity. Each entity is provided with a unique identifier as well as an entity type identifier (not shown).

[0066] The entity graph 306 stores information about relationships and associations between entities. Such relationships can be, by way of example only, social relationships based on interest or based on activity, professional relationships (e.g., working at a common company or organization).

[0067] Profile data 308 stores various types of profile data about a particular entity. The profile data 308 can be selectively used and presented to other users of the architecture 100 based on privacy settings specified by the particular entity. In the case of an entity being a person, the profile data 308 includes, for example, a user name, a phone number, an address, settings (e.g., notification and privacy settings), and a user-selected avatar representation (or a collection of such avatar representations). The particular user can then selectively include one or more of these avatar representations within the content of messages or other data transmitted via the architecture 100, as well as on the map interface displayed by the client application 104 to other users. The collection of avatar representations can include a "status avatar" that presents a graphical representation of a status or activity that the user can select to transmit at a particular time.

[0068] In the case of an entity being a group, the profile data 308 for the group can similarly include one or more avatar representations associated with the group, in addition to the group name, members, and various settings (e.g., notifications) for the associated group.

[0069] The database 118 also stores augmentation data, such as overlays or filters, in an augmentation table 310. The augmentation data is associated with and applied to videos (for which data is stored in a video table 314) and images (for which data is stored in an image table 316).

[0070] In one example, a filter is an overlay that is displayed as an overlay on an image or video during presentation to a recipient user. The filter can be of various types, including a filter that is user-selected from a set of filters presented by the client application 104 to the sending user when the sending user is composing a message. Other types of filters include a geo-location filter (also referred to as a geofilter) that can be presented to the sending user based on a geo-location. For example, a geolocation filter specific to a nearby or special location can be presented by the client application 104 within a user interface based on geo-location information determined by a global positioning system (GPS) unit of the client device 102.

[0071] Another type of filter is a data filter that can be selectively presented to the sending user by the client application 104 based on other inputs or information collected by the client device 102 during message creation. Examples of data filters include a current temperature at a particular location, a current speed at which the sending user is traveling, a battery life of the client device 102, or a current time.

[0072] Other augmentation data that can be stored within the image table 316 includes augmented reality content items (e.g., corresponding to an application lens or augmented reality experience). The augmented reality content items can be real-time special effects and sounds that can be added to an image or video.

[0073] As described above, augmentation data includes augmented reality content items, overlays, image transforms, AR images, and similar items that involve modifications that can be applied to image data (e.g., video or images). This includes real-time modifications, which modify images as they are captured using device sensors (e.g., one or more cameras) of the client device 102 and then display the images with the modifications on a screen of the client device 102. This also includes modifications to stored content, such as video clips in a gallery that can be modified. For example, in a client device 102 that accesses multiple augmented reality content items, a user can use a single video clip with multiple augmented reality content items to see how different augmented reality content items would modify the stored clip. For example, multiple augmented reality content items that apply different pseudo-random motion models can be applied to the same content by selecting different augmented reality content items for the content. Similarly, real-time video capture can be used with the modifications shown to illustrate how video images currently being captured by sensors of the client device 102 would modify the captured data. Such data can simply be displayed on a screen and not stored in memory, or the content captured by the device sensors can be recorded and stored in memory with or without the modifications (or both). In some systems, a preview feature can show how different augmented reality content items look at the same time in different windows in a display. This can, for example, enable multiple windows with different pseudo-random animations to be viewed on a display at the same time.

[0074] Thus, data, and various systems that use the data to modify content using augmented reality content items or other such transform systems, can involve: detection of objects (e.g., faces, hands, bodies, cats, dogs, surfaces, objects, etc.); tracking of such objects as they leave, enter, and move around the field of view in video frames; and modification or transformation of such objects as they are tracked. In various implementations, different methods for implementing such transformations can be used. Some examples can involve generating a three-dimensional mesh model of one or more objects, and using transformations of the model and animated textures within the video to implement the transformations. In other examples, tracking of points on an object can be used to place an image or texture (which can be two-dimensional or three-dimensional) at the tracked locations. In yet other examples, neural network analysis of video frames can be used to place images, models, or textures in content (e.g., frames of an image or video). Thus, augmented reality content items involve both images, models, and textures that are used to create the transformations in content, and additional modeling and analysis information that is needed to implement such transformations with object detection, tracking, and placement.

[0075] Real-time video processing can be performed using any type of video data (e.g., video streams, video files, etc.) that is saved in memory of any type of computerized system. For example, a user can load video files and save them in memory of a device, or can use sensors of the device to generate video streams. Additionally, any object can be processed using computer animation models, such as a face and parts of a human body of a person, an animal, or a non-living thing (e.g., a chair, a car, or other object).

[0076] In some examples, when a particular modification is selected along with content to be transformed, the computing device identifies elements to be transformed and then detects and tracks them if they exist in the video frames. The elements of the object are modified according to the request for the modification, thereby transforming the frames of the video stream. The transformation of the frames of the video stream can be performed by different methods for different types of transformations. For example, for transformations of frames that primarily involve changing the form of the elements of the object, feature points are computed for each element of the object (e.g., using an Active Shape Model (ASM) or other known method). Then, a mesh based on the feature points is generated for each of the at least one element of the object. The mesh is used in a subsequent stage of tracking the elements of the object in the video stream. During the tracking process, the mentioned mesh for each element is aligned with the position of each element. Then, additional points are generated on the mesh. A first set of first points is generated for each element based on the request for the modification, and a set of second points is generated for each element based on the set of first points and the request for the modification. Then, the frames of the video stream can be transformed by modifying the elements of the object based on the sets of first and second points and the mesh. In such a method, the background of the modified object can also be changed or warped by tracking and modifying the background.

[0077] In some examples, transformations that change some regions of an object using elements of the object can be performed by computing feature points for each element of the object and generating a mesh based on the computed feature points. Points are generated on the mesh, and then various regions based on the points are generated. The elements of the object are then tracked by aligning the regions for each element with the position of each of the at least one element, and the characteristics of the regions can be modified based on the request for the modification, thereby transforming the frames of the video stream. The characteristics of the mentioned regions can be transformed in different ways according to the particular request for the modification. Such modifications can involve changing the color of the regions; removing at least some parts of the regions from the frames of the video stream; including one or more new objects into the regions based on the request for the modification; and modifying or warping the regions or elements of the object. In various implementations, any combination of such modifications or other similar modifications can be used. For certain models to be animated, some of the feature points can be selected as control points to be used to determine the entire state space of options for the animation of the model.

[0078] In some examples of computer animation models that use face detection to transform image data, a particular face detection algorithm (e.g., Viola-Jones) is used to detect faces on an image. Then, an Active Shape Model (ASM) algorithm is applied to the face region of the image to detect facial feature reference points.

[0079] Other methods and algorithms suitable for face detection can be used. For example, in some implementations, landmarks representing distinguishable points that are present in most images under consideration are used to locate features. For example, for face landmarks, the position of the left eye pupil can be used. In cases where the initial landmark is not identifiable (e.g., if a person has an eye patch), a secondary landmark can be used. Such landmark identification processes can be used for any such object. In some examples, a set of landmarks forms a shape. A shape can be represented as a vector using the coordinates of the points in the shape. One shape is aligned with another shape with a similarity transform (allowing for translation, scaling, and rotation) that minimizes the average Euclidean distance between the shape points. The average shape is the average of the aligned training shapes.

[0080] In various examples, the search for landmarks begins from an average shape that is aligned with the position and size of the face determined by the global face detector. Then, such a search repeats the following steps: a tentative shape is suggested by adjusting the position of the shape points by template matching the image texture around each point, and then conforming the tentative shape to the global shape model until convergence occurs. In one or more systems, the individual template matching is unreliable, and the shape model pools the results of weak template matchers to form a stronger overall classifier. The entire search is repeated at each level in an image pyramid, from coarse resolution to fine resolution.

[0081] The transformation system can capture images or video streams on a client device (e.g., client device 102) and perform complex image manipulations locally on the client device 102, while maintaining a proper user experience, computation time, and power consumption. Complex image manipulations can include size and shape changes, emotional transformations (e.g., changing a face from a frown to a smile), state transformations (e.g., aging a subject, reducing apparent age, changing gender), style transformations, graphic element applications, and any other suitable image or video manipulations implemented by convolutional neural networks that have been configured to efficiently execute on the client device 102.

[0082] A computer animation model for transforming image data can be used by a system in which a user can capture an image or video stream of the user (e.g., a selfie) using a client device 102 having a neural network operating as part of a client application 104 operating on the client device 102. A transform system operating within the client application 104 determines the presence of a face within the image or video stream and provides modification icons associated with computer animation models for transforming image data, or the computer animation models can be present in association with the interfaces described herein. The modification icons include changes that can be the basis for modifying the user’s face within the image or video stream as part of a modification operation. Once a modification icon is selected, the transform system initiates a process of transforming the user’s image to reflect the selected modification icon (e.g., generating a smiling face with respect to the user). Once the image or video stream is captured and a specified modification is selected, the modified image or video stream can be presented in a graphical user interface displayed on the client device 102. The transform system can implement a complex convolutional neural network on a portion of the image or video stream to generate and apply the selected modification. That is, a user can capture an image or video stream and the modified result can be presented in real-time or near real-time once a modification icon is selected. Further, the modification can be persistent while a video stream is captured and the selected modification icon remains toggled. Machine-taught neural networks can be used to implement such modifications.

[0083] A graphical user interface presenting modifications performed by the transform system can supply additional interaction options to the user. Such options can be based on the interface used to initiate a particular computer animation model (e.g., initiated from a content creator user interface) and the content capture. In various implementations, the modification can be persistent after an initial selection of a modification icon. The user can toggle the modification on or off by tapping or otherwise selecting the face being modified by the transform system and store it for later viewing or browsing other areas of the imaging application. In cases where the transform system is modifying multiple faces, the user can globally toggle the modification on or off by tapping or selecting a single face modified and displayed within the graphical user interface. In some implementations, individual faces in a group of multiple faces can be modified separately, or such modifications can be toggled separately by tapping or selecting individual faces or a series of individual faces displayed within the graphical user interface.

[0084] Story table 312 stores data regarding collections of messages and associated image, video, or audio data that are compiled into collections (e.g., stories or galleries). The creation of a particular collection can be initiated by a particular user (e.g., each user whose record is maintained in entity table 304). A user can create a "personal story" in the form of a collection of content that has been created and sent / broadcast by that user. To this end, the user interface of client application 104 can include an icon that is user-selectable to enable a sending user to add particular content to his or her personal story.

[0085] A collection can also constitute a "live story," which is a collection of content from multiple users that is created manually, automatically, or using a combination of manual and automatic techniques. For example, a "live story" can constitute a curated stream of user-submitted content from different locations and events. Users whose client devices have location services enabled and are at a common location event at a particular time can be presented with an option to contribute content to a particular live story, e.g., via the user interface of client application 104. A user can be identified with a live story by client application 104 based on his or her location. The end result is a "live story" told from the perspective of the community.

[0086] Another type of collection of content is referred to as a "location story," which enables users whose client devices 102 are located within a particular geographic location (e.g., at a college or university campus) to contribute to a particular collection. In some examples, contribution to a location story can require a second degree of authentication to verify that the end user belongs to a particular organization or other entity (e.g., is a student in a university campus).

[0087] As noted above, video table 314 stores video data that, in one example, is associated with messages whose records are maintained within message table 302. Similarly, image table 316 stores image data that is related to messages whose message data is stored in entity table 304. Entity table 304 can associate various augmentations from augmentation table 310 with various images and videos stored in image table 316 and video table 314.

[0088] The database 118 can also store an AR content usage table 318 that stores data indicative of usage metrics for augmented reality content. In various examples, the AR content usage table 318 can include one or more data structures that store usage metrics for individual augmented reality content items. The metrics can be indicative of a number of times a user of the client application 104 interacted with an augmented reality content item. Further, the database 118 can store an AR content user table 320 that indicates users of the client application 104 that interacted with augmented reality content items via the client application 104. The AR content user table 320 can include one or more identifiers of users of the client application 104 that interacted with one or more augmented reality content items. The one or more identifiers can be used to access profile information of users of the client application 104 that interacted with augmented reality content via the client application 104. In one or more examples, the AR content user table 320 can store at least a portion of profile information of users of the client application 104 that interacted with augmented reality content via the client application 104.

[0089] Figure 4 is a schematic diagram of an example framework of content 400 according to some implementations. The content 400 can be generated by the client application 104. In various examples, the content 400 can be generated by a first instance of the client application 104 and communicated to a second instance of the client application 104 or at least one of the server system 108. In cases where the content 400 includes a message, the content 400 can be used to populate the message table 302 stored within the database 118 and accessible by the application server 114. In one or more implementations, the content 400 can be stored in memory as “en route” or “in-flight” data of at least one of the client device 102 or the application server 114. The content 400

[0090] is shown to include at least a portion of the following components:

[0091] • Content identifier 402: a unique identifier that identifies the content 400.

[0092] • Content text payload 404: text to be generated by a user via a user interface of the client device 102 and included in the content 400.

[0093] • Content image payload 406: image data captured by a camera component of the client device 102 or retrieved from a memory component in the client device 102 and included in the content 400. Image data of the content 400 that is transmitted or received can be stored in the image table 316.

[0094] • Content video payload 408: Video data captured by a camera component or retrieved from a memory component of the client device 102 and included in the content 400. Video data of the content 400 sent or received can be stored in the video table 314.

[0095] • Content audio payload 410: Audio data captured by a microphone or retrieved from a memory component of the client device 102 and included in the content 400.

[0096] • Content augmentation data 412: Augmentation data (e.g., filters, stickers, or other annotations or augmentations) representing augmentations to be applied to the content image payload 406, content video payload 408, or content audio payload 410 of the content 400. Augmentation data of the content 400 sent or received can be stored in the augmentation table 310.

[0097] • Content duration parameter 414: A parameter value indicating an amount of time in seconds that one or more portions of the content 400 (e.g., the content image payload 406, content video payload 408, content audio payload 410) will be presented or made accessible to a user via the client application 104.

[0098] • Content geolocation parameter 416: Geolocation data (e.g., latitude and longitude coordinates) associated with a content payload of a message. Multiple content geolocation parameter 416 values can be included in a payload, each of which is associated with a content item included in the content (e.g., a particular image within the content image payload 406 or a particular video in the content video payload 408).

[0099] • Content story identifier 418: An identifier value identifying one or more content collections (e.g.,“stories” identified in the story table 312) associated with a particular item in the content image payload 406 of the content 400. For example, multiple images within the content image payload 406 can each be associated with multiple content collections using identifier values.

[0100] • Content tags 420: Each content 400 can be tagged with multiple tags, each of which indicates a subject matter of content included in a content payload. For example, where a particular image included in the content image payload 406 depicts an animal (e.g., a lion), a tag value indicating the relevant animal can be included within the content tags 420. Tag values can be generated manually based on user input or can be generated automatically using, for example, image recognition.

[0101] • Content sender identifier 422: an identifier (e.g., messaging system identifier, email address, or device identifier) that indicates a user of the client device 102 on which the content 400 was generated and from which the content 400 was sent.

[0102] • Content receiver identifier 424: an identifier (e.g., messaging system identifier, email address, or device identifier) that indicates a user of the client device 102 to which the content 400 is addressed.

[0103] • AR tracked feature identifier 426: an identifier of a feature of augmented reality content corresponding to the content 400 that can have a monitored or tracked amount of usage. In one or more examples, the AR tracked feature identifier 426 can correspond to a feature of an augmented reality content item that is associated with a user- selectable user interface element of the client application 104.

[0104] The data (e.g., values) of the various components of the content 400 can correspond to pointers to locations in tables within which the data is stored. For example, the image value in the content image payload 406 can be a pointer to a location (or address) within the image table 316. Similarly, the values within the content video payload 408 can point to data stored within the video table 310, the values stored within the content augmentation table 412 can point to data stored in the augmentation table 310, the values stored within the content story identifier 418 can point to data stored in the story table 312, and the values stored within the content sender identifier 422 and the content receiver identifier 424 can point to user records stored within the entity table 304. Further, the values of the AR tracked feature identifier 426 can point to data stored within data structures including the AR content usage table 318. In these scenarios, the data stored in the AR content usage table 318 for a respective AR tracked feature identifier 426 can correspond to an amount of interaction by a user of the client application 104 with a feature of an augmented reality content item of the content 400.

[0105] Figure 5is a graphical representation illustrating an architecture 500 that analyzes augmented reality content usage data, in accordance with one or more example implementations. The architecture 500 can include an AR content creator 502. The AR content creator 502 can include one or more entities that create augmented reality content to be executed by the client application 104. In one or more examples, the AR content creator 502 can include one or more users of the client application 104. In further examples, the AR content creator 502 can include one or more third parties that provide augmented reality content for the client application 104. In still further examples, the AR content creator 502 can include a service provider that maintains and implements the server system 108. In these scenarios, the AR content creator 502 can be the service provider that maintains and implements the client application 104.

[0106] In one or more illustrative examples, the AR content creator 502 can create an AR content item 136. The AR content item 136 can be executed by the client application 104 to generate at least one of one or more visual effects or one or more audio effects with respect to user content accessible using the client application 104. The AR content item 136 can include computer-readable instructions that are executable by the client application 104 to modify at least one of an appearance or a sound characteristic of the AR content item 136. For example, a user 504 of the client application can generate user content. The user content can include one or more content items that include at least one of image content, video content, or audio content. In various examples, the user 504 can capture the user content via one or more input devices of the client device 102. To illustrate, the user 504 can utilize one or more cameras of the client device 102 to capture image content. In these instances, the AR content item 136 can modify the image content by modifying an appearance of one or more objects included in the user content. In further examples, the user 504 can utilize one or more microphones of the client device 102 to capture audio content. In these scenarios, the AR content item 136 can modify at least a portion of the audio content included in the user content.

[0107] The AR content creator 502 can provide AR content creation data 506 for generating an AR content item 136. The AR content creator 502 can provide the AR content creation data 506 to the server system 108. In one or more implementations, the AR content creation system 128 can use the AR content creation data 506 to generate the AR content item 136. In one or more examples, the AR content creation data 506 can be provided using one or more user interfaces. In various examples, the one or more user interfaces can be generated by the AR content creation system 128. The one or more user interfaces can include one or more user interface elements to capture data that can be used to generate augmented reality content.

[0108] In various examples, the AR content creation data 506 can indicate one or more interactions of a user of the client application 104 with respect to the AR content item 136 to be monitored or tracked by the server system 108. For example, the AR content creation data 506 can indicate that the AR content usage system 130 is to track a number of times that the AR content item 136 is shared. In further examples, the AR content creation data 506 can indicate that the AR content usage system 130 is to track a number of times that the AR content item 136 is included in a message. In other examples, the AR content creation data 506 can indicate that the AR content usage system 130 is to track a number of times that the AR content item 136 is applied to user content. The AR content creation data 506 can also indicate that usage of one or more features of the AR content item 136 is to be tracked. To illustrate, the AR content item 136 can include one or more features that a user of the client application can interact with. In one or more examples, the AR content item 136 can include one or more features that can be at least one of selected, moved, or modified by a user of the client application 104. Interactions with the features of the AR content item 136 can be based on user input obtained via one or more input devices of the client device 102. For example, an interaction with a feature of the AR content item 136 can include at least one of: touching a user interface element of the AR content item 136 using a finger or other implement for at least a threshold period of time; hovering over a user interface element of the AR content item 136 using a finger or other implement; selecting and moving a user interface element of the AR content item 136; swiping a user interface element of the AR content item 136; performing a pinch operation (e.g., bringing two fingers closer together) with respect to a user interface element of the AR content item 136, or performing an expand operation (e.g., moving two fingers away from each other) with respect to a user interface element of the AR content item 136.

[0109] In one or more illustrative examples, the AR content item 136 can include an animation that includes a character that the user 504 can interact with. For example, the user 504 can cause the character to move one or more body parts. In these cases, the AR content creation data 506 can indicate that at least one of the body parts is a feature of the AR content item 136 for which interaction is to be tracked by the server system 108. The user 504 can also cause the character to change position within the user interface. In various examples, the AR content creation data 506 can indicate that modifying the position of the character can be an interaction with the AR content item 136 to be tracked by the server system 108. Further, the user 504 can cause the character to emit one or more audible noises. In these scenarios, the AR content creation data 506 can indicate that causing the character to produce at least one of the audible noises is a feature of the AR content item 136 to be tracked by the server system 108.

[0110] The AR content creation data 506 can be obtained via one or more templates that indicate at least one of the features or interactions with the AR content item for which user interaction can be tracked by the server system 108. In these cases, the AR content creator 502 can use the templates to indicate at least one of the features or interactions with the AR content item 136 to be tracked by the server system 108. Thus, in cases where one or more templates are used to indicate at least one of the features or interactions of the augmented reality content item to be tracked, the AR content creation system 128 implements a standardized approach to identify at least one of the features or interactions of the augmented reality content item to be monitored or tracked by the server system 108. In further examples, the AR content creation system 128 can provide a user interface that enables a user to select at least one of the features or interactions of the augmented reality content item to be tracked. To illustrate, the AR content creator 502 can use an input device to indicate any number of features of the AR content item 136, interactions with the AR content item, or both, to be tracked by the server system 108. In these cases, the AR content creation system 128 can implement a customized approach to identify at least one of the features or interactions of the augmented reality content item to be monitored or tracked by the server system 108. In one or more implementations, the AR content creation system 128 can implement a combination of a customized and standardized approach to select at least one of the features of the AR content item or the interactions with the AR content item to be monitored by the server system 108.

[0111] In Figure 5In the illustrative example, the AR content item 136 can include a first AR interaction 508, a second AR interaction 510, and up to an Nth AR interaction 512. The AR content usage system 130 can track at least one of the first AR interaction, the second AR interaction 510, or the Nth AR interaction 512. For example, the AR content creator 502 can indicate in the AR content creation data 506 that the server system 108 is to monitor at least one of the first AR interaction 508, the second AR interaction 510, or the Nth AR interaction 512. In one or more examples, at least one of the first AR interaction 508, the second AR interaction 510, or the Nth AR interaction 512 can be related to a feature of the AR content item 136 with which the user 504 can interact. For example, at least one of the first AR interaction 508, the second AR interaction 510, or the Nth AR interaction 512 can correspond to an object or a portion of an object with which the user 504 can interact. In further examples, at least one of the first AR interaction 508, the second AR interaction 510, or the Nth AR interaction 512 can correspond to an additional action that can be performed with respect to the AR content item 136. To illustrate, at least one of the first AR interaction 508, the second AR interaction 510, or the Nth AR interaction 512 can correspond to the user 504 sharing user content related to the AR content item 136 to one or more users of the client application 104. In various examples, the user content related to the AR content item 136 can be shared by the user 504 via a social networking functionality of the client application 104. In further examples, at least one of the first AR interaction 508, the second AR interaction 510, or the Nth AR interaction 512 can correspond to the user 504 generating a message that includes user content related to the AR content item 136, where the message is accessible to a recipient via the client application 104. In one or more implementations, at least one of the first AR interaction 508, the second AR interaction 510, or the Nth AR interaction 512 can correspond to a user interface element displayed via the client application 104.

[0112] The first AR interaction 508 can correspond to a first usage metric 514. The first usage metric 514 can indicate a frequency at which a user of the client application 104 performs the first AR interaction 508. In one or more examples, the first usage metric 514 can indicate a number of times one or more users of the client application 104 perform the first AR interaction 508. In various examples, the first usage metric 514 can indicate a number of times a user of the client application 104 performs the first AR interaction 508 over a period of time, such as an hour, a day, a week, a month, etc. In additional examples, the first usage metric 514 can correspond to an average number of times various users of the client application 104 perform the first AR interaction 508. The first usage metric 514 can be determined by the AR content usage system 130 based on data obtained by instances of the client application 104 executed by the client devices 102 of the users of the client application 104.

[0113] The first AR interaction 508 can also be associated with first user profile data 516. The first user profile data 516 can include information about the users of the client application 104 that perform the first AR interaction 508. The first user profile data 516 can indicate at least one of demographic information or location information of the users of the client application 104 that perform the first AR interaction 508. The first user profile data 516 can also indicate content usage characteristics of the users of the client application 104 that perform the first AR interaction 508. The content usage characteristics can indicate a content source of content consumed by the users of the client application 104 that perform the first AR interaction 508. The content usage characteristics can also indicate a type of augmented reality content that is interacted with by the users of the client application 104. Further, the content usage characteristics can indicate various AR content items that are interacted with by the users of the client application 104. In one or more examples, the content usage characteristics can indicate a frequency at which the users of the client application 104 that perform the first AR interaction 508 interact with at least one of one or more content sources or content types.

[0114] In one or more examples, in response to obtaining information indicating that the first AR interaction 508 has been performed, the AR content usage system 130 can determine a user of the client application 104 that performed the first AR interaction 508. In various examples, individual users of the client application 104 can be associated with an identifier. For example, the identifier can include a plurality of alphanumeric characters or symbols that uniquely identify individual users of the client application 104. The identifier can be provided by individual users of the client application 104, or the identifier can be determined by a service provider that implements and maintains at least one of the client application 104 or the server system 108. In various examples, one or more actions performed by individual users of the client application 104 can generate data that includes an identifier of the user of the client application 104 and that indicates the one or more actions performed. The data can be transmitted to the server system 108 and analyzed by the AR content usage system 130 to determine the respective user of the client application 104 that performed the one or more actions. Additionally, the AR content usage system 130 can access profile information of the respective user that performed the one or more actions. To illustrate, the AR content usage system 130 can use the identifier of the user of the client application 104 that performed the one or more actions to query one or more data stores, such as the database 118, to access profile information of the user stored by the one or more data stores. In this way, the AR content usage system 130 can correlate one or more characteristics of the user that performed the one or more actions. The AR content usage system 130 can aggregate profile information of multiple users of the client application 104 that performed the first AR interaction 508 to determine a characterization of the users of the client application 104 that performed the first AR interaction 508.

[0115] In a similar manner to the first AR interaction 508, the second AR interaction 510 can be associated with second usage metrics 518 and second user profile data 520, and the Nth AR interaction 512 can be associated with Nth usage metrics 522 and Nth user profile data 524. Additionally, the AR content usage system 130 can determine, based on the identifier of the user of the client application 104, the user of the client application 104 that performed at least one of the second AR interaction 510 or the Nth AR interaction 512, such as the user 504.

[0116] The content management system 132 can generate a dashboard 526 accessible to the AR content creator 502. The dashboard 526 can include one or more user interfaces 528 that include information about the AR content item 136. The information included in the dashboard 526 can include AR content usage metrics 530. The AR content usage metrics 530 can be determined by the AR content usage system 130 and indicate quantitative measures of interactions by users of the client application 104 with the AR content item 136. In various examples, the AR content usage metrics 530 can indicate at least one of a frequency or a periodicity of one or more of the first AR interaction 508, the second AR interaction 510, or the Nth AR interaction 512 being performed by users of the client application 104. The AR content usage metrics 530 can be displayed via at least one of one or more charts, one or more tables, or one or more graphs.

[0117] The dashboard 526 can also include AR content user characterization information 532. The AR content user characterization information 532 can indicate characteristics of users of the client application 104 that perform at least one of the first AR interaction 508, the second AR interaction 510, or the Nth AR interaction 512. The AR content user characterization information 532 can be generated by the AR content usage system 130. In one or more examples, the AR content user characterization information 532 can include information about characteristics of users of the client application 104 that interact with the AR content item 136 relative to other users of the client application 104. For example, the AR content user characterization information 532 can indicate a number of users of the client application 104 that perform the first AR interaction 508 relative to a number of users of the client application 104 that interact with other AR content items 136. To illustrate, the AR content user characterization information 532 can indicate that users of the client application 104 that perform the first AR interaction 508 are more likely to interact with augmented reality content via the client application 104 than users of the client application 104 that do not interact with augmented reality content via the client application 104. Additionally, the AR content user characterization information 532 can indicate at least one of one or more demographic characteristics or one or more location characteristics corresponding to at least a threshold number of users of the client application 104 that perform the first AR interaction 508. In one or more illustrative examples, the AR content user characterization information 532 can indicate that at least 50% of users of the client application 104 that perform the first AR interaction 508 are between 25 and 40 years old and at least 75% of users of the client application 104 that perform the first AR interaction 508 live in a city with a population of over 250,000.

[0118] The information included in the dashboard 526 of the AR content creator 502 can be based on a dashboard request 534 received by the server system 108 from one or more computing devices of the AR content creator 502. The dashboard request 534 can indicate one or more criteria for at least one of content usage metrics or characteristics of users of the client application 104 that interact with AR content generated by the AR content creator 502. In one or more examples, the content management system 132 can provide one or more user interfaces that the AR content creator 502 can use to specify information to include in the dashboard 526. The one or more user interfaces can include options indicating types of information to include in the dashboard 526. In Figure 5 In the illustrative example, the server system 108 can send dashboard UI information 536 to the AR content creator 502, the dashboard UI information 536 including information for displaying one or more user interfaces 528 of the dashboard 526.

[0119] In one or more examples, the content management system 132 can provide one or more user interfaces that include options that can be selected to include metrics indicating frequency of occurrence of at least one of the first AR interaction 508, the second AR interaction 510, or the Nth AR interaction 512 of the AR content item 136. The one or more user interfaces can also include options that can be selected to cause information to be displayed via the dashboard 526 that relates to one or more characteristics of users of the client application 104 that interact with the AR content item 136. To illustrate, the content management system 132 can provide one or more user interfaces that include options that can be selected to view one or more demographic characteristics of users of the client application 104 that interact with the AR content item 136, one or more location characteristics of users of the client application 104 that interact with the AR content item 136, one or more content consumption history characteristics of users of the client application 104 that interact with the AR content item 136, one or more combinations thereof, and the like.

[0120] Additionally, the content management system 132 can provide one or more user interfaces that include options that can be selected to indicate one or more visual formats for presenting information included in the dashboard 526. For example, the content management system 132 can provide one or more user interfaces that include one or more options that can be selected to display at least one of the AR content usage metrics 530 or the AR content user characterization information 532 in a numerical form. In an additional example, the content management system 132 can provide one or more user interfaces that include one or more options that can be selected to display at least one of the AR content usage metrics 530 or the AR content user characterization information 532 in a tabular format. The content management system 132 can also provide one or more user interfaces that include one or more options that can be selected to display at least one of the AR content usage metrics 530 or the AR content user characterization information 532 in a graphical form, such as a pie chart, a line graph, a bar chart, a combination thereof, or the like.

[0121] In one or more implementations, the content management system 132 can provide information indicating a target audience for the AR content item 136. In various examples, information related to the target audience for the AR content item 136 can be included in the dashboard UI information 536. In additional examples, the target audience information can be provided separately from the dashboard UI information 536. In one or more examples, the target audience can be determined by the AR content usage system 130 based on usage metrics and user profile data for users of the client application 104 that interact with the augmented reality content, e.g., the AR content item 136, of the AR content creator 502. The target audience information can indicate at least one of demographic characteristics or location characteristics of users of the client application 104 that have at least a threshold probability of interacting with the AR content item 136. For example, the target audience information can indicate at least one of demographic characteristics or location characteristics of users of the client application 104 that have at least a threshold probability of performing the first AR interaction 508. Additionally, the target audience information can indicate at least one of demographic characteristics or location characteristics of users of the client application 104 that have at least a threshold probability of performing the second AR interaction 510. In various examples, the target audience information for the first AR interaction 508 can be different from the target audience information for the second AR interaction 510. Furthermore, the target audience information can indicate content consumption characteristics of users of the client application 104 that have at least a threshold probability of interacting with the AR content item 136, e.g., performing the first AR interaction 508 or the second AR interaction 510. The content consumption characteristics can include a type of content (e.g., video content, audio content, image content, text content, augmented reality content, etc.) viewed or accessed by the users of the client application 104, a content source of content viewed or accessed by the users of the client application 104, a frequency of usage of one or more types of content via the client application 104, a frequency of usage of content from one or more sources via the client application 104, one or more channels used to access content via the client application 104, or one or more combinations thereof.

[0122] After determining the target audience for the AR content item 136, the server system 108 can obtain input from the AR content creator 502 indicating one or more channels that can be used to promote the AR content item 136 via the client application 104. In one or more examples, the AR content creator 502 can indicate that the AR content item 136 is to be promoted to users of the client application 104 included in the target audience by presenting the AR content item 136 in a relatively high position of search results generated in response to a search request for AR content that is directed to one or more keywords associated with the AR content item 136. In these scenarios, the AR content item 136 can be weighted in a manner that moves the AR content item 136 closer to the top of the search results provided to users of the client application 104 included in the target audience that submit search requests to the server system 108. In one or more additional examples, the AR content creator 502 can indicate that the AR content item 136 is to be promoted to users of the client application 104 included in the target audience by including the AR content item 136 in content recommendations provided via the client application 104.

[0123] In one or more implementations, the threshold probability of a user of the client application 104 performing the first AR interaction 508 can be determined by analyzing the usage metrics and the user profile data of the first AR interaction 508 relative to average usage metrics of at least a subset of additional AR content items accessible via the client application 104. For example, the AR content usage system 130 can determine an average amount of usage of the AR content item 136 across multiple users of the client application 104, and then determine characteristics of users of the client application 104 that use the AR content item 136 more than the average amount of usage of the AR content item 136. The AR content usage system 130 can determine a threshold probability that a user of the client application 104 is included in the target audience for the AR content item 136 based on a number of users of the client application 104 that can be included in the target audience. The AR content usage system 130 can determine a likelihood or probability that a user of the client application 104 is in the target audience for the AR content item 136 based on a measure of similarity between the characteristics of the user and the characteristics of users of the client application 104 that have at least a threshold amount of usage of the AR content item 136. The likelihood or probability that a user of the client application 104 is in the target audience can be analyzed relative to the threshold probability to determine whether to include the user in the target audience for the AR content item 136.

[0124] In one or more illustrative examples, the AR content item 136 can be related to one or more products, such as one or more beauty products. The one or more products can be available for purchase via the client application 104. In various examples, the first AR interaction 508 can correspond to selecting a first product within a user interface generated by the client application 104, the second AR interaction 510 can correspond to selecting a second product within the user interface generated by the client application 104, and the Nth AR interaction 512 can correspond to selecting an Nth product within the user interface generated by the client application 104. In these scenarios, the first product can be associated with a first selectable user interface element, the second product can be associated with a second selectable user interface element, and the Nth product can be associated with an Nth selectable user interface element. In response to the user of the client application 104 performing the first AR interaction 508, the second AR interaction 510, or the Nth AR interaction 512, one or more visual effects can be applied to the user content. In one or more examples, the first AR interaction 508 can correspond to the first product, and selection of the user interface element corresponding to the first product can cause one or more visual effects related to a characteristic of the first product to be applied to the user content. In the case that the user content includes one or more facial features of the user of the client application 104 and the first product is a beauty product, selection of the first user interface element corresponding to the first product can cause the user content to be modified in a manner that shows the first product being applied to the one or more facial features (e.g., applying eye shadow to an area surrounding one or more eyes included in the user content). In one or more scenarios in which the second AR interaction 510 corresponds to the second product, selection of the user interface element corresponding to the second product can cause the user content to be modified in a manner that shows the second product being applied to the one or more facial features. The first product and the second product can be the same type of product (e.g., eye shadow), but can have different characteristics, such as different colors, different shades, different intensities, different shadows, different glossiness, etc. In additional examples, the first product and the second product can be different types of products. To illustrate, the first product can be eye shadow, and the second product can be lipstick. Further, the first product and the second product can be at least one of: produced by different manufacturers or offered for purchase by different retailers. In other cases, the first product and the second product can be at least one of: produced by the same manufacturer or offered for purchase by the same retailer.

[0125] The information included in the dashboard 526 can also be related to one or more products offered for purchase via the client application 104, where the products correspond to augmented reality content items generated by the creator of the augmented reality content. For example, the AR content creator 502 can be at least one of a manufacturer or a seller of one or more products, and the AR content item 136 can include one or more user interface elements corresponding to one or more augmented reality content items related to the one or more products manufactured or sold by the AR content creator 502. In one or more examples, at least one of the first AR interaction 508, the second AR interaction 510, or the Nth AR interaction 512 can correspond to a product offered for purchase by the AR content creator 502 via the client application 104. In one or more additional examples, the AR content item 136 can include user interface elements corresponding to products manufactured or sold by a plurality of different entities. To illustrate, the first AR interaction 508 can correspond to a first product offered for purchase by a first manufacturer or a first seller, and the second AR interaction 510 can correspond to a second product offered for purchase by a second manufacturer or a second seller.

[0126] In one or more illustrative examples, the dashboard 526 can include a plurality of options that can be selected to view information about one or more products related to an augmented reality content item executed with the client application 104. The dashboard 526 can arrange data related to usage of the augmented reality content item corresponding to a plurality of products related to the augmented reality content item. The information included in the dashboard 526 can indicate a number or frequency of uses of the augmented reality content item related to the plurality of products. In various examples, the information included in the dashboard 526 can indicate a number or frequency of times a visual effect of the augmented reality content item was applied to user content, where the visual effect relates to applying a product to one or more objects included in the user content.

[0127] Figure 6 A flow diagram illustrating one or more implementations of a process for analyzing augmented reality content usage data is shown. The process can be embodied in computer-readable instructions executed by one or more processors, such that the operations of the process can be performed in part or in whole by functional components of at least one of the client application 104 or the server system 108. Thus, in some cases, the process described below is an example by way of reference. However, in other implementations, the process described below can be performed by other components of the system 100, or by other components not shown. Figure 6 At least some of the operations of the process described below can be deployed on various other hardware configurations. Thus, with respect to Figure 6The described processes are not intended to be limited to the server system 108 or the client device 102, but can be implemented in whole or in part by one or more additional components. Although the described flowcharts can show operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations can be re-arranged. A process is terminated when its operations are completed. A process can correspond to a method, a procedure, an algorithm, etc. The operations of a method can be performed entirely or in part by one or more additional components, can be performed in conjunction with some or all of the operations in other methods, and can be performed by any number of different systems, such as the systems described herein or any portion thereof, such as a processor included in any system.

[0128] Figure 6 is a flowchart illustrating example operations of a process 600 for determining a characterization of a client application user interacting with one or more augmented reality content items, in accordance with one or more example implementations. At operation 602, the process 600 can include generating an augmented reality content item displayable via a client application. The client application can include the client application 104 and have at least one of a social networking function or a messaging function. The augmented reality content item can modify an appearance of user content, such as image content or video content captured by at least one camera of a client device. Modifying the appearance of the user content can include applying one or more visual effects with respect to one or more objects included in the user content. In a scenario in which the augmented reality content item is related to a product, modifying the appearance of the user content can include applying one or more visual characteristics of the product to the user content. The augmented reality content item can include computer-readable instructions executable to modify the user content via the client application.

[0129] The augmented reality content item can be generated based on input obtained via one or more user interfaces. The one or more user interfaces can include one or more user interface elements for designing the augmented reality content item. For example, the one or more user interface elements can include one or more authoring tools that produce one or more visual effects in response to execution of the augmented reality content item. The one or more user interfaces can include one or more user interface elements for uploading content that can be used to generate the augmented reality content item.

[0130] Additionally, at operation 604, process 600 can include receiving user input indicating that usage of the augmented reality content item is to be tracked. In various examples, the user input can be captured via a standardized set of user interface elements that can be selected to indicate one or more features of the augmented reality content item that are to be tracked for at least one of one or more interactions or usage. The user input can be captured via tools that can be used to build the augmented reality content item and indicate that usage of the augmented reality content item is to be tracked. In one or more examples, the user interface elements that can be selected to indicate one or more features of the augmented reality content item that are to be tracked for at least one of one or more interactions or usage are based on a type related to the augmented reality content item. For example, an augmented reality content item that changes a visual appearance of one or more objects included in user content, such as facial features, can include one or more first features that can be monitored, and an augmented reality content item that includes an animation displayed in user content can include one or more second features that are different from the one or more first features that can be monitored.

[0131] Features of the augmented reality content item that can be tracked or monitored can include one or more portions of objects that a user of the client application can interact with. Additionally, features of the augmented reality content item that can be tracked or monitored can be selected to apply a visual effect related to a product to one or more objects included in user content. In one or more examples, features of the augmented reality content item that can be tracked or monitored can be selected to initiate a financial transaction to purchase at least one product offered for purchase via the client application.

[0132] Further, the user input can indicate one or more types of interactions with the augmented reality content item that are to be tracked or monitored. To illustrate, the user input can indicate that sharing of the augmented reality content item by a user of the client application is to be tracked. Additionally, the user input can indicate that messages related to the augmented reality content item are to be tracked. In one or more implementations, adding the augmented reality content to a set of augmented reality content items activated by a user of the client application can also be tracked. In various examples, the set of augmented reality content items can be associated with an account of the user of the client application and can be displayed to the user, for example, via a carousel user interface element. The user input can also indicate that a number of times the augmented reality content item is applied to user content is to be tracked. In one or more examples, the augmented reality content item can be applied to user content in response to a selection of a user interface element that corresponds to the augmented reality content item and causes a change to the user content, which can include at least one of video content, image content, text content, or audio content.

[0133] At operation 606, the process 600 can include determining an amount of interaction with the augmented reality content item by one or more users of the client application. In one or more implementations, the server system can monitor data received from instances of the client application executed by respective client devices of users of the client application to obtain information indicative of interactions that have occurred with the augmented reality content item. For example, the client application can be executed to generate data in response to interactions with the augmented reality content item and send the data to the server system. In various examples, data related to interactions with the augmented reality content item can be generated based on interactions with at least one user interface element corresponding to the augmented reality content item. In response to receiving data from the client application indicative of interactions with the augmented reality content item, the server system can store information related to the interactions in a data structure corresponding to the augmented reality content item. In additional scenarios, individual instances of the client application can collect, store, and analyze interactions with the augmented reality content item.

[0134] The amount of interaction with the augmented reality content item can include a number of times the augmented reality content item has been at least one of applied to user content, shared with other users of the client application, or included in a message. The amount of interaction with the augmented reality content item can also include a number of times a user of the client application has interacted with one or more features of the augmented reality content item. In one or more examples, the amount of interaction with the augmented reality content item can correspond to a frequency with which a user of the client application interacts with the augmented reality content item.

[0135] Further, at operation 608, the process 600 can include determining profile information of one or more users of the client application that interacted with the augmented reality content item. In one or more examples, the client application can determine identifiers of individual users of the client application that interacted with the augmented reality content item. The client application can also send respective identifiers of the users of the client application that interacted with the augmented reality content item to the server system. The server system can use the user identifiers to resolve one or more data stores to determine information about the users of the client application that interacted with the augmented reality content item. The profile information obtained from the one or more data stores can include at least one of demographic information, location information, or content consumption information. The profile information can be based on one or more requests from a creator of the augmented reality content item to identify specified characteristics of the users of the client application that interacted with the augmented reality content item. The profile information can also be based on characteristics of the users of the client application that can predict users of the client application that interact with one or more augmented reality content items or that interact with one or more types of augmented reality content items.

[0136] At operation 610, the process 600 can include determining a characterization of users of the augmented reality content item based on the profile information. The characterization can indicate a characteristic of users of the client application that interacted with the augmented reality content item. In one or more examples, the characterization can indicate a characteristic that is common among users of the client application that had at least a threshold amount of interaction with the augmented reality content item. For example, the server system can determine an amount of interaction with the augmented reality content item that corresponds to a subset of users of the client application. To illustrate, the server system can determine users of the client application that had an amount of interaction with the augmented reality content item that falls within the top 25% of users of the client application that interacted with the augmented reality content item. The server system can then determine a characteristic that is common among the users within the subset. In additional examples, the server system can determine a range of values for one or more characteristics of the users included in the subset. In various examples, the server system can determine a characteristic that is common among a certain percentage of users of the client application that had at least a threshold amount of interaction with the augmented reality content item.

[0137] In one or more implementations, a creator of the augmented reality content item can be provided with a characterization of users of the client application that interacted with the augmented reality content item. For example, the creator of the augmented reality content item can be provided with one or more user interfaces that indicate characteristics of users of the client application that interacted with the augmented reality content item. In one or more examples, the characterization of users of the client application that interacted with the augmented reality content item can be used to determine a target audience for the augmented reality content item. The target audience can include at least one of users of the client application that have not interacted with the augmented reality content item or users of the client application that have not added the augmented reality content item to a set of augmented reality content items for the respective user.

[0138] In various examples, at least a portion of the users of the client application that are included in the target audience can be provided with information about the augmented reality content item. To illustrate, at least a portion of the users of the client application that are included in the target audience can be provided with information about the augmented reality content item in a content discovery portion of the client application. In additional examples, information about the augmented reality content item can be given a higher priority in search results that are related to search requests provided by at least a portion of the users of the client application in the target audience. In at least some examples, the search requests can include one or more keywords that correspond to the augmented reality content item. In one or more examples, members of the target audience can receive a recommendation for augmented reality content that includes the augmented reality content item. Further, members of the target audience can receive an advertisement as part of an activity to gain awareness of the augmented reality content item.

[0139] Figure 7is an illustration of a user interface 700 including features that can be incorporated into augmented reality content in accordance with one or more example implementations. The user interface 700 can be displayed via a display device of the client device 102 and generated by a client application, such as the client application 104, executed by the client device 102. The user interface 700 can include a view of one or more products 702 that can be used to modify an appearance of one or more objects included in user content. In various examples, the one or more products 702 can include one or more cosmetic products. In Figure 7 In the illustrative example, the one or more products can include different colors of eyeshadow that can be applied to an area proximate to a person’s eyes. In one or more examples, the different colors of eyeshadow can be at least one of: manufactured or sold by one or more entities. That is, in some cases, the colors of eyeshadow can be manufactured or sold by the same entity, such as the same manufacturer or retailer, while in other cases, at least some of the different colors of eyeshadow can be manufactured or sold by different entities, such as different manufacturers or retailers.

[0140] The one or more products 702 can be included in a field of view of at least one camera of the client device 102, such as the camera 704. In one or more implementations, image content of the one or more products 702 can be captured by the camera 704 and used to create augmented reality content. For example, image content corresponding to the one or more products can be used to generate an augmented reality content item that is executed to produce one or more visual effects showing the one or more products being applied to one or more objects included in user content. In various examples, the augmented reality content item can apply one or more characteristics of the one or more products to the user content. The user content can include additional image content or video content captured by the camera 704.

[0141] The user interface 700 can also include a set of user interface elements 706 that correspond to a collection of augmented reality content items that can be applied to user content captured via the camera 704. Each of the user interface elements 706 can be selectable to execute a respective augmented reality content item with respect to the user content. Executing the augmented reality content item can cause one or more visual effects to be applied to the user content to change an appearance of one or more objects included in the user content. In Figure 7In the illustrative example of FIG. 7, the set of user interface elements 706 can include a user interface element 708 that corresponds to an augmented reality content item that can be executed to apply one or more beauty products to a person included in the user content captured by the camera 704. In various examples, the user interface 700 can be a first user interface in a series of user interfaces generated with respect to the augmented reality content item corresponding to the user interface element 708.

[0142] Figure 8 is an illustration of a user interface 800 including user content 802 to which augmented reality content items can be applied, in accordance with one or more example implementations. The user interface 800 can be displayed via a display device of the client device 102 and generated by a client application executed by the client device 102, such as the client application 104. In one or more examples, the user interface 800 can be generated subsequent to the user interface 700 and can include an additional user interface in a series of user interfaces corresponding to the augmented reality content item related to the user interface element 708. In various examples, the user content 802 can be captured by the camera 704 and can include one or more body parts of a person. In one or more examples, the user content 802 can include a forearm of a person. Figure 8 In the illustrative example of FIG. 8, the user content 802 can include a forearm of a person.

[0143] Figure 9 is an illustration of a user interface 900 including augmented reality content applied to user content, in which a plurality of features of the augmented reality content are associated with selectable user interface elements, in accordance with one or more example implementations. The user interface 900 can be displayed via a display device of the client device 102 and generated by a client application executed by the client device 102, such as the client application 104. The user interface 900 can illustrate modified user content 902, which can be a modified version of the user content 802 of FIG. 8. In various examples, the modified user content 902 can be a result of the one or more products illustrated in the user interface 700 of FIG. 7 being applied to the user content illustrated in the user interface 800 of FIG. 8. In one or more examples, the modified user content 902 can include different colors of eyeshadow applied to the forearm of the person. In one or more examples, the user interface 900 can be generated subsequent to the user interface 800 of FIG. 8 and can include another user interface in a series of user interfaces associated with the augmented reality content item related to the user interface element 708. Figure 8 In the illustrative example of FIG. 8, the user content 802 can include a forearm of a person. Figure 7 In the illustrative example of FIG. 8, the user content 802 can include a forearm of a person. Figure 8 In the illustrative example of FIG. 8, the user content 802 can include a forearm of a person.

[0144] In one or more implementations, Figure 9Each of the illustrated eye shadow colors can correspond to a selectable user interface element. For example, color 1 can be associated with a first user interface element 904, and color 2 can be associated with a second user interface element 906. In various examples, the first user interface element 904 can be selected to execute a first augmented reality content item that applies the first eye shadow color to a region near one or more eyes of a person, and the second user interface element can be selected to execute a second augmented reality content item that applies the second eye shadow color to a region near one or more eyes of a person. In one or more additional examples, the first user interface element 904 can be selected to display information related to a first product associated with the first eye shadow color, and the second user interface element can be selected to display information related to a second product associated with the second eye shadow color.

[0145] Figure 10 is a representation of an environment 1000 according to one or more example implementations, the environment 1000 including a client device 102 displaying a user interface 1002 that includes information about one or more augmented reality content items of an AR content creator. The user interface 1002 can be displayed via a display device of the client device 102 and generated by a client application, e.g., the client application 104, executed by the client device 102. In one or more examples, the client device 102 can be operated by the AR content creator or a representative of the AR content creator. In one or more illustrative examples, the user interface 1002 can be displayed relative to a dashboard 526 of the AR content creator. Figure 5

[0146] The user interface 1002 can include a first portion 1004 that includes an identifier 1006 of the AR content creator. The first portion 1004 can also include a user interface element 1008 that enables selection of one or more options to display information about augmented reality content items created by the AR content creator. The user interface 1002 can also include a second portion 1010 that includes information about respective ones of a plurality of augmented reality content items generated by the AR content creator. The second portion 1010 can include an identifier, e.g., a name, of the augmented reality content item, a date and time at which the augmented reality content item was updated, and a status of the augmented reality content item.

[0147] ​Additionally, the user interface 1002 can include a third portion 1012 that includes a plurality of usage metrics regarding the augmented reality content item. For example, the third portion 1012 can indicate a number of times that the augmented reality content item has been viewed by users of the client application 104. Further, the third portion 1012 can indicate a number of times that the augmented reality content item has been played or otherwise executed by users of the client application 104, as well as a number of times that the augmented reality content item has been shared by users of the client application 104. The third portion 1012 can also include additional information regarding the augmented reality content item, such as a system identifier for the augmented reality content item. The system identifier can be an identifier used by the server system 108 to track usage of the augmented reality content item. Further, the third portion 1012 can include a user interface element 1014 that is selectable to share information regarding the augmented reality content item.

[0148] Figure 11 is a representation of an environment 1100 in accordance with one or more example implementations, the environment 1100 including a client device 102 displaying an additional user interface 1102 that includes information regarding one or more augmented reality content items of an AR content creator. The user interface 1102 can be displayed via a display device of the client device 102 and generated by a client application executed by the client device 102, such as the client application 104. In one or more examples, the client device 102 can be operated by the AR content creator or a representative of the AR content creator. In one or more illustrative examples, the user interface 1102 can be displayed in relation to a dashboard 526 of the AR content creator. Figure 5

[0149] The user interface 1102 can include a first portion 1104 that includes a plurality of options that are selectable to view information related to one or more services provided by a service provider that collects and analyzes usage information regarding augmented reality content items. In various examples, the service provider can do at least one of the following: implement or maintain the server system 108. The first portion 1104 can also include a plurality of options that are selectable to view information related to one or more reports associated with respective service options that provide data corresponding to usage of augmented reality content items. In various examples, the service provider can provide the one or more reports to the AR content creator via a dashboard of the AR content creator, such as the dashboard 526. Figure 11 In the illustrative example of FIG. 11, the information shown by the user interface 1102 corresponds to augmented reality content items related to a plurality of products. In various examples, augmented reality content corresponding to a product can be executed to apply characteristics of the respective product to one or more objects included in user content by modifying a visual appearance of the one or more objects based on visual effects related to the respective product. Additionally, information regarding​Figure 11 In the illustrative example, the user interface element 1106 corresponding to reporting option 3 has been selected, where reporting option 3 is related to service option 2.

[0150] The user interface 1102 can also include a second portion 1108 including information corresponding to the selected option included in the first portion 1104. For example, the second portion 1108 can include usage information for the augmented reality content item related to the plurality of products included in the product category. In addition to indicating the product category and the product names, the second portion 1108 can indicate an identifier for each product, such as a digital identifier related to each product, a number of uses of the augmented reality content item corresponding to each product, and a number of times the user content was captured and modified by the augmented reality content item. Further, the second portion 1108 can indicate a brand corresponding to each product, where the brand can indicate at least one of a seller or a manufacturer of the respective product.

[0151] Figure 12 is a representation of an environment 1200 including a client device 102 displaying a user interface 1202 including information characterizing a user of a client application interacting with an augmented reality content item, in accordance with one or more example implementations. The user interface 1202 can be displayed via a display device of the client device 102 and generated by a client application executed by the client device 102, such as the client application 104. In one or more examples, the client device 102 can be operated by an AR content creator or a representative of an AR content creator. In one or more illustrative examples, the user interface 1202 can be displayed in relation to the dashboard 526 of the AR content creator 502. Figure 5

[0152] ​The user interface 1202 can include a plurality of options 1204 that are selectable to generate different views of information that are indicative of characteristics of users of the client application 104 that modify user content via the client application 104 using one or more augmented reality content items. The user interface 1202 can also include a user interface element 1206 that is operable to select a date range for information related to usage of the one or more augmented reality content items. Additionally, the user interface 1202 can include a first portion 1208 that includes information related to usage metrics of the one or more augmented reality content items, such as daily unique views of the one or more augmented reality content items, total unique views of the one or more augmented reality content items, daily power users of the one or more augmented reality content items, and an average amount of time that users of the client application 104 view the one or more augmented reality content items. In various examples, a power user of an augmented reality content item can indicate a user of the client application 104 that uses the augmented reality content item at least a threshold number of times or a threshold amount of time within a given time period.

[0153] Additionally, the user interface 1202 can include a second portion 1210 that is indicative of gender demographics related to usage of the one or more augmented reality content items over time. The gender demographics can be indicative of a number of users of the client application 104 that use the one or more augmented reality content items during a time period and respective genders of those users. Additionally, the user interface 1202 can include a third portion 1212 that is indicative of age demographics related to usage of the one or more augmented reality content items over time. The age demographics can be indicative of a number of users of the client application 104 that use the one or more augmented reality content items during a time period and respective ages of those users.

[0154] Figure 13 FIG. 13 is a block diagram illustrating components of a machine 1300, according to some example implementations, able to read instructions from a machine-readable medium (e.g., a machine-readable storage medium) and perform any one or more of the methodologies discussed herein. Specifically, the machine 1300 can be a special-purpose or general-purpose computer that has a processor 1302, a main memory 1304, and a system memory 1306, each of which can communicate with one another by way of a bus 1308. The machine 1300 is shown having a storage interface 1310 separate from the bus 1308 that allows the machine 1300 to access one or more storage media 1312. Figure 13A graphical representation of a machine 1300 in the form of an example computer system is shown, within which instructions 1302 (e.g., software, programs, applications, applets, or other executable code) can be executed to cause the machine 1300 to perform any or more of the methods discussed herein. Thus, the instructions 1302 can be used to implement the modules or components described herein. The instructions 1302 transform the generic, unprogrammed machine 1300 into a specific machine 1300 programmed to perform the described and illustrated functions in the described manner. In alternative implementations, the machine 1300 operates as a standalone device or can be coupled (e.g., networked) to other machines. In a networked deployment, the machine 1300 can operate as a server machine or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. Machine 1300 may include, but is not limited to: server computers, client computers, personal computers (PCs), tablet computers, laptop computers, netbooks, set-top boxes (STBs), personal digital assistants (PDAs), entertainment media systems, cellular phones, smartphones, mobile devices, wearable devices (e.g., smartwatches), smart home devices (e.g., smart home appliances), other smart devices, web appliances, network routers, network switches, network bridges, or any machine capable of sequentially or otherwise executing instructions 1302 specifying actions to be taken by machine 1300. Furthermore, although only a single machine 1300 is shown, the term "machine" should also be considered to include a collection of machines that individually or jointly execute instructions 1302 to perform any one or more of the methods discussed herein.

[0155] Machine 1300 may include processor 1304, memory / storage device 1306, and I / O unit 1318, which may be configured to communicate with each other, for example, via bus 1310. In an example implementation, processor 1304 (e.g., a central processing unit (CPU), a simplified instruction set computing (RISC) processor, a complex instruction set computing (CISC) processor, a graphics processing unit (GPU), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a radio frequency integrated circuit (RFIC), another processor, or any suitable combination thereof) may include, for example, processors 1312 and 1314 capable of executing instructions 1302. The term "processor" is intended to include multi-core processor 1304, which may include two or more independent processors (sometimes referred to as "cores") capable of executing instructions 1302 simultaneously. Although Figure 10Multiple processors 1304 are shown, but the machine 1300 can include a single processor 1312 with single cores, a single processor 1312 with multiple cores (e.g., a multi-core processor), multiple processors 1312, 1314 with single cores, multiple processors 1312, 1314 with multiple cores, or any combination thereof.

[0156] The memory / storage 1306 can include a main memory 1316, such as random-access memory (RAM), and a secondary memory 1318, e.g., a hard disk drive or other storage device. The processor 1304 is capable of accessing both the main memory 1316 and the secondary memory 1318, e.g., via a bus 1310. The secondary memory 1318 and the main memory 1316 store the instructions 1302 implementing any one or more of the methods or functions described herein. The instructions 1302 can further reside completely, or a portion thereof, within the main memory 1316, the secondary memory 1318, at least one of the processors 1304 (e.g., within a cache of the processor), or any suitable combination thereof, during execution thereof by the machine 1300. Thus, the main memory 1316, the secondary memory 1318, and the memory of the processors 1304 are examples of machine-readable media.

[0157] The I / O components 1308 can include various components to receive input, provide output, produce output, communicate over a network, exchange information with other devices, capture measurements, and so forth. The specific I / O components 1308 included in the particular machine 1300 will depend on the type of machine. For example, portable machines such as mobile phones will likely include a touch input device or other such input mechanisms, while a headless server machine will likely not include such a touch input device. It will be appreciated that the I / O components 1308 can include Figure 10Many other components not shown can also be present in the device. For brevity, only the I / O components 1308 are grouped according to function, and this grouping is not limiting. In various example implementations, the I / O components 1308 can include user output components 1320 and user input components 1322. The user output components 1320 can include visual components (e.g., a plasma display panel (PDP), a light-emitting diode (LED) display, a liquid crystal display (LCD), a projector, or a cathode ray tube (CRT)), acoustic components (e.g., speakers), haptic components (e.g., a vibratory motor, resistance mechanisms), other signal generators, and so forth. The user input components 1322 can include alphanumeric input components (e.g., a keyboard, a touchscreen configured to receive alphanumeric input, a photo-optical keyboard, or other alphanumeric input components), pointing components (e.g., a mouse, a touchpad, a trackball, a joystick, a motion sensor, or other pointing instruments), tactile input components (e.g., a physical button, a touch screen that provides location and / or force of touches or touch gestures, or other tactile input components), audio input components (e.g., a microphone), and the like.

[0158] In further example implementations, the I / O components 1308 can include biometric components 1324, motion components 1326, environmental components 1328, or positioning components 1330, among a wide array of other components. For example, the biometric components 1324 can include components to detect expressions (e.g., hand expressions, facial expressions, vocal expressions, body gestures, or eye tracking), measure biosignals (e.g., blood pressure, heart rate, body temperature, perspiration, or brain waves), identify a person (e.g., voice identification, retinal identification, facial identification, fingerprint identification, or electroencephalogram-based identification), and the like. The motion components 1326 can include acceleration sensor components (e.g., accelerometer), gravitation sensor components, rotation sensor components (e.g., gyroscope), and so forth. The environmental components 1328 can include, for example, illumination sensor components (e.g., photometer), temperature sensor components (e.g., one or more thermometers that detect ambient temperature), humidity sensor components, pressure sensor components (e.g., barometer), acoustic sensor components (e.g., one or more microphones that detect background noise), proximity sensor components (e.g., infrared sensors that detect nearby objects), gas sensors (e.g., gas detection sensors to detect concentrations of hazardous gases for safety or to measure pollutants in the atmosphere), or other components that can provide indications, measurements, or signals corresponding to a surrounding physical environment. The positioning components 1330 can include location sensor components (e.g., a Global Position System (GPS) receiver component), altitude sensor components (e.g., altimeters or barometers that detect air pressure from which altitude can be derived), orientation sensor components (e.g., magnetometers), and the like.

[0159] Various technologies can be used to implement communication. I / O component 1308 may include communication component 1332, which is operable to couple machine 1300 to network 1334 or device 1336. For example, communication component 1332 may include a network interface component or other suitable device to interface with network 1334. In other examples, communication component 1332 may include wired communication component, wireless communication component, cellular communication component, near field communication (NFC) component, etc. Components (e.g.) ), Components and other communication components that provide communication via other modes. Device 1336 may be another machine 1300 or any peripheral device of various peripheral devices (e.g., a peripheral device coupled via USB).

[0160] Furthermore, the communication component 1332 can detect identifiers or may include components operable to detect identifiers. For example, the communication component 1332 may include a radio frequency identification (RFID) tag reader component, an NFC smart tag detection component, an optical reader component (e.g., an optical sensor for detecting one-dimensional barcodes such as Universal Product Code (UPC) barcodes, multi-dimensional barcodes such as Quick Response (QR) codes, Aztec codes, data matrices, data symbols, MaxiCode, PDF417, Ultra Code, UCC RSS-2D barcodes, and other optical codes) or an acoustic detection component (e.g., a microphone for identifying audio signals from the tag). Additionally, various information can be obtained via the communication component 1332, such as location via Internet Protocol (IP) geolocation, etc. Location can be obtained through signal triangulation or by detecting NFC beacon signals that indicate a specific location.

[0161] Figure 14 This is a block diagram illustrating a system 1400 including an example software architecture 1402, which can be used in conjunction with various hardware architectures described herein. Figure 14 This is a non-limiting example of a software architecture, and it should be understood that many other architectures can be implemented to facilitate the functionality described herein. Software architecture 1402 can be implemented in hardware such as... Figure 10 Executed on machine 1300. Figure 10 The machine 1300 includes a processor 1304, a memory / storage device 1306, and input / output (I / O) components 1308, etc. A representative hardware layer 1404 is shown and can represent, for example... Figure 13The representative hardware layer 1404 includes a processing unit 1406 that controls processing of firmware instructions 1408. The firmware instructions 1408 represent the executable instructions of the software architecture 1402, including implementation of the methods, components, and so forth described herein. The hardware layer 1404 also includes memory and / or storage modules, such as a memory / storage 1410, that also have firmware instructions 1408 stored therein. The hardware layer 1404 can also include other hardware 1512.

[0162] In Figure 14 In the example architecture of FIG. 13, the software architecture 1402 can be conceptualized as a stack of layers where each layer provides particular functionality. For example, the software architecture 1402 can include layers such as an operating system 1414, libraries 1416, frameworks / middleware 1418, applications 1420, and a presentation layer 1422. Operationally, the applications 1420 and / or other components within the layers can invoke API calls 1424 and receive messages 1426 in response to the API calls 1424, accordingly. Depicted layers may

[0163] The operating system 1414 can manage hardware resources and provide common services. The operating system 1414 can include, for example, a kernel 1428, services 1430, and drivers 1432. The kernel 1428 can act as an abstraction layer between the hardware and the other software layers. For example, the kernel 1428 can be responsible for memory management, processor management (e.g., scheduling), component management, networking, security settings, and so on. The services 1430 can provide other common services for the other software layers. The drivers 1432 are responsible for controlling or interfacing with the underlying hardware, depending on the implementation. For instance, the drivers 1432 include display drivers, camera drivers, Bluetooth® drivers, flash memory drivers, serial communication drivers (e.g., Universal Serial Bus (USB) drivers), audio drivers, power management drivers, and so forth. The drivers 1432 are responsible for controlling or interfacing with the underlying hardware, depending on the implementation. For instance, the drivers 1432 include display drivers, camera drivers, Bluetooth® drivers, flash memory drivers, serial communication drivers (e.g., Universal Serial Bus (USB) drivers), The drivers 1432 are responsible for controlling or interfacing with the underlying hardware, depending on the implementation. For instance, the drivers 1432 include display drivers, camera drivers, Bluetooth® drivers, flash memory drivers, serial communication drivers (e.g., Universal Serial Bus (USB) drivers),

[0164] The libraries 1416 provide a common infrastructure that can be used by the applications 1420, other components, or layers. The libraries 1416 provide functionality that allows other software components to perform tasks without having to interface directly with the underlying operating system 1414 (e.g., kernel 1428, services 1430, and / or drivers 1432). The libraries 1416 can include system libraries 1434 (e.g., C standard library) that can provide functions such as memory allocation functions, string manipulation functions, mathematical functions, and the like. In addition, the libraries 1416 can include API libraries 1436 such as media libraries (e.g., libraries to support presentation and manipulation of various media formats such as MPEG4, H.264, MP3, AAC, AMR, JPG, PNG), graphics libraries (e.g., an OpenGL framework that can be used to render 2D and 3D graphics content on a display), database libraries (e.g., SQLite that can provide various relational database functions), web libraries (e.g., WebKit that can provide web browsing functionality), and the like. The libraries 1416 can also include a wide variety of other libraries 1438 to provide many other APIs to the applications 1420 and other software components / modules.

[0165] The frameworks / middleware 1418 (also sometimes referred to as middleware) provide a higher-level common infrastructure that can be used by the applications 1420 and / or other software components / modules. For example, the frameworks / middleware 1418 can provide various graphic user interface

[0166] The applications 1420 include built-in applications 1440 and / or third-party applications 1442. Representative built-in applications 1440 can include, but are not limited to, a contacts application, a browser application, a book reader application, a location application, a media application, a messaging application, and / or a game application. The third-party applications 1442 can include the application(s) that are developed using the ANDROID TM or IOS TM software development kit (SDK) by an entity other than the vendor of the particular platform, and can be mobile software running on a mobile operating system such as IOS TM , ANDROID TM , Phone mobile operating systems or other mobile operating systems. The third-party applications 1442 can invoke the API calls 1424 provided by the mobile operating system (e.g., operating system 1414) to facilitate the functionality described herein.

[0167] The applications 1420 can use built-in operating system functions (e.g., kernel 1428, services 1430, and / or drivers 1432), libraries 1416, and frameworks / middleware 1418 to create the UI and to interact with a user of the system. Alternatively, or additionally, in some systems, interaction with a user can occur through a presentation layer, such as presentation layer 1422. In these systems, the application / component "logic" can be distinct from the aspects of the application / component that interact with a user.

[0168] Glossary:

[0169] "Carrier signal" in this context refers to any intangible medium that is capable of storing, encoding, or carrying the transitory or non-transitory instructions 1302 for execution by the machine 1300, and includes digital or analog communications signals or other intangible media to facilitate communication of such instructions 1302. Instructions 1302 can be transmitted or received by the machine 1300 via the network interface device utilizing any one of a number of well- known transfer protocols (e.g., HTTP).

[0170] "Client device" in this context refers to any machine 1300 that interfaces to a communications network 110, 1334 to obtain resources from one or more server systems or other client devices 102. A client device 102 can be, but is not limited to, a mobile phone, desktop computer, laptop computer, portable digital assistants (PDAs), smart phones, tablets, ultra-books, netbooks, laptops, multi-processor systems, microprocessor-based or programmable consumer electronics, game consoles, set-top boxes, or any other communication device that a user can use to access a network 110, 1334.

[0171] "Communication network" in this context refers to one or more portions of a network 110, 1334 that can be self-organizing networks, intranet, extranet, virtual private network (VPN), local area network (LAN), wireless LAN (WLAN), wide area network (WAN), wireless WAN (WWAN), metropolitan area network (MAN), the Internet, a portion of the Internet, a portion of a public switched telephone network (PSTN), a plain old telephone service (POTS) network, a cellular telephone network, a wireless network, a Wi-Fi® network, another fiber optic-based network, or a combination of these or other networks. The network 110, 1334 or a portion of the network 110, 1334 can include a wireless or cellular network, and the coupling can be a Code Division Multiple Access (CDMA) connection, a Global System for Mobile Communications (GSM) connection, or other types of cellular or wireless coupling. In this example, the coupling can implement any of a variety of types of data transfer technology, such as Single Carrier Radio Transmission Technology (lxRTT), Evolution-Data Optimized (EVDO) technology, General Packet Radio Service (GPRS) technology, Enhanced Data rates for GSM Evolution (EDGE) technology, third Generation Partnership Project (3GPP) including 3G, fourth generation wireless (4G) networks, Universal Mobile Telecommunications System (UMTS), High Speed Packet Access (HSPA), Worldwide Interoperability for Microwave Access (WiMAX), Long Term Evolution (LTE) standard, others defined by various standards setting organizations, other long range protocols, or other data transfer technology.

[0172] A "ephemeral message" in this context refers to a message that can be accessed for a limited duration of time. The ephemeral message can be text, images, videos, etc. The access time for the ephemeral message can be set by the message sender. Alternatively, the access time can be a default setting or a setting specified by the recipient. Regardless of the setting technique, the message is transient.

[0173] A "machine-readable medium" in this context refers to a component, device, or other tangible media capable of storing instructions 1302 and data temporarily or permanently including, but not limited to, random-access memory (RAM), read-only memory (ROM), buffer memory, flash memory, optical media, magnetic media, cache memory, other types of storage (e.g., Erasable Programmable Read-Only Memory (EEPROM)) and / or any suitable combination thereof. The term "machine-readable medium" should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, or associated caches and servers) capable of storing instructions 1302 that are executed by the machine 1300 so that the instructions 1302 uniquely identify a machine that is capable of executing the instructions 1302. Accordingly, the term "machine-readable medium" is taken to include a single medium or multiple media capable of carrying instructions 1302 that are executed by the machine 1300, such that the instructions 1302 uniquely identify a machine that is capable of executing the instructions 1302. The term "machine-readable medium" shall also be taken to include any medium or combination of multiple media that is capable of storing instructions 1302 (e.g., code) that are executed by the machine 1300, such that the instructions 1302, when executed by one or more processors 1304 of the machine 1300, cause the machine 1300 to perform any one or more of the methods described herein. Accordingly, a "machine-readable medium" refers to a single storage apparatus or device, as well as "cloud-based" storage systems or storage networks that include multiple storage apparatus or devices. The term "machine-readable medium" excludes signals per se.

[0174] "Component" in this context refers to a device, physical entity or logic having boundaries defined by the function or subroutine calls, branches, application program interfaces (APIs), or other technologies that provide interactions with external devices, physical

[0175] A hardware component can also be implemented mechanically, electronically, or in any suitable combination thereof. For example, a hardware component can include dedicated circuitry or logic that is permanently configured to perform certain operations. A hardware component can be a special-purpose processor, such as a field-programmable gate array (FPGA) or an application-specific integrated circuit (ASIC). A hardware component can also include programmable logic or circuitry that is temporarily configured by software to perform certain operations. For example, a hardware component can include software executed by a general-purpose processor 1304 or other programmable processor to configure the hardware component to perform certain operations. Once configured, hardware components can be manufactured or produced. Thus, the manufacturing or production of a hardware component can include, e.g., fabricating or otherwise manufacturing integrated circuits (e.g., a processor 1304 or other circuitry) and configuring software modules (e.g., a non-transitory storage medium 1306 or other machine- readable medium) to configure and operate with one or more such integrated circuits.

[0176] Hardware components can provide information to, and receive information from, other hardware components. Thus, described hardware components can be regarded as being communicatively coupled. Where multiple hardware components exist contemporaneously, communications can be achieved through signal transmission (e.g., over appropriate circuits and buses) between or among two or more of the hardware components. In implementations in which multiple hardware components are configured or instantiated at different times, communications between such hardware components can be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple hardware components have access. For example, one hardware component can perform an operation and store the output of that operation in a memory device to which it is communicatively coupled. A further hardware component can then access the memory device to retrieve and process the stored output.

[0177] Hardware components can also initiate communications with input or output devices, and can operate on resources (e.g., collection of information). The various operations of example methods described herein can be performed, at least partially, by one or more processors 1304 that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors 1304 can constitute processor-implemented components that operate to perform one or more operations or functions described herein. As used herein, “processor-implemented component” refers to a hardware component implemented using one or more processors 1304. Similarly, the methods described herein can be at least partially processor-implemented, with a particular processor 1312, 1314 or processors 1304 being an example of hardware. For example, at least some of the operations of a method can be performed by one or more processors 1304 or processor-implemented components. Moreover, the one or more processors 1304 can also operate to support performance of the relevant operations in a “cloud computing” environment or as a “software as a service” (SaaS). For example, at least some of the operations can be performed by a group of computers (as examples of machines 1300 including processors 1304), with these operations being accessible via a network 110 (e.g., the Internet) and via one or more appropriate interfaces (e.g., an application program interface (API)). The performance of certain of the operations can be distributed among the processors, not only residing within a single machine 1300, but deployed across a number of machines. In some example implementations, the processors 1304 or processor-implemented components can be located in a single geographic location (e.g., within a home environment, an office environment, or a server farm). In other example implementations, the processors 1304 or processor-implemented components can be distributed across multiple geographic locations.

[0178] "Processor" in this context means any circuit or virtual circuit (physical circuit emulated by logic executing on an actual processor 1304) that manipulates data values according to control signals (e.g., "commands", "op codes", "machine code", etc.) and that produces results of the operations as output signals on the basis of instructions (e.g., "commands", "op codes", "machine code", etc.) stored in, or otherwise tangibly embodied in, a memory, such as processor- readable medium 1306. Accordingly, the term "processor", as used herein can refer to any of the above structures or any other structure or virtual structure (e.g., completely in software) that manipulates data values according to control signals and that produces output. Although this term is expanding to include virtual structures, like completely in software structures, it is also being used consistently in ways that are well understood by those having ordinary skill in the art. The processor 1304 can be, for example, a central processing unit (CPU), a reduced instruction set computing (RISC) processor, a complex instruction set computing (CISC) processor, a graphics processing unit (GPU), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a radio-frequency integrated circuit (RFIC), or any combination thereof. The processor 1304 can also be a multi-core processor having two or more independent processors (sometimes referred to as "cores") that can execute instructions 1302 contemporaneously.

[0179] "Timestamp" in this context means a character or sequence of coded information that identifies when a certain event occurred, e.g., giving the date and time of day, sometimes to the fraction of a second.

[0180] Changes and modifications can be made to the disclosed implementations without departing from the scope of the present disclosure. These and other changes or modifications are intended to be included within the scope of the present disclosure, as expressed in the appended claims.

[0181] Example aspects of the present disclosure

[0182] Aspect 1. A method comprising: generating, by one or more computing devices, an augmented reality content item that is executable via a client application to modify user content captured by one or more cameras of a client device; receiving, by at least one computing device of the one or more computing devices, user input indicating that an interaction of a user of the client application with the augmented reality content item is to be tracked; determining, by at least one computing device of the one or more computing devices, profile information corresponding to a plurality of users of the client application that interacted with the augmented reality content item; determining, by at least one computing device of the one or more computing devices, a user representation of the augmented reality content item based on characteristics of the plurality of users of the client application that interacted with the augmented reality content item; and generating, by at least one computing device of the one or more computing devices, user interface data corresponding to one or more user interfaces that indicate at least a portion of the user representation.

[0183] Aspect 2. The method of aspect 1, comprising: determining, by at least one computing device of the one or more computing devices, an amount of interaction of one or more users of the client application with the augmented reality content item; and determining, by at least one computing device of the one or more computing devices, one or more usage metrics corresponding to the augmented reality content item based on the amount of interaction of the one or more users of the client application with the augmented reality content item, wherein the one or more user interfaces indicate at least a portion of the one or more usage metrics.

[0184] Aspect 3. The method of aspect 2, wherein determining an amount of interaction with the augmented reality content item comprises: determining, by at least one computing device of the one or more computing devices, a number of messages corresponding to the augmented reality content item that have been sent via the client application; determining, by at least one computing device of the one or more computing devices, a first number of times that the augmented reality content item has been shared by a user of the client application; and determining, by at least one computing device of the one or more computing devices, a second number of times that the augmented reality content item has been executed to modify one or more items of user content.

[0185] Aspect 4. The method of any one of aspects 1-3, comprising: determining, by at least one computing device of the one or more computing devices, a characteristic that is common between at least a threshold number of users of the client application that interacted with the augmented reality content item; determining, by at least one computing device of the one or more computing devices, a group of users of the client application that are associated with the characteristic and that did not interact with the augmented reality content item; and determining, by at least one computing device of the one or more computing devices, that at least a portion of the group of users are a target audience for the augmented reality content item.

[0186] Aspect 5. The method of aspect 4, comprising: receiving, by at least one of the one or more computing devices, a search request for augmented reality content items, the search request including one or more keywords and the search request being received from a client device of a user of the client application; determining, by at least one of the one or more computing devices, search results, the search results including a plurality of augmented reality content items corresponding to the one or more keywords, the plurality of augmented reality content items including the augmented reality content item; determining, by at least one of the one or more computing devices, that the user is included in the target audience of the augmented reality content item; and determining, by at least one of the one or more computing devices, an order in which to present at least a portion of the search results to the user via the client application, the order being based on the user being included in the target audience of the augmented reality content item.

[0187] Aspect 6. The method of any one of aspects 1-5, comprising: generating, by at least one of the one or more computing devices, additional user interface data corresponding to one or more additional user interfaces, the one or more additional user interfaces being displayed as part of a tool to build an augmented reality content item, the one or more additional user interfaces including at least one user interface that enables selection of one or more features of an augmented reality content item, and selection of the one or more features of the augmented reality content item using the tool causes an indication to be stored in a data structure storing data related to the augmented reality content item, wherein the indication represents that selection of a user interface element associated with a feature of the one or more features corresponds to an interaction with the augmented reality content item.

[0188] Aspect 7. The method of aspect 6, comprising: determining, by at least one of the one or more computing devices, selection of the user interface element; and applying, by at least one of the one or more computing devices, one or more visual effects to one or more objects included in a user content item based on the selection of the user interface element.

[0189] Aspect 8. The method of aspect 7, wherein the user interface element includes a product, and the selection of the user interface element includes applying one or more characteristics of the product to one or more facial features of a person included in the user content item.

[0190] Aspect 9. The method of aspect 7, comprising: determining, by at least one of the one or more computing devices, an amount of interaction of one or more users of the client application with the augmented reality content item based on a number of selections of the user interface element; and determining, by at least one of the one or more computing devices, one or more usage metrics of the augmented reality content item based on the amount of interaction.

[0191] Aspect 10. The method of any one of aspects 1-9, comprising: generating, by at least one of the one or more computing devices, additional user interface data corresponding to an additional user interface, the additional user interface including an image captured by at least one camera of a client device and including a plurality of options, the plurality of options corresponding to a set of augmented reality content items, and the plurality of options including an option that can be selected to execute the augmented reality content item related to the image.

[0192] Aspect 11. A system comprising: one or more hardware processors; and one or more non-transitory computer-readable storage media comprising computer- readable instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform operations comprising: generating an augmented reality content item that is executable via a client application to modify user content, the user content being captured by one or more cameras of a client device; receiving user input indicating to track interactions of users of the client application with the augmented reality content item; determining profile information corresponding to a plurality of users of the client application that interacted with the augmented reality content item; determining a user representation of the augmented reality content item based on characteristics of the plurality of users of the client application that interacted with the augmented reality content item; and generating user interface data corresponding to one or more user interfaces indicating at least a portion of the user representation.

[0193] Aspect 12. The system of aspect 11, wherein the one or more non-transitory computer-readable storage media include additional computer-readable instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform additional operations comprising: determining an amount of interaction of a plurality of users of the client application with the augmented reality content item; determining one or more usage metrics corresponding to the augmented reality content item based on the amount of interaction of the plurality of users of the client application with the augmented reality content item; and receiving additional user input to view at least one of the one or more usage metrics corresponding to the augmented reality content item, wherein the user interface data is generated in response to the additional user input, and the one or more user interfaces include the at least one usage metric.

[0194] Aspect 13. The system of aspect 12, wherein the augmented reality content item includes a first feature and a second feature, the first feature corresponding to a first user interface element that is selectable to apply one or more first visual effects to one or more first user content items, and the second feature corresponding to a second user interface element that is selectable to apply one or more second visual effects to one or more second user content items; and the one or more non-transitory computer-readable storage media include additional computer-readable instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform additional operations comprising: determining a first number of selections of the first user interface element; and determining a second number of selections of the second user interface element; and determining the one or more usage metrics based on the first number of selections and the second number of selections.

[0195] Aspect 14. The system of aspect 13, wherein the first user interface element corresponds to a first product, and the one or more first visual effects correspond to one or more first characteristics of the first product, the first product being associated with at least one of a first manufacturer or a first seller; and the second user interface element corresponds to a second product, and the one or more second visual effects correspond to one or more second characteristics of the second product, the second product being associated with at least one of a second manufacturer or a second seller.

[0196] Aspect 15. The system of any one of Aspects 11-14, wherein the one or more non-transitory computer-readable storage media include additional computer-readable instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform additional operations comprising: determining content consumption characteristics of the plurality of users of the client application that interact with the augmented reality content item; determining content sources of content consumed by the plurality of users of the client application that interact with the augmented reality content item; and determining an amount of usage of augmented reality content items by the plurality of users of the client application that interact with the augmented reality content item via the client application.

[0197] Aspect 16. The system of Aspect 15, wherein the one or more non-transitory computer-readable storage media include additional computer-readable instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform additional operations comprising: determining, of the content consumption characteristics, content consumption characteristics that are associated with at least a first threshold number of users of the plurality of users of the client application that interact with the augmented reality content item; determining, of the content sources, content sources that are accessed by at least a second threshold number of users of the plurality of users of the client application that interact with the augmented reality content item; and determining a threshold amount of usage of augmented reality content items by at least a third threshold number of users of the client application that interact with the augmented reality content item; and the user representation comprises the content consumption characteristics, the content sources, and the threshold amount of usage of augmented reality content items.

[0198] Aspect 17. The system of any one of Aspects 11-16, wherein the one or more non-transitory computer-readable storage media include additional computer-readable instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform additional operations comprising: analyzing first characteristics of users of the client application and second characteristics of a target audience of the augmented reality content item; determining that a similarity between the first characteristics and the second characteristics is at least a threshold similarity; and sending, to a client device of a user of the client application, a recommendation that indicates the augmented reality content item.

[0199] Aspect 18. One or more non-transitory computer-readable media comprising computer-readable instructions that, when executed by a computing device, cause the computing device to perform operations comprising: generating an augmented reality content item that is executable via a client application to modify user content, the user content captured by one or more cameras of a client device; receiving user input indicating that an interaction of a user of the client application with the augmented reality content item is to be tracked; determining an amount of interaction of one or more users of the client application with the augmented reality content item; determining one or more usage metrics corresponding to the augmented reality content item based on the amount of interaction of one or more users of the client application with the augmented reality content item; determining profile information corresponding to a plurality of users of the client application that interacted with the augmented reality content item; determining a user representation of the augmented reality content item based on characteristics of the plurality of users of the client application that interacted with the augmented reality content item; and generating user interface data corresponding to one or more user interfaces, the user interface indicating at least one of the one or more usage metrics or at least a portion of the user representation.

[0200] Aspect 19. The one or more non-transitory computer-readable media of aspect 18, further comprising additional computer-readable instructions that, when executed by a computing device, cause the computing device to perform additional operations comprising: determining a number of selections of a user interface element of the augmented reality content item; and wherein the amount of interaction with the augmented reality content item is based on the number of selections of the user interface element.

[0201] Aspect 20. The one or more non-transitory computer-readable media of aspect 19, further comprising additional computer-readable instructions that, when executed by a computing device, cause the computing device to perform additional operations comprising: receiving data indicating that the user interface element has been selected in response to a selection of the user interface element, wherein the data indicates an identifier of a user of the client application that made the selection; resolving a data store using the identifier to determine one or more characteristics of the user based on profile data of the user; and storing the one or more characteristics in relation to the augmented reality content item.

Claims

1. A method comprising: generating, by one or more computing devices, an augmented reality content item that is executable via a client application to modify user content, the user content being captured by one or more cameras of a client device; receiving, by at least one computing device of the one or more computing devices, user input indicating that an interaction of a user of the client application with the augmented reality content item is to be tracked; determining, by at least one computing device of the one or more computing devices, profile information corresponding to a plurality of users of the client application that interacted with the augmented reality content item; determining, by at least one computing device of the one or more computing devices, a user representation of the augmented reality content item based on characteristics of the plurality of users of the client application that interacted with the augmented reality content item; receiving, by at least one computing device of the one or more computing devices, one or more dashboard requests indicating one or more criteria corresponding to characteristics of users of the client application that interacted with the augmented reality content item and one or more usage metrics of the augmented reality content item, and generating, by at least one computing device of the one or more computing devices, user interface data corresponding to a dashboard of a creator of the augmented reality content item based on the one or more dashboard requests, the dashboard comprising one or more user interfaces indicating at least a portion of the user representation and the one or more usage metrics.

2. The method of claim 1, comprising: determining, by at least one computing device of the one or more computing devices, an amount of interaction of one or more users of the client application with the augmented reality content item; and determining, by at least one computing device of the one or more computing devices, the one or more usage metrics corresponding to the augmented reality content item based on the amount of interaction of one or more users of the client application with the augmented reality content item, wherein the one or more user interfaces indicate at least a portion of the one or more usage metrics. Determining an amount of interaction with the augmented reality content item comprises:

3. The method of claim 2, wherein, determining, by at least one computing device of the one or more computing devices, a number of messages corresponding to the augmented reality content item that were sent via the client application; determining, by at least one computing device of the one or more computing devices, a first number of times that the augmented reality content item has been shared by a user of the client application; and determining, by at least one computing device of the one or more computing devices, a second number of times that the augmented reality content item has been executed to modify one or more items of user content.

4. The method of claim 1, comprising: determining, by at least one computing device of the one or more computing devices, a characteristic that is common between at least a threshold number of users of the client application that interacted with the augmented reality content item; ​ determining, by at least one of the one or more computing devices, a group of users of the client application that are associated with the characteristic and that have not interacted with the augmented reality content item; and determining, by at least one of the one or more computing devices, that at least a portion of the group of users is a target audience for the augmented reality content item.

5. The method of claim 4, comprising: receiving, by at least one of the one or more computing devices, a search request for an augmented reality content item, the search request including one or more keywords and the search request being received from a client device of a user of the client application; determining, by at least one of the one or more computing devices, search results, the search results including a plurality of augmented reality content items that correspond to the one or more keywords, the plurality of augmented reality content items including the augmented reality content item; determining, by at least one of the one or more computing devices, that the user is included in the target audience for the augmented reality content item; and determining, by at least one of the one or more computing devices, an order in which to present at least a portion of the search results to the user via the client application, the order being based on the user being included in the target audience for the augmented reality content item.

6. The method of claim 1, comprising: generating, by at least one of the one or more computing devices, additional user interface data corresponding to one or more additional user interfaces, the one or more additional user interfaces being displayed as part of a tool for building an augmented reality content item, the one or more additional user interfaces including at least one user interface that enables selection of one or more features of an augmented reality content item, and selection of the one or more features of the augmented reality content item using the tool causes an indication to be stored in a data structure that stores data related to the augmented reality content item, wherein the indication represents that selection of a user interface element associated with a feature of the one or more features corresponds to an interaction with the augmented reality content item.

7. The method of claim 6, comprising: determining, by at least one of the one or more computing devices, selection of the user interface element; and applying, by at least one of the one or more computing devices, one or more visual effects to one or more objects included in a user content item based on the selection of the user interface element.

8. The method of claim 7, wherein, the user interface element includes a product, and the selection of the user interface element includes applying one or more characteristics of the product to one or more facial features of a person included in the user content item.

9. The method of claim 7, comprising: determining, by at least one of the one or more computing devices, an amount of interaction of one or more users of the client application with the augmented reality content item based on the number of selections of the user interface element; and determining, by at least one of the one or more computing devices, one or more usage metrics of the augmented reality content item based on the amount of interaction.

10. The method of claim 1, comprising: generating, by at least one of the one or more computing devices, additional user interface data corresponding to an additional user interface, the additional user interface including an image captured by at least one camera of a client device and including a plurality of options, the plurality of options corresponding to a set of augmented reality content items, and the plurality of options including an option that can be selected to execute the augmented reality content item related to the image.

11. A system comprising: one or more hardware processors; and one or more non-transitory computer-readable storage media comprising computer- readable instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform operations comprising: generating an augmented reality content item that is executable via a client application to modify user content, the user content being captured by one or more cameras of a client device; receiving user input indicating that interactions of users of the client application with the augmented reality content item are to be tracked; determining profile information corresponding to a plurality of users of the client application that interacted with the augmented reality content item; determining a user representation of the augmented reality content item based on characteristics of the plurality of users of the client application that interacted with the augmented reality content item; receiving one or more dashboard requests indicating one or more criteria corresponding to characteristics of users of the client application that interacted with the augmented reality content item and one or more usage metrics of the augmented reality content item, and generating, based on the one or more dashboard requests, user interface data corresponding to a dashboard of a creator of the augmented reality content item, the dashboard including one or more user interfaces indicating at least a portion of the user representation and the one or more usage metrics.

12. The system of claim 11, wherein, the one or more non-transitory computer-readable storage media comprising additional computer-readable instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform additional operations comprising: determining an amount of interaction of a plurality of users of the client application with the augmented reality content item; determining the one or more usage metrics corresponding to the augmented reality content item based on the amount of interaction of the plurality of users of the client application with the augmented reality content item; and receiving additional user input to view at least one of the one or more usage metrics corresponding to the augmented reality content item, wherein the user interface data is generated in response to the additional user input, and the one or more user interfaces include the at least one usage metric.

13. The system of claim 12, wherein, the augmented reality content item includes a first feature and a second feature, the first feature corresponding to a first user interface element that is selectable to apply one or more first visual effects to one or more first user content items, and the second feature corresponding to a second user interface element that is selectable to apply one or more second visual effects to one or more second user content items; and the one or more non-transitory computer-readable storage media include additional computer-readable instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform additional operations comprising: determining a first number of selections of the first user interface element; and determining a second number of selections of the second user interface element; and determining the one or more usage metrics based on the first number of selections and the second number of selections.

14. The system of claim 13, wherein, the first user interface element corresponds to a first product, and the one or more first visual effects correspond to one or more first characteristics of the first product, the first product being associated with at least one of a first manufacturer or a first seller; and the second user interface element corresponds to a second product, and the one or more second visual effects correspond to one or more second characteristics of the second product, the second product being associated with at least one of a second manufacturer or a second seller.

15. The system of claim 11, wherein, the one or more non-transitory computer-readable storage media include additional computer-readable instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform additional operations comprising: determining content consumption characteristics of the plurality of users of the client application that interact with the augmented reality content item; determining content sources of content consumed by the plurality of users of the client application that interact with the augmented reality content item; and determining an amount of usage of augmented reality content items by the plurality of users of the client application that interact with the augmented reality content item via the client application.

16. The system of claim 15, wherein, the one or more non-transitory computer-readable storage media include additional computer-readable instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform additional operations comprising: determining, among the content consumption characteristics, a content consumption characteristic associated with at least a first threshold number of users of the plurality of users of the client application interacting with the augmented reality content item; determining, among the content sources, a content source accessed by at least a second threshold number of users of the plurality of users of the client application interacting with the augmented reality content item; and determining a threshold amount of usage of augmented reality content items by at least a third threshold number of users of the client application interacting with the augmented reality content item; and the user representation includes the content consumption characteristic, the content source, and the threshold amount of usage of augmented reality content items.

17. The system of claim 11, wherein, The one or more non-transitory computer-readable storage media include additional computer-readable instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform additional operations comprising: analyzing first characteristics of users of the client application and second characteristics of a target audience of the augmented reality content item; determining that a similarity between the first characteristics and the second characteristics is at least a threshold similarity; and sending, to a client device of a user of the client application, a recommendation indicating the augmented reality content item.

18. The system of claim 11, wherein, The one or more non-transitory computer-readable storage media include additional computer-readable instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform additional operations comprising: determining a number of selections of a user interface element of the augmented reality content item; and wherein the amount of interaction with the augmented reality content item is based on the number of selections of the user interface element.

19. The system of claim 18, wherein, The one or more non-transitory computer-readable storage media include additional computer-readable instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform additional operations comprising: in response to a selection of the user interface element, receiving data indicating that the user interface element has been selected, wherein the data indicates an identifier of a user of the client application that made the selection; using the identifier to resolve a data store to determine one or more characteristics of the user based on profile data of the user; and storing the one or more characteristics in association with the augmented reality content item.

Citation Information

Patent Citations

  • Systems and methods for providing demographic analysis for media content based on user view or activity

    US20180300747A1

  • UI and devices for incenting user contribution to social network content

    US20200186489A1