EventGoal Data Object - Campaign Management

Defines a custom event conversion goal.

Use this type of goal to count every time someone completes a specific action such as subscribing to newsletter or downloading a document as a conversion.

By default, the UET tag logs user visits to pages on your website that allows Microsoft Advertising to support goal types such as UrlGoal, DurationGoal and PagesViewedPerVisitGoal. However, you may want to track other types of events such as subscribing to a newsletter or downloading a document. Microsoft Advertising enables this scenario with the EventGoal. In addition to creating an EventGoal, you must customize your UET tag tracking code to report the values for one or more of the custom event parameters. To learn more, see How to report custom events with UET.

Tip

For an implementation overview, see the Universal Event Tracking technical guide.

Important

Every time you add or update a new DurationGoal, EventGoal, OfflineConversionGoal, PagesViewedPerVisitGoal or UrlGoal via either the Microsoft Advertising web application or Campaign Management API, the MSCLKIDAutoTaggingEnabled value of the corresponding AccountProperty is set to True automatically. If the Scope of the goal is set to Customer level, then the AccountProperty for all accounts under the Customer will be set.

<xs:complexType name="EventGoal" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:complexContent mixed="false">
    <xs:extension base="tns:ConversionGoal">
      <xs:sequence>
        <xs:element minOccurs="0" name="ActionExpression" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="ActionOperator" nillable="true" type="tns:ExpressionOperator" />
        <xs:element minOccurs="0" name="CategoryExpression" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="CategoryOperator" nillable="true" type="tns:ExpressionOperator" />
        <xs:element minOccurs="0" name="LabelExpression" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="LabelOperator" nillable="true" type="tns:ExpressionOperator" />
        <xs:element minOccurs="0" name="Value" nillable="true" type="xs:decimal" />
        <xs:element minOccurs="0" name="ValueOperator" nillable="true" type="tns:ValueOperator" />
      </xs:sequence>
    </xs:extension>
  </xs:complexContent>
</xs:complexType>

Elements

The EventGoal object has the following elements: ActionExpression, ActionOperator, CategoryExpression, CategoryOperator, LabelExpression, LabelOperator, Value, ValueOperator.

Element Description Data Type
ActionExpression The type of user interaction you want to track. For example 'play' or 'pause'.

If this element is specified during an add or update operation, then the ActionOperator element is also required.

The string cannot exceed the maximum length of 100.

Add: Optional if you include one or more of the other events; You must include one or more of the following event operator pairs: (ActionOperator and ActionExpression), (CategoryOperator and CategoryExpression), (LabelOperator and LabelExpression), (ValueOperator and Value).
Update: Optional if you include one or more of the other events; If you do not include ActionOperator and ActionExpression during update, any existing ActionOperator and ActionExpression settings will be deleted.
string
ActionOperator The operator that can be applied to the value of the ActionExpression element.

If this element is specified during an add or update operation, then the ActionExpression element is also required.

Add: Optional if you include one or more of the other events; You must include one or more of the following event operator pairs: (ActionOperator and ActionExpression), (CategoryOperator and CategoryExpression), (LabelOperator and LabelExpression), (ValueOperator and Value).
Update: Optional if you include one or more of the other events; If you do not include ActionOperator and ActionExpression during update, any existing ActionOperator and ActionExpression settings will be deleted.
ExpressionOperator
CategoryExpression The category of event you want to track. For example, 'video'.

If this element is specified during an add or update operation, then the CategoryOperator element is also required.

The string cannot exceed the maximum length of 100.

Add: Optional if you include one or more of the other events; You must include one or more of the following event operator pairs: (ActionOperator and ActionExpression), (CategoryOperator and CategoryExpression), (LabelOperator and LabelExpression), (ValueOperator and Value).
Update: Optional if you include one or more of the other events; If you do not include CategoryOperator and CategoryExpression during update, any existing CategoryOperator and CategoryExpression settings will be deleted.
string
CategoryOperator The operator that can be applied to the value of the CategoryExpression element.

Add: Optional if you include one or more of the other events; You must include one or more of the following event operator pairs: (ActionOperator and ActionExpression), (CategoryOperator and CategoryExpression), (LabelOperator and LabelExpression), (ValueOperator and Value).
Update: Optional if you include one or more of the other events; If you do not include CategoryOperator and CategoryExpression during update, any existing CategoryOperator and CategoryExpression settings will be deleted.
ExpressionOperator
LabelExpression The name of the element that caused the action. For example 'trailer' or 'behindthescenes'.

If this element is specified during an add or update operation, then the LabelOperator element is also required.

The string cannot exceed the maximum length of 100.

Add: Optional if you include one or more of the other events; You must include one or more of the following event operator pairs: (ActionOperator and ActionExpression), (CategoryOperator and CategoryExpression), (LabelOperator and LabelExpression), (ValueOperator and Value).
Update: Optional if you include one or more of the other events; If you do not include LabelOperator and LabelExpression during update, any existing LabelOperator and LabelExpression settings will be deleted.
string
LabelOperator The operator that can be applied to the value of the LabelExpression element.

Add: Optional if you include one or more of the other events; You must include one or more of the following event operator pairs: (ActionOperator and ActionExpression), (CategoryOperator and CategoryExpression), (LabelOperator and LabelExpression), (ValueOperator and Value).
Update: Optional if you include one or more of the other events; If you do not include LabelOperator and LabelExpression during update, any existing LabelOperator and LabelExpression settings will be deleted.
ExpressionOperator
Value A numerical value associated with that event. For example the value could be the duration of time that the video played.

If this element is specified during an add or update operation, then the ValueOperator element is also required.

Add: Optional if you include one or more of the other events; You must include one or more of the following event operator pairs: (ActionOperator and ActionExpression), (CategoryOperator and CategoryExpression), (LabelOperator and LabelExpression), (ValueOperator and Value).
Update: Optional if you include one or more of the other events; If you do not include ValueOperator and Value during update, any existing ValueOperator and Value settings will be deleted
decimal
ValueOperator The operator that can be applied to the value of the Value element.

Add: Optional if you include one or more of the other events; You must include one or more of the following event operator pairs: (ActionOperator and ActionExpression), (CategoryOperator and CategoryExpression), (LabelOperator and LabelExpression), (ValueOperator and Value).
Update: Optional if you include one or more of the other events; If you do not include ValueOperator and Value during update, any existing ValueOperator and Value settings will be deleted.
ValueOperator

The EventGoal object has Inherited Elements.

Inherited Elements

Inherited Elements from ConversionGoal

The EventGoal object derives from the ConversionGoal object, and inherits the following elements: AttributionModelType, ConversionWindowInMinutes, CountType, ExcludeFromBidding, GoalCategory, Id, IsEnhancedConversionsEnabled, Name, Revenue, Scope, Status, TagId, TrackingStatus, Type, ViewThroughConversionWindowInMinutes. The descriptions below are specific to EventGoal, and might not apply to other objects that inherit the same elements from the ConversionGoal object.

Element Description Data Type
AttributionModelType Determines which attribution model, LastTouch or LastClick, is used with a conversion goal. AttributionModelType
ConversionWindowInMinutes The conversion window is the length of time in minutes after a click that you want to track conversions. If you set this value to 43200 minutes (30 days), then conversions that happen within 30 days after a click are tracked. Past conversions aren't affected. The minimum value supported is 1 minute, although keep in mind that a shorter conversion window will reduce the number of conversions your account records. The maximum value supported is 129600 minutes (90 days).

Add: Optional
Update: Optional
int
CountType This determines how your conversions are recorded within your chosen conversion window.

There are two choices, and if you do not set a value the default is All:

- All: All conversions that happen after an ad click will be counted. This is a common choice for sales.

- Unique: Only one conversion that happens after an ad click will be counted. This is a common choice for leads.

For example: You track two conversions: leads and sales. You pick Unique for leads and All for sales. When one ad click turns into two leads and two sales, it's counted as three conversions: one for the unique lead, and two for all the sales.

Add: Optional
Update: Optional
ConversionGoalCountType
ExcludeFromBidding Determines whether or not to exclude data otherwise related to this conversion goal from a subset of performance report columns.

This element is only available for customers who are enabled for the Include in Conversions feature (GetCustomerPilotFeatures returns 574).

If this element is set to true, data otherwise related to this conversion goal will be excluded from the Conversions, ConversionRate, CostPerConversion, ReturnOnAdSpend, RevenuePerConversion, and Revenue report columns. Also, if you use an automated bidding bid strategy, setting this property true will result in the goal's conversions no longer factoring into automated bidding calculations. Setting this property "true" is effectively the same as unchecking "Include in Conversions" in the Microsoft Advertising web application.

Regardless of this element value, the AllConversions, AllConversionRate, AllCostPerConversion, AllReturnOnAdSpend, AllRevenuePerConversion, and AllRevenue report columns will include data for all conversion goals. By default this element is false, and data related to this conversion goal are included in all report columns.

For more information, see Report Attributes and Performance Statistics and the help article Conversion goals: "Conversions" versus "All conversions".

Add: Optional
Update: Optional
boolean
GoalCategory The category used to segment the conversion goal.

Categorize your conversion goals however makes sense for your business. Goal categories don't affect performance - they are here to help you segment your goals and their performance metrics.

The supported category values vary by conversion goal type. Event goals support the AddToCart, BeginCheckout, BookAppointment, Contact, GetDirections, Other, OutboundClick, PageView, Purchase, RequestQuote, Signup, SubmitLeadForm, and Subscribe categories.

Add: Required as of June 2021. Previously if you left this element nil or empty, the default category was set to None.
Update: Optional if the conversion goal already has a category set other than None. If no value is set for the update, this setting is not changed.
ConversionGoalCategory
Id The unique Microsoft Advertising identifier for the conversion goal.

Add: Read-only
Update: Required and Read-Only
long
IsEnhancedConversionsEnabled Determines whether enhanced conversions are enabled for a conversion goal.

Note: To create an enhanced conversion goal and set isEnhancedConversionsEnabled=true, you must create a conversion goal for the account via the Microsoft Advertising UI with the enhanced conversion setting selected and the associated checkbox checked.
boolean
Name The conversion goal name.

The maximum length of the name is 100, and the name must be unique among all conversion goals belonging to the same customer.

Add: Required
Update: Optional
string
Revenue Determines how much each conversion is worth to your business.

When adding a conversion goal if you do not specify any revenue tracking preferences, then each ConversionGoalRevenue will be set to their respective default values.

When updating a conversion goal, if the Revenue element is nil or empty then none of the nested properties will be updated. However, if this element is not nil or empty then you are effectively replacing any existing revenue properties.

Add: Optional
Update: Optional
ConversionGoalRevenue
Scope Determines if the goal applies to all accounts or only the account specified in the required CustomerAccountId header element. If you have multiple Microsoft Advertising accounts, you can track conversions across all of those accounts. If you associate a goal with one account, conversions will be tracked for that account only.

Possible values are Account and Customer. If not specified, the scope will be set to Customer by default.

Once you set scope, you can't change it. If you want to change the scope, you need to create a new conversion goal and pause the old one.

Add: Optional
Update: Optional
EntityScope
Status Defines the possible user-determined status values of a conversion goal. These are the status values that a user can decide to set, for example a goal can be set to Paused if you no longer wish to track conversions for that goal.

For status values that can be set by the system, for example whether or not the UET tag is verified, see the TrackingStatus element.

Add: Optional
Update: Optional
ConversionGoalStatus
TagId The unique Microsoft Advertising identifier of the UET tag that you added to your website to allow Microsoft Advertising to collect actions people take on your website.

Before you take a dependency on the tag ID, please note that the UET tag can be shared with or from another customer. Shared UET tags and audiences are only available for pilot customers. For an overview of sharing audiences and UET tags in a customer hierarchy, see the Share Audiences and UET Tags technical guide.

Add: Required
Update: Optional
long
TrackingStatus Defines the possible system-determined status values of a conversion goal. These are the status values that can be set by the system, for example the system sets the status to TagUnverified if the UET tag has not yet been verified.

For status values that a user can decide to set, for example setting the status to Paused if you no longer wish to track conversions for that goal, see the Status element.

Add: Read-only
Update: Read-only
ConversionGoalTrackingStatus
Type The type of the conversion goal. This value is Event when you retrieve an event goal. For more information about conversion goal types, see the ConversionGoal Data Object Remarks.

Add: Read-only
Update: Read-only
ConversionGoalType
ViewThroughConversionWindowInMinutes The view-through conversion window is the length of time in minutes after a click that you want to track view-through conversions. If you set this value to 43200 minutes (30 days), then view-through conversions that happen within 30 days after a click are tracked. Past conversions aren't affected. The minimum value supported is 1 minute, although keep in mind that a shorter conversion window will reduce the number of conversions your account records. The maximum value supported is 43200 minutes (30 days).

The IncludeViewThroughConversions account property must also be set to true for view-through conversions to be tracked.

This element is not returned by default. To get this element, include the ViewThroughConversionWindowInMinutes value in the ReturnAdditionalFields element when you call the GetConversionGoalsByIds and GetConversionGoalsByTagIds service operations.

Add: Optional
Update: Optional
int

Requirements

Service: CampaignManagementService.svc v13
Namespace: https://bingads.microsoft.com/CampaignManagement/v13