System and method for reconstructing account data
The system addresses account complexity in digital advertising by merging campaigns based on query space overlap and optimizing keyword associations, enhancing account performance and management efficiency.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- GOOGLE LLC
- Filing Date
- 2024-06-12
- Publication Date
- 2026-07-23
AI Technical Summary
Digital advertising accounts become excessively complex and redundant, leading to increased storage/memory requirements and difficulty in understanding and optimizing account performance, which hinders effective automation and management.
A system that reconstructs account data by merging campaigns based on query space overlap and reducing keywords based on incremental value, using machine learning to cluster keywords by theme and associate them with digital assets, thereby simplifying and optimizing the account structure.
Significantly reduces account bloat and associated storage/memory requirements while maintaining performance, enabling better understanding and management of accounts through improved relevance and efficiency in keyword and asset associations.
Smart Images

Figure 2026524578000001_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to digital advertising account data, and more particularly to techniques for reconstructing such data.
Background Art
[0002] The description of the background art provided herein is for the purpose of generally presenting the context of the present disclosure. The achievements of the inventor(s) recited herein are not to be recognized as prior art to the present disclosure, either explicitly or implicitly, in the context of the items of this background art and in the same manner as aspects of this specification that may not be eligible as prior art at the time of filing.
[0003] Digital advertising has become a highly technical field, especially where advertisers need to adjust, maintain, and continuously improve complex accounts. Typically, advertisers adjust such accounts by creating several different advertising "campaigns" each ostensibly focused on different areas of marketing / advertising needs. Within each campaign, the advertiser must identify which digital assets (digital ads) to use in the campaign. Additionally, advertisers usually need to add several keywords to the campaign and place the keywords in different keyword groups associated with different digital assets or different groups of digital assets. Advertisers may also set other parameters of each campaign, such as budget, location of the desired / expected audience, etc. The adjustment and setting of campaigns are usually repeatedly changed over time, and the main goal is generally to create an account that maximizes the exposure of the advertiser's digital assets to an audience that is relatively likely to purchase the advertiser's product or service (subject to budgetary and other constraints).
[0004] However, such accounts can become extremely complex. For example, a single large advertiser / company may have an account with thousands of campaigns, which itself can have varying levels of complexity. An almost inevitable consequence is that the account contains a large amount of redundant information, with the redundancy extending across campaigns, keyword groups, and possibly other hierarchical levels of the account. Such redundancy can arise from many reasons, including redundant coverage resulting from keyword match types (e.g., how broadly or specifically keywords are linked to queries such as search engine queries), location settings (e.g., geographical locations of interest for digital assets associated with keywords), device type settings, etc. Redundancy in other types of accounts includes repetition or duplication within keyword groups (e.g., one group within a campaign is set for people searching for "deals," while another group is set for people searching for "discounts").
[0005] These and other redundancies manifest as “account bloat,” which, especially on a large scale (i.e., across many advertisers / accounts), significantly increases storage / memory requirements. On an individual scale, account bloat can make it much more difficult for advertisers or other responsible parties to understand the overall state of their advertiser accounts or to identify ways to improve account performance, to make it difficult or impossible to effectively automate processes that interface with account information, and / or to understand the added value that such automated processes provide.
[0006] Therefore, it is necessary to reduce the size and complexity of digital advertising accounts. In particular, the size and complexity of accounts should be reduced using efficient processing techniques and in a way that does not result in excessive degradation of account performance (if any). For example, any reduction in account size / complexity should preferably result in an account that maintains the account owner's ability to reach a broad audience with digital advertising (quantitatively measured using any number of metrics known in the art, such as average cost per view, cost per 1,000 impressions, click-through rate, etc.). [Overview of the Initiative]
[0007] In general, in one aspect of the disclosed invention, the system reconstructs account data representing several advertising campaigns. The account data, which may be hierarchically structured, first shows a first set of keywords, each mapped to a respective query space (e.g., to an exact match and / or other set of queries). The account data also first shows a first set of campaigns, and the associations between the first set of campaigns and the first set of keywords. In some cases, the keywords may be arranged as various keyword "groups" within different campaigns, each keyword group being linked to a particular digital asset or a particular set of digital assets. The digital assets (e.g., digital advertisements) may be digital content in any appropriate format, such as text, images, videos, and / or audio.
[0008] Broadly speaking, the disclosed system merges a first group of campaigns into a smaller second group of campaigns by combining and merging at least some of the campaigns from the first group of campaigns (for example, by creating a new campaign based on two or more original campaigns, or by modifying one original campaign, at least partially by adding information / associations etc. from two or more other original campaigns). The merger is at least partially based on the degree of overlap between the query spaces mapped to keywords of the different campaigns. The system may merge two or more campaigns, for example, when the query spaces mapped to keywords of those campaigns overlap by at least some threshold percentage (e.g., 50%).
[0009] After campaign integration, the disclosed system reduces the first set of keywords to a smaller set of second keywords, at least in part, by deciding whether to remove associations for specific keywords (from campaigns in the new second set of campaigns) based on the incremental value added by the query space mapped to those specific keywords. For example, the system may identify a minimum set of keywords to map together to one or more new query spaces that meet certain requirements for each campaign in the second set of campaigns. As a more specific example, the system may identify a minimum set of keywords to map together to a new query space that contains at least the same number of queries as all the keywords that were in the pre-integration / merged configuration campaigns.
[0010] The resulting combination of campaign consolidation and keyword reduction can significantly reduce "account bloat" and associated storage / memory requirements, which can become astronomical when aggregated across many accounts. Furthermore, by greatly simplifying accounts, the combination of campaign consolidation and keyword reduction can similarly greatly improve account understanding and management. As one important example, if the disclosed techniques are regularly repeated over time, the automatic and iterative removal of redundancy can guide advertisers to make more incrementally effective changes (e.g., adding or removing keywords) in terms of account performance.
[0011] Advantageously, the disclosed technique can achieve this mitigation of account bloat efficiently and without degrading the performance of campaigns (or the entire account). By consolidating campaigns and removing keywords based on a mapped query space (rather than relying solely on keyword duplication, semantic similarity, or other duplications), the disclosed technique simplifies the account in a performance-conscious and efficient manner. In particular, the disclosed technique leverages the fact that the query space is a closer performance surrogate than the keywords themselves, thereby allowing considerations such as redundancy and audience coverage to be evaluated more accurately and efficiently at the query space level. The improvements brought about by the disclosed technique (e.g., the ability to reduce account size / complexity without significant performance degradation, if any) can be quantitatively measured using any existing performance metrics for the restructured account (e.g., average cost per view, cost per 1000 impressions, click-through rate, etc.).
[0012] In some embodiments, the system restructures campaign keywords according to themes (i.e., creates new associations between digital assets and keywords). In embodiments and scenarios where the system has already consolidated campaigns and / or reduced keywords as described above, the restructuring may be performed for some or all of the campaigns in a second set of campaigns. For each campaign, for example, the system may cluster the campaign keywords by theme (determined per keyword, e.g., using a machine learning model), predict the performance of various digital assets for each keyword within each cluster, or for all keywords in a cluster (e.g., using another machine learning model), and then use the predicted performance to determine which digital assets to link to which cluster. Such techniques can further reduce account bloat / complexity by eliminating additional redundancy and can maximize or otherwise enhance the relevance between assets and keywords. Furthermore, the resulting thematic consistency can make it much easier to understand, predict, and / or measure / evaluate the results of related automated processes, such as automated processes for matching keywords against queries using different match types or algorithms.
[0013] In one embodiment, the method efficiently reconstructs account data showing (i) a first set of keywords, each mapped to a different query space, (ii) a first set of campaigns, and (iii) associations between the first set of campaigns and the first set of keywords. The method includes (1) integrating a first set of campaigns into a second set of campaigns consisting of fewer campaigns than the first set of campaigns, wherein the integration includes determining whether to combine a given first set of campaigns with a given second set of campaigns based on the degree of overlap between (i) the respective query spaces to which keywords associated with the given first set of campaigns are mapped and (ii) the respective query spaces to which keywords associated with the given second set of campaigns are mapped; (2) generating a second set of keywords consisting of a subset of the first set of keywords, wherein the generation of the second set of keywords includes determining, for each campaign in the second set of campaigns, whether to remove the campaign's association with a particular keyword based on the incremental value added by the query space to which the particular keyword is mapped; and (3) storing reconstructed account data by one or more processors that shows (i) the second set of keywords, (ii) the second set of campaigns, and (iii) the new associations between the second set of campaigns and the second set of keywords. [Brief explanation of the drawing]
[0014] [Figure 1] This is a block diagram of an exemplary system in which techniques for reconstructing account data may be implemented. [Figure 2A] This shows an example of a hierarchical structure of accounts. [Figure 2B] This illustrates an exemplary mapping between campaign keywords and various digital assets. [Figure 3]This shows an exemplary process for rebuilding account data. [Figure 4] Figure 1 illustrates an exemplary scenario in which the computing system merges multiple campaigns into a single campaign. [Figure 5] Figure 1 shows an exemplary process that the computing system may implement to remove campaign keywords. [Figure 6] Figure 1 illustrates an exemplary process in which the computing system can be implemented to reconstruct the mapping between campaign keywords and digital assets. [Figure 7] This is a flowchart illustrating an example method for reconstructing account data. [Modes for carrying out the invention]
[0015] Figure 1 is a block diagram of an exemplary system 100 in which a technique for reconstructing account data may be implemented. The exemplary system 100 includes a client device 102 (e.g., a user / consumer device), a computing system 104, a content sponsor 106 (e.g., a server for a content sponsor entity), and a network 110. The computing system 104 is remote from the client device 102 and the content sponsor 106 and is coupled to them communicably via the network 110.
[0016] Network 110 may be a single communication network (e.g., the Internet), and in some embodiments, it may also include one or more additional networks. As just one example, network 110 may include a cellular network, the Internet, and a server-side local area network (LAN). While Figure 1 shows only a single client device 102 and content sponsor 106, it is understood that computing system 104 may also communicate with several other client devices and / or content sponsors (e.g., thousands or millions) that are generally similar to each of the client device 102 and / or content sponsor 106.
[0017] In general, the computing system 104 may provide advertising services to content sponsors (e.g., advertisers), such as content sponsor 106, to facilitate the marketing of the content sponsor's commercial products and / or services. For this purpose, the computing system 104 may provide an online interface for content sponsor 106 and others to set up and maintain their digital advertising accounts. A digital advertising account may include any appropriate settings and / or parameters that the content sponsor can configure to manage their digital advertising results. For example, the online interface may allow content sponsor 106 to set up several digital advertising campaigns within its account (e.g., associated with different business areas or different product lines of content sponsor 106). Within a single campaign, content sponsor 106 may select keywords based on its predictions of what types of queries users interested in content sponsor 106's specific products or services might enter, and may link those keywords (or, for example, specific groups of those keywords tailored based on a product) to specific digital assets (e.g., digital advertisements in the form of text, images, videos, and / or audio) or a specific set of digital assets that content sponsor 106 wishes to use for its specific products or services. Content sponsor 106 may also set other parameters, such as bid amounts for specific keywords. Collectively, the account settings, including the hierarchical arrangement of campaigns and keywords (and potentially keyword groups), as well as the association of keywords or keyword groups with digital assets, may be stored as content sponsor 106's account data in an account database 112 that stores account data for many content sponsors.
[0018] Computing system 104, or other systems (e.g., a dedicated ad exchange server), may use account data from various content sponsors to select and deliver (or coordinate the delivery of) specific digital assets to specific client devices based on appropriate content selection procedures. For example, computing system 104 may select digital assets by using an auction based on keyword bidding (and possibly other factors such as the relevance score of a particular digital asset given a specific query entered by a client device user, or the specific context in which the user is using the client device). As just one example, a user of client device 102 may access a search engine via a web page hosted by computing system 104 or other systems, or via a search engine application (e.g., a mobile application) previously installed on client device 102. The search engine may be a general-purpose search engine that identifies / provides web pages and / or other internet content, such as the Google Search search engine. Alternatively, the search engine may be associated with the search functionality of any other web page or application, such as a video sharing platform (e.g., YouTube®), a service discovery platform, etc.
[0019] In some embodiments, the computing system 104 does not provide other functions such as ad selection / exchange functions, and provides only some of the functions discussed herein (e.g., only account setup, account maintenance, and automated account data reconstruction). However, it is understood that the computing system 104 itself may, in some embodiments, include multiple servers and / or other devices (e.g., a first server that maintains and reconstructs account data, a second server that selects digital assets to present to a website, a mobile application user interface, or other information resource).
[0020] In some embodiments, the digital asset / advertisement is associated with a link to a particular landing page. For example, when a user clicks on a digital asset presented via the client device 102 (e.g., within the user interface of a web browser or a mobile application), the user may be transferred to the URL of a web landing page that sells the advertised product, or to a particular landing page / screen of a mobile application where the product is sold (via a deep link).
[0021] The client device 102 may be any stationary, mobile, or portable computing device with wired and / or wireless communication capabilities (e.g., a smartphone, a tablet computer, a laptop computer, a desktop computer, a smart wearable device such as smart glasses or a smartwatch, a computer of a vehicle's head unit, etc.), or may include them. In the exemplary embodiment of FIG. 1, the client device 102 includes a network interface 120, a processor 122, a memory 124, and a display 126. The processor 122 may be a single processor (e.g., a central processing unit (CPU)), or may include a set of processors (e.g., multiple CPUs, or one or more CPUs and one or more graphics processing units (GPUs)).
[0022] Memory 124 includes one or more computer-readable non-transitory storage units or devices, which may include a persistent memory component (e.g., a hard disk) and / or a non-persistent memory component. Memory 124 stores instructions executable on processor 122 for performing various operations, including instructions of various software applications and data generated and / or used by such applications. In the exemplary embodiment of FIG. 1, memory 124 stores at least application 130. Generally, application 130 is executed by processor 122 to provide one or more user interfaces via display 126, and the user interface(s) may enable a user to input and submit a search query and, in response to the query, view (inter alia) digital advertisements, or otherwise enable the user to view digital advertisements within content slots of information resources. For example, application 130 may be a web browser application or a dedicated mobile application.
[0023] Display 126 includes hardware, firmware, and / or software configured to enable a user to view the visual output of client device 102 and may use any suitable display technology (e.g., LED, OLED, LCD, etc.). In some embodiments, display 126 is incorporated into a touch screen having both display and manual input capabilities. Further, in some embodiments where client device 10 is a wearable device, display 126 is a transparent viewing component (e.g., a lens of smart glasses) incorporating integrated electronic components. For example, display 126 may include micro LEDs or OLED devices embedded in the lens of smart glasses.
[0024] The network interface 120 includes hardware, firmware, and / or software configured to enable a client device 102 to exchange electronic data with a computing system 104 via the network 110. For example, the network interface 120 may include a cellular communication transceiver, a WiFi transceiver, and / or transceivers for one or more other wired and / or wireless communication technologies.
[0025] Figure 1 shows the client device 102 as a single component that communicates directly (i.e., via the network 110) with the computing system 104. However, in some embodiments, the subcomponents of the client device 102 shown in Figure 1 are instead divided into two or more user-side devices. For example, smart glasses may include a processor 122, memory 124, and a display 126, while a smartphone may include other processing units, other memory, other displays, and a network interface 120. In this case, the smart glasses (or smart helmet, etc.) may communicate with the smartphone (e.g., via Bluetooth) as needed to enable the operations described herein.
[0026] The computing system 104 includes a network interface 140, a processor 142, and memory 144. The network interface 140 includes hardware, firmware, and / or software configured to enable the computing system 104 to exchange electronic data with content sponsors 106 (and other similar entities), and possibly client devices such as client device 102, over the network 110. For example, the network interface 140 may include a wired or wireless router and a modem. The processor 142 may be a single processor or may include two or more processors. The computing system 104 may be a single computing device located in a single location, or may include multiple collaborative computing devices located in the same location or distributed remotely.
[0027] Memory 144 is a computer-readable, non-temporary storage unit or device, or a collection of units / devices, which may include persistent and / or non-persistent memory components. Memory 144 stores instructions for an account restructuring application 150 that may be executed by the processor 142. In the exemplary embodiment of Figure 1, the account restructuring application 150 includes a campaign integration module 160, a keyword reduction module 162, and a keyword mapping module 164. Modules 160, 162, and 164 are generally shown and described as separate modules of a single application 150, but it is understood that these modules may be separate software modules (across one or more applications) combined as a single software module or arranged in any other appropriate way. Furthermore, it is understood that in some embodiments, memory 144 may omit one or more modules / elements shown in Figure 1, such as the keyword mapping module 164.
[0028] In general, the account restructuring application 150 rearranges, simplifies, and / or reduces the size of account data stored in the account database 112 for several content sponsors, such as content sponsor 106. In particular, the account restructuring application 150 restructures the account data in an efficient and performance-conscious manner, as discussed above in the summary section of the invention and as will be apparent to those skilled in the art based on the disclosure herein.
[0029] As part of the restructuring, the campaign integration module 160 merges multiple campaigns from a single account together so that, in at least some scenarios, the restructured account is associated with fewer campaigns than the original account. As used herein, references to “account” may include any appropriate type or form of account or subaccount and may relate to an advertiser or other entity in any appropriate way. For example, an account may correspond to a particular advertiser or customer number, may be the sole account for an entity, or may be one or more accounts or subaccounts for an entity, etc. Furthermore, as used herein, references to “merging” multiple campaigns together may include adding specific keywords, groupings, associations, and / or settings (e.g., budget settings, geographical location settings, etc.) from other campaigns to one campaign, or creating a new campaign that includes the respective keywords, groupings, associations, and / or other settings from multiple campaigns. In the latter case, the original (unmerged) campaigns may be retained or, depending on the embodiment, may be partially or entirely deleted or removed. Generally, the campaign integration module 160 merges those campaigns based on the query space associated with the campaign keywords. An exemplary scenario in which the campaign integration module 160 merges campaigns, and the corresponding exemplary process, will be discussed in more detail below with reference to Figure 4.
[0030] The keyword reduction module 162 may operate on the account's campaigns after the campaign integration module 160 has merged various campaigns together (where appropriate). Generally, the keyword reduction module 162 selects / removes keywords from each merged campaign (including, in some embodiments, campaigns that were not merged) by evaluating the incremental value (in terms of performance) of each keyword within the campaign. Similar to the campaign integration module 160, the keyword reduction module 162 may achieve this by using a query space mapped to the keywords. In some embodiments, the keyword reduction module 162 retains or removes keywords based on whether retaining those keywords increases the overall query space mapped to the campaign. An exemplary process for removing keywords from merged campaigns is discussed in more detail below in relation to Figure 5. In alternative embodiments, the keyword reduction module 162 operates independently of modules 160 and / or 164 (for example, in an alternative embodiment where the account restructuring application 150 omits modules 160 and / or 164).
[0031] By consolidating campaigns and removing keywords based on a mapped query space (rather than relying solely on keyword duplication, semantic similarity, or other duplication, for example), the campaign consolidation module 160 and the keyword reduction module 162 can simplify accounts in a performance-conscious and efficient manner. In particular, the use of query space provides a closer surrogate for performance than the keywords themselves, thereby allowing considerations such as redundancy and audience coverage to be evaluated more accurately and efficiently at the query space level. The resulting improvements (e.g., the ability to reduce account size / complexity without significant performance degradation, if any) can be quantitatively measured using any existing performance metrics for the restructured account (e.g., average cost per view, i.e., "CPV", cost per thousand impressions, i.e., "CPM", click-through rate, i.e., "CPT", etc.). Such performance metrics may be generated, collected, and / or stored in the performance database 172 by the computing system 104, for example, or by another suitable computing system.
[0032] The keyword mapping module 164 may operate on the account's campaigns after the keyword reduction module 162 has removed / selected keywords from the merged campaigns. Alternatively, the keyword mapping module 164 may operate independently of modules 160 and 162 (for example, in an alternative embodiment where the account restructuring application 150 omits modules 160 and 162). Generally, the keyword mapping module 164 reconstructs the associations between campaign keywords and digital assets based on themes determined by the keyword mapping module 164 for the keywords. In some embodiments, the keyword mapping module 164 achieves this by clustering the campaign keywords into groups based on themes (determined, for example, using a machine learning classification model), and then associating each cluster / theme / keyword group with one or more digital assets. An exemplary process for reconstructing the mapping between keywords and digital assets within a campaign is discussed in more detail below with reference to Figure 6.
[0033] When an account is rebuilt by modules 160, 162, and / or 164, the rebuilt account data, which shows the configuration keywords, campaigns, and associations between them, as well as the associations between keywords (e.g., keyword groups) and digital assets, is stored in the account database 112 by the account rebuilding application 150 or by other appropriate application on the computing system 104.
[0034] Figure 2A shows an exemplary hierarchical arrangement of account 200 that may be stored in account database 112. Account 200 contains a certain number (M) of campaigns 210, each of which may contain any appropriate number of keywords 220 (denoted as x, y, and z for the first, second, and M campaigns 210, respectively). References herein to an account “containing” or “associated” with a campaign, or a campaign “containing” or “associated” with a keyword, indicate that the entity (account, campaign, or keyword) is part of account data and linked by associations stored in persistent memory (e.g., account database 112). A similar meaning is indicated when a campaign, keyword, or keyword group is said to be “associated” with a digital asset. The association may be direct (for example, a single association of a campaign to a keyword stored in the account database 112), or it may involve two or more links (for example, a campaign “associated” with a digital asset by a first stored association that associates the campaign with a keyword group, and a second stored association that associates the keyword group with the digital asset).
[0035] Figure 2A further shows an exemplary mapping 230 of a particular keyword K (among the keywords 220) to a certain number (N) of queries in the query space 240. The mapping 230 may be reflected, for example, by associations stored in account data 112 for the content sponsor 106's account. As used herein, the term “query space” may be a fixed or predetermined set of queries mapped to a particular keyword, or a dynamically changing set of queries associated with an algorithm or model that maps keywords to queries (e.g., in a time and / or context-dependent manner). However, in either case, a given query space such as the query space 240 may be equivalent to a specific set of N queries at any given time and / or any given context. The mapping of keywords to the query space may be universal (e.g., not specific to any content sponsor, account, or campaign) and may be performed by computing system 104 or other suitable computing system. However, in some embodiments, the mapping of a given keyword depends on the keyword's match "type," which may be selected by the content sponsor when adding the keyword to a campaign. For example, a first match type may map the keyword only to queries containing the exact keyword or its semantic equivalent, while a second match type may match the keyword more broadly / inclusively to queries that are somewhat related to the keyword. Thus, in some embodiments, query mapping depends on the match type selected by the content sponsor associated with the account, but is otherwise independent of the content sponsor and the account. The query space, or data representing the query space, may be stored, for example, in the persistent memory of the query database 170 in Figure 1, or in one or more remote databases.
[0036] Figure 2B shows an exemplary mapping 250 between campaign keywords and various digital assets 260 in a particular embodiment and scenario. The mapping 250 may be reflected, for example, by associations stored in account data 112 for the account of a content sponsor 106. "Campaign 1" in Figure 2B may be one of the campaigns 210 in Figure 2A, and keywords K1-K10 may be, for example, keywords from the keywords 220 in Figure 2A. In Figure 2B, the mapping 250 maps a particular group 270 of keywords to a particular set of digital assets 260. By being in a particular keyword group 270, each constituent keyword itself is understood to be mapped to the same digital asset(s) 260 as the corresponding keyword group 270. Each keyword group 270 may be mapped to a single digital asset or a set of two or more digital assets, and there may or may not be overlaps between digital assets 260 mapped to different keyword groups 270. The digital asset 260 may be digital content in any appropriate format (e.g., text, images, video, 3D / immersive, and / or audio) used in advertising for a product or service, or which itself is advertising for a product or service. Depending on the embodiment, the digital asset 260 may be generated and / or stored by the content sponsor, by the computing system 104, and / or by one or more other entities and / or computing systems. In some embodiments, the digital asset 260 is not stored in the account database 112 itself, but is instead represented in the account database 112 by a digital asset identifier that the computing system 104 can use to indicate, select, retrieve, etc., the corresponding digital asset 260.
[0037] Figure 3 shows an exemplary process 300 for reconstructing account data, such as account data stored in the account database 112. Process 300 may be implemented, for example, by modules 160, 162, and 164 of the account reconstruction application 150. The original account data 302 in Figure 3 may be, for example, data representing the account of content sponsor 106, stored in the account database 112. The original account data 302 may generally be arranged as shown, for example, in Figures 2A and 2B.
[0038] In stage 310 of process 300, the campaign consolidation module 160 consolidates (and / or, in some cases, decides not to consolidate) the campaigns of the account represented by the original account data 302 based on the degree of overlap between the campaign query spaces. An exemplary scenario 400 of campaign consolidation in stage 310 according to one embodiment is shown in Figure 4. For ease of explanation and clarity, it is understood that scenario 400 represents a relatively simple example. In reality, some accounts may contain hundreds or thousands of campaigns, each with tens or hundreds of keywords, etc.
[0039] In exemplary scenario 400, the account includes three campaigns, each containing three or four keywords (i.e., K1-K4 for campaign 1, K1, K5, K6, and K7 for campaign 2, and K8-K10 for campaign 3). Each keyword is sequentially mapped to a query space having a set of queries as shown in parentheses (e.g., Q1-Q5 for K1, Q3, Q4, Q6, and Q7 for K2, etc.). In some embodiments, for each campaign, the campaign integration module 160 identifies a complete set of queries representing the combination of all queries mapped to all unique keywords of the campaign. In Figure 4, these complete query sets / spaces are labeled 410-1, 410-2, and 410-3 for campaign 1, campaign 2, and campaign 3, respectively.
[0040] Next, the campaign integration module 160 determines the degree of overlap between various combinations of query sets 410-1, 410-2, and 410-3. Specifically, in the embodiment shown in Figure 4, the campaign integration module 160 identifies, for each combination, the set of queries that are common to the complete query sets of the two campaigns. In Figure 4, these common query sets are labeled 420-1, 420-2, and 420-3 for comparisons between campaigns 1 and 2, campaigns 2 and 3, and campaigns 1 and 3, respectively.
[0041] To determine whether any two campaigns should be merged, the campaign merging module 160 uses common querysets 420-1, 420-2, and 420-3 to calculate / generate metrics representing the degree of overlap, and based (at least partially) on those metrics, it either merges or does not merge a given pair of campaigns. For example, the campaign merging module 160 may decide whether to join two campaigns based on whether the common queryset 420 has a query count that is at least some threshold percentage or ratio of the complete queryset 410 of at least one of the two campaigns. In Scenario 400, for example, if the campaign integration module 160 applies a 50% integration threshold, the campaign integration module 160 may combine campaign 1 and campaign 2 because the common queryset 420-1 (containing 6 queries) is at least 50% the size of the complete queryset 410-1 (containing 8 queries), but campaigns 2 and 3, or campaigns 1 and 3, are not combined because neither pair reaches the 50% integration threshold. Alternatively, the campaign integration module 160 may decide whether to combine two campaigns based on whether the common queryset 420 has a number of queries that is at least some threshold percentage or ratio of the complete querysets 410 of each of the two campaigns. In either embodiment, the campaign integration module 160 may apply any appropriate integration threshold (e.g., 50%, 75%, etc.), or multiple thresholds (e.g., requiring at least one campaign to have 60% or more overlap, and others to have at least 40% overlap).
[0042] In some embodiments, three or more campaigns can be merged into a single campaign if the applicable metrics(s) are met. In such embodiments, the campaign merging module 160 may iterate through the steps reflected in scenario 400 (for example, by determining overlaps between the union of querysets 410-1 and 410-2 and queryset 410-3 of campaign 3, or between the union of querysets 410-1 and 410-2 and a different campaign not shown in Figure 4).
[0043] In some embodiments, the campaign integration module 160 additionally, or instead, uses other techniques to determine whether to merge campaigns based on query space overlap. For example, the campaign integration module 160 may cluster the keywords of the account's campaigns (here, campaigns 1-3) based on the degree of query space overlap and then decide whether to merge the campaigns based on the number of keywords associated with those campaigns that fall within the same cluster.
[0044] As another example, the campaign integration module 160 may further, or instead, decide whether to merge campaigns based on one or more suitability factors associated with the campaigns. Examples of such suitability factors include location information associated with the campaigns (e.g., allowing only the integration of campaigns designed for or associated with different geographic locations), performance information associated with the campaigns (e.g., allowing or restricting campaign integration based on absolute or relative performance metrics of the campaigns), and / or audience information associated with the campaigns (e.g., allowing only the integration of campaigns designed for or associated with different types of user devices or operating systems).
[0045] Referring to Figure 3, in some embodiments, stage 310 also includes transferring or otherwise generating associations so that all keywords from the original campaign maintain their association with the same digital assets or assets in the new / integrated campaign. However, as described below, such digital asset associations may be restructured in stages 312 and / or 316.
[0046] In stage 312, the campaign integration module 160 (or other module of the account restructuring application 130) integrates the digital asset mappings for each keyword in the (possibly merged) campaign based on the landing pages associated with the keywords and / or groups of keywords. For example, the campaign integration module 160 may assign the same digital asset mapping to all keywords or keyword groups that have the same landing page (i.e., when a user clicks on a digital asset / ad associated with a keyword or keyword group, it leads the user to the same landing page). In some embodiments, the campaign integration module 160 assigns the same digital asset mapping to all keywords or keyword groups that have sufficiently similar landing pages (determined by the campaign integration module 160 using appropriate metrics such as cosine similarity of vectors representing URLs and / or semantic content of each landing page). However, in some embodiments, process 300 omits stage 312.
[0047] In stage 314, the keyword reduction module 162 reduces / filters a set of keywords in the account based on the incremental value added by the query space to which these keywords are mapped. Figure 5 shows an exemplary process 500 that the keyword reduction module 162 may implement in stage 314. The keyword reduction module 162 may run process 500 multiple times in stage 314, for example, once for each campaign. The campaigns that the keyword reduction module 162 operates on in stage 314 may include merged and / or unmerged campaigns, depending on which campaigns were merged in stage 310 (if any) in a given scenario.
[0048] Within process 500, in stage 510, the keyword reduction module 162 scores and ranks the keywords 502 of a given campaign according to appropriate metrics. For example, the keyword reduction module 162 may rank the keywords 502 according to a metric that indicates the value or popularity of each keyword 502, such as the average bid value for each keyword, or a performance metric for the digital asset associated with each keyword (e.g., CPM, CVR, etc.). The keyword reduction module 162 then selects the highest-ranked keyword in stage 512 and adds the selected keyword as the first keyword in the subset of keywords that the keyword reduction module 162 is building for the campaign. By selecting the first keyword to add using appropriate metrics, this technique can prevent overly broad / vague keywords from being added first. Overly broad / vague keywords are undesirable because they can significantly degrade the performance of the remaining stages of process 500 (for example, by making it seem as though there are no or very few other keywords that reach a larger audience and thereby add incremental value).
[0049] In stage 514, the keyword reduction module 162 determines the increment added by the next highest-ranked keyword, based at least partially on the query space mapped to that keyword. In stage 516, the keyword reduction module 162 adds keywords to a subset or removes keywords from a subset based on that increment value. The keyword reduction module 162 may repeat stages 514 and 516 for all remaining keywords of keyword 502, or alternatively, for some predetermined number or percentage of remaining keywords (e.g., simply removing lower-ranked keywords without further consideration). In summary, the combination of stage 512 and the iterations of stages 514 and 516 may, for each campaign, identify a minimum subset of keywords that are collectively mapped to a new query space that satisfies one or more predetermined requirements, along with predetermined requirements including a measure of the increment value determined in stage 514.
[0050] In some embodiments, a given requirement includes the requirement that the new query space (i.e., the query space to which the subset of keywords being developed is mapped) corresponds to at least a minimum expected performance metric. In some such embodiments, stages 514 and 516 together include adding a particular keyword to the keyword subset only if that particular keyword maps to queries that are not already included in the collective query space of the keyword subset. As another example, stages 514 and 516 together may include adding a particular keyword to the keyword subset only if that particular keyword maps to queries that improve the predictive performance level. For example, stage 514 may include using a machine learning model to predict performance metric values (e.g., CVR, CPM, CTR, etc.) for the collective query space of the keyword subset with or without the keyword under consideration, and determining the keyword increment value based on the difference between the two values.
[0051] After all iterations are complete, the keyword reduction module 162 outputs the reconstructed account data 504 (for example, as an intermediate stage, it stores the reconstructed account data 504 in the account database 112 or memory 144).
[0052] Returning to Figure 3, in Stage 316, the Keyword Mapping Module 164 reconstructs the mapping between keywords and digital assets for one, some, or all of the campaigns within the account (e.g., the account represented by the reconstructed account data 504) to enhance the logical consistency (e.g., thematic) of the mapping and maintain or improve the relevance between the digital assets and the campaigns and keywords (or groups of keywords) within them. Figure 6 shows an exemplary process 600 that the Keyword Mapping Module 164 may perform in Stage 316. The Keyword Mapping Module 164 may perform process 600 once per campaign. In various embodiments, the keyword mapping module 164 may execute process 600 independently (e.g., without stages 310, 312, and 314), the keyword mapping module 164 may execute process 600 against the output of stages 310, 312, or 314, or process 600 may not be executed at all (e.g., when stage 316 is omitted from process 300 and the keyword mapping module 164 is omitted from computing system 104).
[0053] In stage 610, the keyword mapping module 164 clusters the campaign's (remaining) keywords 602 (e.g., keywords represented by the reconstructed account data 504) according to themes. For example, stage 610 may include using a trained machine learning classification model to determine the theme of each keyword and clustering the keywords based on each theme (e.g., clustering keywords that have the same theme or semantically similar themes). Any suitable clustering algorithm may be used.
[0054] In Stage 612, for each keyword cluster from Stage 610, the Keyword Mapping Module 164 ranks the performance of each digital asset associated with the account (i.e., for each digital asset in any campaign in the account). Alternatively, the Keyword Mapping Module 164 may rank the performance of only a subset of the digital assets in the account. In some embodiments, Stage 612 includes using a trained machine learning predictive model to predict the performance of each combination of keywords and digital assets (in the cluster). For example, the Keyword Mapping Module 164 may input keywords and digital assets into a machine learning model to predict appropriate performance metrics (e.g., CVR, CPM, CTR, etc.) and then calculate other metrics based on keyword-specific metrics and asset-specific metrics (e.g., average performance metrics across all keywords in the cluster). In other embodiments, the Keyword Mapping Module 164 inputs all keywords in the cluster and digital assets into a machine learning model to predict appropriate performance metrics. In either embodiment, the Keyword Mapping Module 164 can then rank the digital assets in each cluster based on the performance metrics of those digital assets with respect to the keywords in the cluster.
[0055] In Stage 614, the Keyword Mapping Module 164 associates keyword clusters with digital assets based on the cluster-specific ranking of those assets. For example, the Keyword Mapping Module 164 may associate the highest-ranking digital assets for a particular keyword cluster (e.g., top assets, top 10 assets, or top 15 assets) with all the keywords within that cluster. The sets of keywords within a cluster may be hierarchically arranged within the account structure / data as keyword "groups" associated with the highest-ranking digital asset(s), for example.
[0056] The keyword remapping module 164 may repeat stages 610, 612, and 614 for all campaigns in the account, after which the keyword remapping module 164 outputs reconstructed account data 604 (for example, storing the reconstructed account data 604 in the account database 112 or memory 144). In embodiments in which process 600 is included in stage 316 of process 300, the reconstructed account data 604 may be the reconstructed account data 304 in Figure 3.
[0057] Figure 7 is a flowchart of an exemplary method 700 for reconstructing account data. Method 700 may be performed by computing system 104 (for example, by instructions of account reconstruction application 150, when executed by processor 142) or by other suitable computing system.
[0058] In an (optional) block 702, account data is retrieved. The account data represents (1) a set of first keywords, each mapped to a different query space; (2) a set of first campaigns; and (3) associations between the first campaigns and the first keywords. The account data may be organized, for example, in the manner shown in Figures 2A and 2B. In some embodiments, block 702 includes accessing a local database (e.g., account database 112) and / or retrieving account data from one or more remote databases.
[0059] In block 704, the first set of campaigns is merged into a second set of campaigns, which consists of fewer campaigns than the first set of campaigns. Block 704 includes determining whether to combine a given first set of campaigns with a given second set of campaigns based on the degree of overlap between (1) the respective query spaces to which keywords associated with the given first set of campaigns are mapped and (2) the respective query spaces to which keywords associated with the given second set of campaigns are mapped. Block 704 may be identical or similar to any of the techniques described above with respect to, for example, stage 310 of process 300 and / or Figure 4.
[0060] In block 706, a second set of keywords is generated. The generated second set of keywords consists of a subset of the first set of keywords, and block 706 includes determining, for each campaign of the second set of campaigns, whether to remove the campaign's association with a particular keyword, based on an incremental value added by the query space mapped to that particular keyword. Block 706 may be identical or similar to, for example, stage 314 of process 300 and / or process 500 in Figure 5.
[0061] In block 708, the reconstructed account data is stored, which shows (1) a second set of keywords, (2) a second set of campaigns, and (3) new associations between the second set of campaigns and the second set of keywords. The reconstructed account data may be stored, for example, in account database 112.
[0062] Method 700 may include one or more additional blocks. For example, Method 700 may include two additional blocks (occurring after block 706), the first additional block including generating one or more campaign-specific keyword clusters by clustering campaign keywords (e.g., stage 610 of process 600), and the second additional block including associating each campaign-specific keyword cluster with at least one digital asset of a second group of digital assets (e.g., stage 614 of process 600, or a combination of stages 612 and 614).
[0063] It is understood that the blocks in Figure 7 do not need to be executed in the order they are illustrated. In some embodiments, for example, block 708 may be executed concurrently with blocks 704 and 706 (for example, each change to the account / account data in blocks 704 and 706 may be corrected as soon as the change is made, or otherwise stored in the account database, rather than waiting for the account reconstruction to be completed before block 708 is executed).
[0064] In some embodiments, the technologies disclosed herein use artificial intelligence to facilitate the reconstruction of account data. Artificial intelligence (AI) is a segment of computer science that focuses on creating models that can perform tasks with little or no human intervention. Artificial intelligence systems can utilize, for example, machine learning, natural language processing, and computer vision. Its subsets, such as machine learning and deep learning, focus on developing models that can infer outputs from data. Outputs can include, for example, predictions and / or classifications. Natural language processing focuses on analyzing and generating human language. Computer vision focuses on analyzing and interpreting images and videos. Artificial intelligence systems can include generative models that generate new content, such as images, videos, text, audio, and / or other content, in response to input prompts and / or based on other information.
[0065] Exemplary machine learning models include neural networks or other multi-layered nonlinear models. Exemplary neural networks include feedforward neural networks, deep neural networks, recurrent neural networks, and convolutional neural networks. Some exemplary machine learning models can leverage attention mechanisms such as self-attention. For example, some machine learning models can include multi-head self-attention models (e.g., transformer models).
[0066] Models can be trained using a variety of training or learning techniques. Training can include supervised learning, unsupervised learning, reinforcement learning, etc. Training can use techniques such as backpropagation of errors. For example, a loss function can be backpropagated through the model(s) to update one or more parameters of the model(s) (e.g., based on the gradient of the loss function). Various loss functions can be used, such as mean squared error, likelihood loss, cross-entropy loss, hinge loss, and / or various other loss functions. Parameters can be iteratively updated over several training iterations using gradient descent. Several generalization techniques (e.g., weight decay, dropout) can be used to improve the generalization ability of the trained model.
[0067] Prior to domain-specific alignment, the model(s) may be pre-trained. For example, a model may be pre-trained on a general corpus of training data and then fine-tuned to a more targeted corpus of training data. The model may be aligned using prompts designed to elicit domain-specific outputs. The prompts may be designed to include learned prompt values (e.g., soft prompts). The trained model(s) may be validated before use using input data other than the training data, and may be further updated or improved during use based on additional feedback / input.
[0068] In some embodiments, the computing system 104 (e.g., the account restructuring application 150) may use one or more of the machine learning models described above to perform any one or more of the operations discussed herein in relation to machine learning. For example, the computing system 104 may use one or more such machine learning models to predict the performance of a particular digital asset in relation to a particular keyword or group of keywords, and / or to classify a particular keyword or group of keywords according to a theme or the like, as described above.
[0069] While the preceding text describes in detail numerous different aspects and embodiments of the present invention, it should be understood that the scope of the patent is defined by the claims language set out at the end of this patent. The embodiments for carrying out the invention should be interpreted as illustrative only and do not describe all possible embodiments, for describing all possible embodiments would be impractical, if not impossible. Numerous alternative embodiments can be implemented using the current art or art developed after the filing date of this patent, and they remain within the scope of the claims. The disclosure herein assumes at least the following embodiments:
[0070] Example 1. A method for efficiently reconstructing account data that shows (i) a first set of keywords, each mapped to a query space, (ii) a first set of campaigns, and (iii) associations between the first set of campaigns and the first set of keywords, wherein one or more processors combine the first set of campaigns into a second set of campaigns consisting of fewer campaigns than the first set of campaigns, wherein the combination depends on the overlap between (i) the query spaces to which the keywords associated with the given first campaigns are mapped and (ii) the query spaces to which the keywords associated with the given second campaigns are mapped. A method comprising: integrating, including determining based on degree; generating a second plurality of keywords comprising a subset of the first plurality of keywords by one or more processors, wherein generating the second plurality of keywords includes determining, for each campaign of the second plurality of campaigns, whether to remove the association of the campaign with the particular keyword, based on an incremental value added by the query space mapped to the particular keyword; and storing reconstructed account data by one or more processors, indicating (i) the second plurality of keywords, (ii) the second plurality of campaigns, and (iii) new associations between the second plurality of campaigns and the second plurality of keywords.
[0071] Example 2. The method according to Embodiment 1, wherein the account data further indicates associations between the first plurality of keywords and the first plurality of digital assets, and the method further includes generating the second plurality of keywords, and then, for each campaign of the second plurality of campaigns, generating one or more campaign-specific keyword clusters by clustering the campaign keywords by one or more processors, and associating each campaign-specific keyword cluster with at least one of the second plurality of digital assets by one or more processors, wherein the second plurality of digital assets include all digital assets associated with at least one campaign-specific keyword cluster, and the reconstructed account data further indicates new associations between the second plurality of keywords and the second plurality of digital assets.
[0072] Example 3. The method according to Embodiment 2, wherein clustering the keywords of the campaign includes clustering the keywords of the campaign according to a theme.
[0073] Example 4. The method according to Embodiment 2 or 3, comprising: associating each campaign-specific keyword cluster with each of the at least one digital assets; predicting, using a machine learning model, the performance for each of the plurality of combinations, where each of the plurality of combinations is a combination of (i) a specific digital asset of the first plurality of digital assets, and (ii) at least one keyword in the campaign-specific keyword cluster; and associating the campaign-specific keyword cluster with each of the at least one digital assets based on the performance predicted for the plurality of combinations.
[0074] Example 5. The method according to any one of Examples 1 to 4, wherein the merging is determined on the basis of whether to merge the given first campaign with the given second campaign whether (i) the respective query spaces to which keywords associated with the given first campaign are mapped, and (ii) the respective query spaces to which keywords associated with the given second campaign are mapped, have at least a threshold percentage of common queries.
[0075] Example 6. The method according to any one of Examples 1 to 4, wherein the integration includes clustering the first set of keywords based on the degree of overlap, and determining whether to combine the given first campaign with the given second campaign based on the number of keywords associated with the given first campaign and the keywords associated with the given second campaign that are in the same cluster.
[0076] Example 7. The method according to any one of Examples 1 to 6, wherein the integration comprises determining whether to combine the given first campaign with the given second campaign based on one or more suitability factors associated with the given first campaign and the given second campaign, the one or more suitability factors including one or more of location information, performance information, or audience information associated with the given first campaign and the given second campaign.
[0077] Example 8. The method according to any one of Examples 1 to 7, wherein the integration includes merging the multiple campaigns from the first multiple campaigns into the single new campaign from the second multiple campaigns, such that the digital assets associated with any keyword from at least one of the multiple campaigns are associated with a single new campaign.
[0078] Example 9. The method according to any one of Examples 1 to 8, wherein generating the second set of keywords includes, for each campaign of the second set of campaigns, identifying a minimum subset of keywords from an initial set of keywords associated with the campaign to be collectively mapped into one or more new query spaces that satisfy predetermined requirements.
[0079] Example 10. The method according to Example 9, wherein one or more of the predetermined requirements include the requirement that the new query space corresponds to at least the smallest expected performance measure.
[0080] Example 11. The method according to Example 9 or 10, wherein identifying the minimum subset of keywords to be collectively mapped to the new query space includes selecting a first keyword to add to the minimum subset of keywords from an initial set of keywords associated with the campaign, based on a metric associated with the first keyword, and determining an increment value for adding the remaining keyword to the new query space for each remaining keyword in the initial set of keywords.
[0081] Example 12. A system for efficiently reconstructing account data indicating (i) a plurality of first keywords, each mapped to a query space, (ii) a plurality of first campaigns, and (iii) associations between the plurality of first campaigns and the plurality of first keywords, comprising one or more processors and one or more non-temporary computer-readable media for storing instructions. When executed by the one or more processors, the instruction causes the one or more processors to: merge the first plurality of campaigns into a second plurality of campaigns consisting of fewer campaigns than the first plurality of campaigns, the merge comprising determining whether to combine a given first campaign with a given second campaign based on the degree of overlap between (i) the respective query spaces to which keywords associated with the given first campaign are mapped and (ii) the respective query spaces to which keywords associated with the given second campaign are mapped; generate a second plurality of keywords consisting of a subset of the first plurality of keywords, the generate of the second plurality of keywords comprising determining, for each campaign of the second plurality of campaigns, whether to remove the association of the campaign with the particular keyword based on the incremental value added by the query space to which the particular keyword is mapped; and store reconstructed account data indicating the new association between the second plurality of campaigns and the second plurality of keywords.
[0082] Example 13. The system according to Embodiment 12, wherein the account data further indicates associations between the first plurality of keywords and the first plurality of digital assets, and the instruction further causes the one or more processors, after generating the second plurality of keywords, to (1) generate one or more campaign-specific keyword clusters for each campaign of the second plurality of campaigns by clustering the keywords of the campaigns, and (2) associate each campaign-specific keyword cluster with at least one digital asset of the second plurality of digital assets, wherein the second plurality of digital assets include all digital assets associated with at least one campaign-specific keyword cluster, and the reconstructed account data further indicates new associations between the second plurality of keywords and the second plurality of digital assets.
[0083] Example 14. The system according to Example 13, wherein clustering the keywords of the campaign includes clustering the keywords of the campaign according to a theme.
[0084] Example 15. The system according to Example 13 or 14, comprising: associating each campaign-specific keyword cluster with each of the at least one digital assets; predicting, using a machine learning model, the performance for each of the plurality of combinations, where each of the plurality of combinations is a combination of (i) a specific digital asset of the first plurality of digital assets, and (ii) at least one keyword in the campaign-specific keyword cluster; and associating the campaign-specific keyword cluster with each of the at least one digital assets based on the performance predicted for the plurality of combinations.
[0085] Example 16. The system according to any one of Examples 12 to 15, wherein the integration includes determining whether to combine the given first campaign with the given second campaign based on whether (i) the respective query spaces to which keywords associated with the given first campaign are mapped, and (ii) the respective query spaces to which keywords associated with the given second campaign are mapped, have common queries of at least a threshold percentage.
[0086] Example 17. The system according to any one of Examples 12 to 15, wherein the integration includes clustering the first set of keywords based on the degree of overlap, and determining whether to combine the given first campaign with the given second campaign based on the number of keywords associated with the given first campaign and the keywords associated with the given second campaign that are in the same cluster.
[0087] Example 18. The system according to any one of Examples 12 to 17, wherein the integration includes determining whether to combine the given first campaign with the given second campaign based on one or more suitability factors associated with the given first campaign and the given second campaign, the one or more suitability factors including one or more of location information, performance information, or audience information associated with the given first campaign and the given second campaign.
[0088] Example 19. The system according to any one of Examples 12 to 18, wherein the integration includes merging the multiple campaigns from the first multiple campaigns into the single new campaign from the second multiple campaigns, such that the digital assets associated with any keyword from at least one of the multiple campaigns are associated with a single new campaign.
[0089] Example 20. The system according to any one of Examples 12 to 19, wherein generating the second set of keywords includes, for each campaign of the second set of campaigns, identifying a minimum subset of keywords from an initial set of keywords associated with the campaign to be mapped together into one or more new query spaces that satisfy predetermined requirements.
[0090] Example 21. The system according to Example 20, wherein one or more of the predetermined requirements include the requirement that the new query space corresponds to at least the smallest expected performance measure.
[0091] Example 22. Identifying the minimum subset of keywords to be collectively mapped to the new query space includes selecting a first keyword to add to the minimum subset of keywords from an initial set of keywords associated with the campaign, based on a metric associated with the first keyword, and determining an increment value for adding the remaining keyword to the new query space for each remaining keyword in the initial set of keywords, according to the system of Example 20 or 21.
[0092] Example 23. (i) a first set of keywords, each mapped to a query space, (ii) a first set of campaigns, and (iii) one or more non-temporary computer-readable media for efficiently reconstructing account data showing associations between the first set of campaigns and the first set of keywords, wherein the one or more non-temporary computer-readable media, when executed by one or more processors, instructs the one or more processors to integrate the first set of campaigns into a second set of campaigns consisting of fewer campaigns than the first set of campaigns, wherein the integration determines whether to combine a given first set of campaigns with a given second set of campaigns, (i) the respective query spaces to which keywords associated with the given first set of campaigns are mapped, and (ii) the given second set of campaigns A non-temporary computer-readable medium that stores instructions to perform the following: (i) the second set of keywords, (ii) the second set of campaigns, and (iii) the new association between the second set of campaigns and the second set of keywords, and a unit that stores instructions to perform the unit, including: (i) the second set of keywords, (ii) the second set of campaigns, and (iii) the new association between the second set of campaigns and the second set of keywords.
[0093] Example 24. The account data further indicates associations between the first plurality of keywords and the first plurality of digital assets, and the instruction further causes the one or more processors, after generating the second plurality of keywords, to (1) generate one or more campaign-specific keyword clusters for each campaign of the second plurality of campaigns by clustering the keywords of the campaigns, and (2) associate each campaign-specific keyword cluster with at least one digital asset of the second plurality of digital assets, wherein the second plurality of digital assets include all digital assets associated with at least one campaign-specific keyword cluster, and the reconstructed account data further indicates new associations between the second plurality of keywords and the second plurality of digital assets, one or more non-temporary computer-readable media according to Embodiment 23.
[0094] Example 25. Clustering the keywords of the campaign includes clustering the keywords of the campaign according to a theme, as described in one or more non-temporary computer-readable media according to Example 24.
[0095] Example 26. Associating each campaign-specific keyword cluster with each of the at least one digital assets is one or more non-temporary computer-readable media according to Example 24 or 25, which includes predicting, using a machine learning model, the performance for each of a plurality of combinations, each of which combinations is a combination of (i) a specific digital asset of the first plurality of digital assets, and (ii) at least one keyword in the campaign-specific keyword cluster, and associating the campaign-specific keyword cluster with each of the at least one digital assets based on the performance predicted for the plurality of combinations.
[0096] Example 27. The integration is one or more non-temporary computer-readable media according to any one of Examples 23 to 26, wherein the integration is determined on the basis of whether to combine the given first campaign with the given second campaign whether (i) the respective query spaces to which keywords associated with the given first campaign are mapped, and (ii) the respective query spaces to which keywords associated with the given second campaign are mapped, have at least a threshold percentage of common queries.
[0097] Example 28. The integration includes clustering the first set of keywords based on the degree of overlap, and determining whether to combine the given first campaign with the given second campaign based on the number of keywords associated with the given first campaign and the keywords associated with the given second campaign that are in the same cluster, one or more non-temporary computer-readable media according to any one of Examples 23 to 26.
[0098] Example 29. The integration described above includes determining whether to combine the given first campaign with the given second campaign based on one or more suitability factors associated with the given first campaign and the given second campaign, wherein the one or more suitability factors include one or more of the following: location information associated with the given first campaign and the given second campaign, performance information associated with the given first campaign and the given second campaign, or audience information associated with the given first campaign and the given second campaign, as described in one or more non-temporary computer-readable media according to any one of Examples 23 to 28.
[0099] Example 30. The integration includes merging the campaigns from the first group of campaigns into the single new campaign from the second group of campaigns, as described in any one of Examples 23 to 29, such that the digital assets associated with any keyword from at least one of the group of campaigns are associated with a single new campaign.
[0100] Example 31. The generation of the second set of keywords comprises, for each campaign of the second set of campaigns, identifying a minimum subset of keywords from an initial set of keywords associated with the campaign to be collectively mapped into a new query space that satisfies one or more predetermined requirements, as described in one of Examples 23 to 30, for one or more non-temporary computer-readable media.
[0101] Example 32. The one or more predetermined requirements described above include the requirement that the new query space corresponds to at least the smallest expected performance measure, as described in Example 31, for one or more non-temporary computer-readable media.
[0102] Example 33. Identifying the minimum subset of keywords to be collectively mapped to the new query space includes selecting a first keyword to add to the minimum subset of keywords from an initial set of keywords associated with the campaign, based on a metric associated with the first keyword, and determining an increment value for adding the remaining keyword to the new query space for each remaining keyword in the initial set of keywords, according to one or more non-temporary computer-readable media as described in Example 31 or 32.
[0103] The following additional considerations apply to the above description. Throughout this specification, multiple examples may implement a component, operation, or structure described as a single example. While individual operations of one or more methods are illustrated and described as separate operations, one or more of the individual operations may be performed simultaneously, and nothing requires the operations to be performed in the order illustrated. Structures and functions presented as separate components in the examples may be implemented as a combined structure or component. Similarly, structures and functions presented as single components may be implemented as separate components. These and other variations, modifications, additions, and improvements are within the scope of the subject matter of this disclosure.
[0104] Unless otherwise evident from the context of use, references in this disclosure to “one or more processors” (or the same “multiple processors,” etc.) of the same set performing multiple operations may encompass embodiments in which the execution of the operations is divided among the processors in any suitable manner. For example, “generating X by one or more processors and generating Y by one or more processors” may encompass (1) embodiments in which one or more processors of a first set (e.g., in a first computing device) generate X and one or more processors of a completely separate second set (e.g., in a different second computing device) independently generate Y; (2) embodiments in which all processors in the set of one or more processors (e.g., all of them, in the same device or distributed across multiple devices) contribute to the generation of both X and Y; and (3) other variations.
[0105] Unless otherwise specified, any discussion in this disclosure using terms such as “process,” “calculate,” “determine,” “present,” or “display” may refer to an action or process of a machine (e.g., a computer) that manipulates or transforms data that is represented as a physical (e.g., electronic, magnetic, or optical) quantity in one or more memories (e.g., volatile memory, non-volatile memory, or a combination thereof), registers, or other machine components that receive, store, transmit, or display information.
[0106] Where used in this disclosure, any reference to “one implementation” or “an implementation” means that certain elements, features, structures, or characteristics described in relation to an implementation are included in at least one implementation. The phrase “in one implementation” appearing in various places in the specification does not necessarily refer to the same implementation in all cases.
[0107] When used in this disclosure, “comprises,” “comprising,” “includes,” “including,” “has,” “having,” or any other variation thereof are intended to encompass non-exclusive inclusion. For example, a process, method, article, or apparatus that includes a list of elements is not necessarily limited to those elements and may include other elements not expressly enumerated or inherent in such process, method, article, or apparatus. Furthermore, unless expressly stated otherwise, “or” means an inclusive or not an exclusive or. For example, condition A or B is satisfied by any one of the following: A is true (or exists) and B is false (or does not exist); A is false (does not exist) and B is true (or exists); and both A and B are true (or exist).
[0108] Those skilled in the art will understand, by reading this disclosure, further additional alternative structural and functional designs through the principles described herein. Therefore, while specific embodiments and applications have been described and explained, it should be understood that the disclosed embodiments are not limited to the exact structures and components disclosed herein. Various modifications, changes, and variations obvious to those skilled in the art may be made in the arrangement, operation, and details of the methods and apparatus disclosed herein without departing from the spirit and scope defined in the appended claims.
Claims
1. A method for efficiently reconstructing account data that shows (i) a first set of keywords each mapped to a query space, (ii) a first set of campaigns, and (iii) associations between the first set of campaigns and the first set of keywords, A merger by one or more processors into a second plurality of campaigns consisting of fewer campaigns than the first plurality of campaigns, wherein the merger includes determining whether to merge a given first campaign with a given second campaign based on the degree of overlap between (i) the respective query spaces to which keywords associated with the given first campaign are mapped and (ii) the respective query spaces to which keywords associated with the given second campaign are mapped. Generating a second set of keywords comprising a subset of the first set of keywords using one or more processors, wherein generating the second set of keywords includes determining, for each campaign of the second set of campaigns, whether to remove the association of the campaign with a particular keyword, based on an increment value added by the query space mapped to the particular keyword. The one or more processors store reconstructed account data indicating (i) the second set of keywords, (ii) the second set of campaigns, and (iii) new associations between the second set of campaigns and the second set of keywords. Methods that include...
2. The account data further indicates the association between the first set of keywords and the first set of digital assets, The method, after generating the second set of keywords, then for each campaign of the second set of campaigns, The one or more processors generate one or more campaign-specific keyword clusters by clustering the keywords of the campaign, The one or more processors associate each campaign-specific keyword cluster with at least one digital asset of a second plurality of digital assets, wherein the second plurality of digital assets include all digital assets associated with at least one campaign-specific keyword cluster. It further includes, The method according to claim 1, wherein the reconstructed account data further indicates new associations between the second set of keywords and the second set of digital assets.
3. The method according to claim 2, wherein clustering the keywords of the campaign includes clustering the keywords of the campaign according to a theme.
4. Associating each campaign-specific keyword cluster with at least one of the aforementioned digital assets means The method involves using a machine learning model to predict the performance of each of several combinations, where each of the combinations is a combination of (i) a specific digital asset from the first set of digital assets, and (ii) at least one keyword within the campaign-specific keyword cluster. Based on the performance predicted for the aforementioned multiple combinations, the campaign-specific keyword clusters are associated with each of the at least one digital assets, The method according to claim 2 or 3, including the method described in claim 2 or 3.
5. The method according to any one of claims 1 to 4, wherein the merging is determined on the basis of whether to combine the given first campaign with the given second campaign whether (i) the respective query spaces to which keywords associated with the given first campaign are mapped, and (ii) the respective query spaces to which keywords associated with the given second campaign are mapped, have common queries of at least a threshold percentage.
6. The aforementioned integration means Clustering the first set of keywords based on the degree of overlap, Whether to combine the given first campaign with the given second campaign is determined based on the number of keywords associated with the given first campaign and the number of keywords associated with the given second campaign that are in the same cluster. The method according to any one of claims 1 to 4, including the method described in any one of claims 1 to 4.
7. The integration includes determining whether to combine the given first campaign with the given second campaign, based on one or more suitability coefficients associated with the given first campaign and the given second campaign, wherein the one or more suitability coefficients are Location information associated with the given first campaign and the given second campaign, Performance information associated with the given first campaign and the given second campaign, or Audience information associated with the given first campaign and the given second campaign, The method according to any one of claims 1 to 6, comprising one or more of the above.
8. The method according to any one of claims 1 to 7, wherein the integration includes merging the multiple campaigns from the first multiple campaigns into the single new campaign from the second multiple campaigns, such that the digital assets associated with any keyword of at least one of the multiple campaigns are associated with a single new campaign.
9. The method according to any one of claims 1 to 8, wherein generating the second set of keywords includes, for each campaign of the second set of campaigns, identifying a minimum subset of keywords from an initial set of keywords associated with the campaign to be collectively mapped into one or more new query spaces that satisfy predetermined requirements.
10. The method according to claim 9, wherein one or more predetermined requirements include the requirement that the new query space corresponds to at least the smallest expected performance measure.
11. Identifying the minimum subset of the keywords to be collectively mapped to the new query space is: Selecting a first keyword to be added to the minimum subset of the aforementioned keywords from the initial set of the aforementioned keywords associated with the campaign, based on the metrics associated with the first keyword, For each remaining keyword in the initial set of keywords, determine the increment value for adding the remaining keyword to the new query space. The method according to claim 9 or 10, including the method described in claim 9 or 10.
12. It is a system, One or more processors, One or more non-temporary computer-readable media that, when executed by the one or more processors, store instructions causing the one or more processors to perform the method according to any one of claims 1 to 11, A system equipped with these features.
13. One or more non-temporary computer-readable media, which, when executed by one or more processors, store instructions causing the one or more processors to perform the method according to any one of claims 1 to 11.