OfflineConversionGoal Data Object - Campaign Management

Defines an offline conversion goal. Use this type of goal if you have lead generation as an objective. Lead generation is when potential customers fill out a form or quote of interest, and then the sale is completed offline in person or over the phone (for example, car purchases, insurance quotes, mortgages, etc.).

To set up offline conversion tracking, create an OfflineConversionGoal, wait two hours, and then send Microsoft Advertising the OfflineConversion data via the ApplyOfflineConversions operation.


You must create OfflineConversionGoal via the Campaign Management API to set the IsExternallyAttributed property.


For more information, see Tracking offline conversions.


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="OfflineConversionGoal" xmlns:xs="">
  <xs:complexContent mixed="false">
    <xs:extension base="tns:ConversionGoal">
        <xs:element minOccurs="0" name="IsExternallyAttributed" nillable="true" type="xs:boolean">
              <DefaultValue EmitDefaultValue="false" xmlns="" />


The OfflineConversionGoal object has the following elements: IsExternallyAttributed.

Element Description Data Type
IsExternallyAttributed This determines if your offline conversion goal uses your own attribution model and allows you to import fractional credit for each MSCLKID.

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

Note: You can only set IsExternallyAttributed via the Campaign Management API.

Add: Optional
Update: Optional

The OfflineConversionGoal object has Inherited Elements.

Inherited Elements

Inherited Elements from ConversionGoal

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

Element Description Data Type
AttributionModelType Not applicable for offline conversion goals. 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 default value is 43200. 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
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 with different offline conversion times that happen after an ad click will be counted. This is a common choice for sales.

- Unique: Only the first 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.

Duplicate offline conversions with the same MicrosoftClickId and ConversionTime will be ignored. In other words only the first offline conversion for a given MicrosoftClickId and ConversionTime will be counted.

Add: Optional
Update: Optional
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
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. Offline conversion 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.
Id The unique Microsoft Advertising identifier for the conversion goal.

Add: Read-only
Update: Required and Read-Only
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
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.

If the revenue type is FixedValue or VariableValue, then the ConversionCurrencyCode and ConversionValue elements of the applied OfflineConversion data takes precedence over the ConversionGoalRevenue currency code and value.

Add: Optional
Update: Optional
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.

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. If not specified, the scope will be set to Account by default.
Update: Read-only. You cannot update the offline conversion goal scope.
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, see the TrackingStatus element.

Add: Optional
Update: Optional
TagId Not applicable for offline conversion goals. long
TrackingStatus Not applicable for offline conversion goals. ConversionGoalTrackingStatus
Type The type of the conversion goal. This value is OfflineConversion when you retrieve an offline conversion goal. For more information about conversion goal types, see the ConversionGoal Data Object Remarks.

Add: Read-only
Update: Read-only
ViewThroughConversionWindowInMinutes Not applicable for offline conversion goals. int


Service: CampaignManagementService.svc v13