# US 9,519,920 B1 · Advertiser campaign scripting

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,519,920 B1
- Document ID: US9519920B1
- Status: Granted
- Kind: B1
- Application number: 13/476,135
- Filed: 2012-05-21
- Granted: 2016-12-13
- Earliest claimed: 2011-08-19
- Assignees: Google Inc.
- Applicants: Varouj A. Chitilian; Ilya Netchitailo; Nikhil Bakshi; Jiaqi Yu; Chetan Patel
- Inventors: Varouj A. Chitilian; Ilya Netchitailo; Nikhil Bakshi; Jiaqi Yu; Chetan Patel
- Web page: https://patentgrep.com/patent/US9519920B1

## CPC

- G06Q 30/0242: Determining effectiveness of advertisements
- G06F 9/448: Execution paradigms, e.g. implementations of programming paradigms
- G06F 9/46: Multiprogramming arrangements
- G06F 9/5005: {to service a request}
- G06F 9/541: {via adapters, e.g. between incompatible applications}
- G06F 9/542: {Event management; Broadcasting; Multicasting; Notifications}
- G06F 9/547: {Remote procedure calls [RPC]; Web services}
- G06F 16/24552: {Database cache management}
- G06Q 10/06: Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q 30/0243: {Comparative campaigns}
- G06Q 30/0244: {Optimization}
- G06Q 30/0251: Targeted advertisements
- G06Q 30/0258: {Registration}
- G06Q 30/0263: {based upon Internet or website rating}
- G06Q 30/0275: {Auctions}
- G06Q 30/0276: {Advertisement creation}
- G06Q 30/0277: {Online advertisement}
- G06Q 30/0241: Advertisements
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for automated management of campaigns using scripted rules.

## Claims

### Claim 1

A system, comprising:
a data processing apparatus including one or more computers;
a data store storing advertising campaign data used by an advertising service, the advertising campaign data conforming to a flat Application Programming Interface (API), and including a plurality of campaign management entities including an advertising campaign entity that defines an advertising campaign; and
a computer storage system storing instructions that when executed by the data processing apparatus cause the data processing apparatus to perform actions comprising:
accessing a plurality of rules, each rule associated with at least one of the advertising campaign entities, each rule defining an operation and a corresponding event, the event being an occurrence of a condition defined for the advertising campaign defined by the advertising campaign entity associated with the rule, and the operation being executed in response to detection of the corresponding event and specifying an entity change for a campaign management entity associated with the advertising campaign entity associated with the rule, wherein the rules utilize a hierarchical data-model API to access the campaign management entities;
converting, during execution of a given rule, each hierarchical data-model API call for campaign management entities specified in the given rule to a flat API call for the campaign management entities specified in the given rule, each hierarchical data-model API call being a call that uses only data objects to specify campaign management entities, and each flat API call being a call that uses a service request and a data object to access campaign management entities, the converting comprising:
determining, from at least one hierarchical data-model API call specified in the given rule, a corresponding service request and a data object for use in each flat API call; and
generating each flat API call using the service call and the data object determined from the at least one data-model API call; and
accessing advertising campaign data for the advertising campaign defined by the advertising campaign entity associated with the given rule using each flat API call.

### Claim 2 (depends on 1)

The system of claim 1, wherein, determining, from at least one hierarchical data-model API call specified in the given rule, a corresponding service request and a data object for use in each flat API call comprises:
identifying two or more related data-model API calls specified in the given rule, wherein each hierarchical data-model API call specifies a data object identifier; and
determining, from the two or more related hierarchical data-model API calls, corresponding service requests for each of the data object identifiers.

### Claim 3 (depends on 2)

The system of claim 2, wherein:
the campaign management entities are associated according to a hierarchy in which advertisement entities, budget entities, targeting entities, and bid entities are subordinate to advertisement group entities, and the advertisement group entities are subordinate to the campaign management entities;
identifying two or more related hierarchical data-model API calls specified in the given rule comprises:
identifying a first hierarchical data-model API call for the advertising campaign entity associated with the given rule; and
identifying a second hierarchical data-model API call for an advertising group entity that is associated with the advertising campaign entity associated with the given rule; and
determining, from the two or more related hierarchical data-model API calls, corresponding service requests for each of the data object identifiers comprises:
determining a first service request for a first service to obtain an advertising campaign entity identifier; and
determining a second service request for a second service to obtain an advertising campaign entity identifier.

### Claim 4 (depends on 1)

The system of claim 1, wherein:
the campaign management entities are associated according to a hierarchy in which advertisement entities, budget entities, targeting entities, and bid entities are subordinate to advertisement group entities, and the advertisement group entities are subordinate to the campaign management entities;
each hierarchical data-model API call is a call that uses a first data object to specify a first campaign entity for a function of the hierarchical data-model API call, and a second data object corresponding to a second campaign entity that is subordinate to the first campaign entity is used as an argument of the hierarchical data-model API;
converting each hierarchical data-model API call for campaign management entities specified in the given rule to a flat API call for the campaign management entities specified in the given rule comprises:
determining, from at least one hierarchical data-model API call specified in the given rule, the corresponding service request based on the second data object; and
generating the flat API call using the service request that uses the second data object and a first data object used by a hierarchical data-model API call for campaign management entities specified in the given rule as arguments.

### Claim 5

A non-transitory computer storage system comprising software, the software comprising instructions that when executed by a data processing apparatus cause the data processing apparatus to perform actions comprising:
accessing a data store storing advertising campaign data used by an advertising service, the advertising campaign data conforming to a flat Application Programming Interface (API), and including a plurality of campaign management entities including an advertising campaign entity that defines an advertising campaign;
accessing a plurality of rules, each rule associated with at least one of the advertising campaign entities, each rule defining an operation and a corresponding event, the event being an occurrence of a condition defined for the advertising campaign defined by the advertising campaign entity associated with the rule, and the operation being executed in response to detection of the corresponding event and specifying an entity change for a campaign management entity associated with the advertising campaign entity associated with the rule, wherein the rules utilize a hierarchical data-model API to access the campaign management entities;
converting, during execution of a given rule, each hierarchical data-model API call for campaign management entities specified in the given rule to a flat API call for the campaign management entities specified in the given rule, each hierarchical data-model API call being a call that uses only data objects to specify campaign management entities, and each flat API call being a call that uses a service request and a data object to access campaign management entities, the converting comprising:
determining, from at least one hierarchical data-model API call specified in the given rule, a corresponding service request and a data object for use in each flat API call; and
generating each flat API call using the service call and the data object determined from the at least one data-model API call; and
accessing advertising campaign data for the advertising campaign defined by the advertising campaign entity associated with the given rule using each flat API call.

### Claim 6 (depends on 5)

The non-transitory computer storage system of claim 5, wherein, determining, from at least one hierarchical data-model API call specified in the given rule, a corresponding service request and a data object for use in each flat API call comprises:
identifying two or more related data-model API calls specified in the given rule, wherein each hierarchical data-model API call specifies a data object identifier; and
determining from the two or more related hierarchical data-model API calls corresponding service requests for each of the data object identifiers.

### Claim 7 (depends on 6)

The non-transitory computer storage system of claim 6, wherein:
the campaign management entities are associated according to a hierarchy in which advertisement entities, budget entities, targeting entities, and bid entities are subordinate to advertisement group entities, and the advertisement group entities are subordinate to the campaign management entities;
identifying two or more related hierarchical data-model API calls specified in the given rule comprises:
identifying a first hierarchical data-model API call for the advertising campaign entity associated with the given rule; and
identifying a second hierarchical data-model API call for an advertising group entity that is associated with the advertising campaign entity associated with the given rule; and
determining, from the two or more related hierarchical data-model API calls, corresponding service requests for each of the data object identifiers comprises:
determining a first service request for a first service to obtain an advertising campaign entity identifier; and
determining a second service request for a second service to obtain an advertising campaign entity identifier.

### Claim 8 (depends on 5)

The non-transitory computer storage system of claim 5, wherein:
the campaign management entities are associated according to a hierarchy in which advertisement entities, budget entities, targeting entities, and bid entities are subordinate to advertisement group entities, and the advertisement group entities are subordinate to the campaign management entities;
each hierarchical data-model API call is a call that uses a first data object to specify a first campaign entity for a function of the hierarchical data-model API call, and a second data object corresponding to a second campaign entity that is subordinate to the first campaign entity is used as an argument of the hierarchical data-model API;
converting each hierarchical data-model API call for campaign management entities specified in the given rule to a flat API call for the campaign management entities specified in the given rule comprises:
determining, from at least one hierarchical data-model API call specified in the given rule, the corresponding service request based on the second data object; and
generating the flat API call using the service request that uses the second data object and a first data object used by a hierarchical data-model API call for campaign management entities specified in the given rule as arguments.

### Claim 9

A method performed by a data processing apparatus, comprising:
accessing a data store storing advertising campaign data used by an advertising service, the advertising campaign data conforming to a flat Application Programming Interface (API), and including a plurality of campaign management entities including an advertising campaign entity that defines an advertising campaign;
accessing a plurality of rules, each rule associated with at least one of the advertising campaign entities, each rule defining an operation and a corresponding event, the event being an occurrence of a condition defined for the advertising campaign defined by the advertising campaign entity associated with the rule, and the operation being executed in response to detection of the corresponding event and specifying an entity change for a campaign management entity associated with the advertising campaign entity associated with the rule, wherein the rules utilize a hierarchical data-model API to access the campaign management entities;
converting, during execution of a given rule, each hierarchical data-model API call for campaign management entities specified in the given rule to a flat API call for the campaign management entities specified in the given rule, each hierarchical data-model API call being a call that uses only data objects to specify campaign management entities, and each flat API call being a call that uses a service request and a data object to access campaign management entities, the converting comprising:
determining, from at least one hierarchical data-model API call specified in the given rule, a corresponding service request and a data object for use in each flat API call; and
generating each flat API call using the service call and the data object determined from the at least one data-model API call; and
accessing advertising campaign data for the advertising campaign defined by the advertising campaign entity associated with the given rule using each flat API call.

### Claim 10 (depends on 9)

The method of claim 9, wherein, determining, from at least one hierarchical data-model API call specified in the given rule, a corresponding service request and a data object for use in each flat API call comprises:
identifying two or more related data-model API calls specified in the given rule, wherein each hierarchical data-model API call specifies a data object identifier; and
determining, from the two or more related hierarchical data-model API calls, corresponding service requests for each of the data object identifiers.

### Claim 11 (depends on 10)

The method of claim 10, wherein:
the campaign management entities are associated according to a hierarchy in which advertisement entities, budget entities, targeting entities, and bid entities are subordinate to advertisement group entities, and the advertisement group entities are subordinate to the campaign management entities;
identifying two or more related hierarchical data-model API calls specified in the given rule comprises:
identifying a first hierarchical data-model API call for the advertising campaign entity associated with the given rule; and
identifying a second hierarchical data-model API call for an advertising group entity that is associated with the advertising campaign entity associated with the given rule; and
determining, from the two or more related hierarchical data-model API calls, corresponding service requests for each of the data object identifiers comprises:
determining a first service request for a first service to obtain an advertising campaign entity identifier; and
determining a second service request for a second service to obtain an advertising campaign entity identifier.

### Claim 12 (depends on 9)

The method of claim 9, wherein:
the campaign management entities are associated according to a hierarchy in which advertisement entities, budget entities, targeting entities, and bid entities are subordinate to advertisement group entities, and the advertisement group entities are subordinate to the campaign management entities;
each hierarchical data-model API call is a call that uses a first data object to specify a first campaign entity for a function of the hierarchical data-model API call, and a second data object corresponding to a second campaign entity that is subordinate to the first campaign entity is used as an argument of the hierarchical data-model API;
converting each hierarchical data-model API call for campaign management entities specified in the given rule to a flat API call for the campaign management entities specified in the given rule comprises:
determining, from at least one hierarchical data-model API call specified in the given rule, the corresponding service request based on the second data object; and
generating the flat API call using the service request that uses the second data object and a first data object used by a hierarchical data-model API call for campaign management entities specified in the given rule as arguments.
