Types

Index

LoyaltyProgramService

Manage and modify only self-created loyalty programs.

The service is only available to selected merchants. Contact the support team to express interest in participation by submitting an allowlist request in the Shopping API Support Form (https://support.google.com/merchants/contact/shopping_api_support_form) under "What is the issue/question? > Allowlist request > Other".

CreateLoyaltyProgram

rpc CreateLoyaltyProgram(CreateLoyaltyProgramRequest) returns (LoyaltyProgram)

Creates a new LoyaltyProgram.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/content

For more information, see the OAuth 2.0 Overview.

DeleteLoyaltyProgram

rpc DeleteLoyaltyProgram(DeleteLoyaltyProgramRequest) returns (Empty)

Deletes the LoyaltyProgram matching the requested name.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/content

For more information, see the OAuth 2.0 Overview.

GetLoyaltyProgram

rpc GetLoyaltyProgram(GetLoyaltyProgramRequest) returns (LoyaltyProgram)

Retrieves a LoyaltyProgram matching the requested name.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/content

For more information, see the OAuth 2.0 Overview.

ListLoyaltyPrograms

rpc ListLoyaltyPrograms(ListLoyaltyProgramsRequest) returns (ListLoyaltyProgramsResponse)

Retrieves the LoyaltyPrograms for the account.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/content

For more information, see the OAuth 2.0 Overview.

UpdateLoyaltyProgram

rpc UpdateLoyaltyProgram(UpdateLoyaltyProgramRequest) returns (LoyaltyProgram)

Updates the LoyaltyProgram matching the requested name.

Authorization scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/content

For more information, see the OAuth 2.0 Overview.

ImpactedDestination

The impact of the issue on a destination.

Fields
impacts[]

Impact

The (negative) impact for various regions on the given destination.

reporting_context

ReportingContextEnum

The impacted reporting context.

Impact

The impact of the issue on a region.

Fields
region_code

string

The CLDR region code where this issue applies.

severity

Severity

The severity of the issue on the destination and region.

Severity

All possible issue severities.

Enums
SEVERITY_UNSPECIFIED The severity is unknown.
CRITICAL The issue causes offers to not serve.
ERROR The issue might affect offers (in the future) or might be an indicator of issues with offers.
SUGGESTION The issue is a suggestion for improvement.

Mutability

The list of mutability option settings a service can have.

Enums
MUTABILITY_UNSPECIFIED Unused default value
MUTABLE The service can be mutated without restrictions.
IMMUTABLE The service is read-only and must not be mutated.

AdvancedSettings

Settings that control the behavior of the loyalty program, such as where it is shown.

Fields
hide_display_from_non_members

bool

Optional. Controls whether your loyalty program benefits are hidden from users who are not matched to any member lists you have shared with Google. If this optional value is not provided, your loyalty benefits will be displayed to these users. This setting, currently, only works for paid listings.

hide_display_from_members

bool

Optional. Controls whether your loyalty program benefits are hidden from users who are matched to the member lists you have shared with Google. If this optional value is not provided, your loyalty benefits are displayed to these users. This setting, currently, only works for paid listings.

ImageImprovementsAccountLevelSettings

Settings for the Automatic Image Improvements.

Fields
allow_automatic_image_improvements

bool

Enables automatic image improvements.

ItemUpdatesAccountLevelSettings

Settings for the Automatic Item Updates.

Fields
allow_price_updates

bool

If price updates are enabled, Google always updates the active price with the crawled information.

allow_availability_updates

bool

If availability updates are enabled, any previous availability values get overwritten if Google finds an out-of-stock annotation on the offer's page. If additionally allow_strict_availability_updates field is set to true, values get overwritten if Google finds an in-stock annotation on the offer’s page.

allow_strict_availability_updates

bool

If allow_availability_updates is enabled, items are automatically updated in all your Shopping target countries. By default, availability updates will only be applied to items that are 'out of stock' on your website but 'in stock' on Shopping. Set this to true to also update items that are 'in stock' on your website, but 'out of stock' on Google Shopping. In order for this field to have an effect, you must also set allow_availability_updates.

allow_condition_updates

bool

If condition updates are enabled, Google always updates item condition with the condition detected from the details of your product.

BrandedCard

Requirement to have a branded credit card.

Fields
card_name

string

Required. Specifies the name of the card (e.g. "Target RedCard") for display purposes.

Weekday

Enums
WEEKDAY_UNSPECIFIED
MONDAY
TUESDAY
WEDNESDAY
THURSDAY
FRIDAY
SATURDAY
SUNDAY

IdentityAttribute

All information related to an identity attribute.

Fields
identity_declaration

IdentityDeclaration

Required. The declaration of identity for this attribute.

IdentityDeclaration

All possible settings regarding the declaration of an identity.

Enums
IDENTITY_DECLARATION_UNSPECIFIED Default value indicating that no selection was made.
SELF_IDENTIFIES_AS Indicates that the account identifies with the attribute.
DOES_NOT_SELF_IDENTIFY_AS Indicates that the account does not identify with the attribute.

PromotionsConsent

All possible settings regarding promotions related to the business identity.

Enums

CheckoutEnrollmentState

Enum indicating the enrollment state of merchant in Checkout program.

Enums
CHECKOUT_ENROLLMENT_STATE_UNSPECIFIED Default enrollment state when enrollment state is not specified.
INACTIVE Merchant has not enrolled into the program.
ENROLLED Merchant has enrolled into the program by providing either an account level URL or checkout URLs as part of their feed.
OPTED_OUT Merchant has previously enrolled but opted out of the program.

CheckoutReviewState

Enum indicating the review state of merchant in Checkout program.

Enums
CHECKOUT_REVIEW_STATE_UNSPECIFIED Default review state when review state is not specified.
IN_REVIEW Merchant provided URLs are being reviewed for data quality issues.
APPROVED Merchant account has been approved. Indicates the data quality checks have passed.
DISAPPROVED Merchant account has been disapproved due to data quality issues.

Proposal

Details about the proposal for a comparison_shopping instance.

Fields
new_mca_account

string

Optional. Immutable. The name of the advanced account under which the account would be moved once the instance has been established. If provided the account will be moved under this advanced account as part of the switch. Note that the provided advanced account must be a member of the CSS the account will be switched to. If no new_mca_account is provided the account will be made standalone after the switch is executed. Format: accounts/{account}

waiting_until_time

Timestamp

Output only. The time in the future when proposal in WAITING state will be executed and moved to ESTABLISHED.

AddAccountService

Additional instructions to add account services during creation of the account.

Fields
external_account_id

string

Immutable. An optional, immutable identifier that Google uses to refer to this account when communicating with the provider. This should be the unique account ID within the provider's system (for example, your shop ID in Shopify).

If you have multiple accounts with the same provider - for instance, different accounts for various regions — the external_account_id differentiates between them, ensuring accurate linking and integration between Google and the provider.

The external account ID must be specified for the campaigns management service type.

The external account ID must not be specified for the account aggregation service type.

The external account ID is optional / may be specified for all other service types.

Union field service_type. The service type to be added. service_type can be only one of the following:
account_aggregation

AccountAggregation

The provider is an aggregator for the account. Payload for service type Account Aggregation.

account_management

AccountManagement

The provider manages this account. Payload for service type Account Management.

comparison_shopping

ComparisonShopping

The provider is a CSS (Comparison Shopping Service) of this account. Payload for service type Comparison Shopping.

products_management

ProductsManagement

The provider manages products for this account. Payload for service type products management.

campaigns_management

CampaignsManagement

The provider manages campaigns for this account. Payload for service type campaigns management.

provider

string

Required. The provider of the service. Either the reference to an account such as providers/123 or a well-known service provider (one of providers/GOOGLE_ADS or providers/GOOGLE_BUSINESS_PROFILE).

AddUser

Instruction for adding a user to the account during creation.

Fields
user_id

string

Required. The email address of the user (for example, john.doe@gmail.com).

user

User

Optional. Details about the user to be added. At the moment, only access rights may be specified.

verification_mail_settings

VerificationMailSettings

Optional. Settings related to configuring the verification email that is sent after adding a user.

SetAliasForRelationship

Set an alias for a relationship between a provider and the account to be created.

Fields
provider

string

Required. The provider of the service. This is a reference to an account such as providers/123 or accounts/123. The same provider must be specified in at least one of the service fields.

account_id_alias

string

Required. The unique ID of this account in the provider's system. The value must be unique across all accounts on the platform for this provider.

CreateLoyaltyProgramRequest

Request message for CreateLoyaltyProgram.

Fields
parent

string

Required. The account which owns the LoyaltyProgram. Format: accounts/{account}/programs/{program}.

program_label

string

Required. A unique identifier for the LoyaltyProgram. This program_label will not be displayed to users. The program_label must not contain spaces. This identifier can have a max length of 25 characters. The program_label cannot be changed once set. This program_label will be used to generate LoyaltyProgram.name, which will have the format: accounts/{account}/programs/{program}/loyaltyPrograms/{program_label}.

loyalty_program

LoyaltyProgram

Required. The LoyaltyProgram to create.

DeleteLoyaltyProgramRequest

Request message for DeleteLoyaltyProgram.

Fields
name

string

Required. The name of the LoyaltyProgram to delete. Format: accounts/{account}/programs/{program}/loyaltyPrograms/{loyalty_program}

Unit

Unit can differ based on country, it is parameterized to include miles and kilometers.

Enums
UNIT_UNSPECIFIED Unit unspecified
MILES Unit in miles
KILOMETERS Unit in kilometers

OptInState

Opt in state of the email preference.

Enums
OPT_IN_STATE_UNSPECIFIED Opt-in status is not specified.
OPTED_OUT User has opted out of receiving this type of email.
OPTED_IN User has opted in to receiving this type of email.
UNCONFIRMED User has opted in to receiving this type of email and the confirmation email has been sent, but user has not yet confirmed the opt in (applies only to certain countries).

Type

The type of the GBP account.

Enums
TYPE_UNSPECIFIED Default value. This value is unused.
USER The GBP account is a user account.
BUSINESS_ACCOUNT The GBP account is a business account.

GetLoyaltyProgramRequest

Request message for GetLoyaltyProgram.

Fields
name

string

Required. The LoyaltyProgram to be retrieved. Format: accounts/{account}/programs/{program}/loyaltyPrograms/{loyalty_program}.

Actor

The various actors that can be involved in a handshake.

Enums
ACTOR_UNSPECIFIED Unspecified actor.
ACCOUNT The last change was done by the account who has this service.
OTHER_PARTY The last change was done by the other party who this service points to.

ApprovalState

The approal state of a handshake.

Enums
APPROVAL_STATE_UNSPECIFIED Unspecified approval status.
PENDING The service was proposed and is waiting to be confirmed.
WAITING Indicates that the service proposal has been accepted and will be established after a fixed delay set by the service provider.
ESTABLISHED Both parties have confirmed the service.
REJECTED The service proposal was rejected.

State

The state of the inventory verification process.

Enums
STATE_UNSPECIFIED Default value. This value is unused.
ACTION_REQUIRED When the merchant needs to initiate the inventory verification process. The next state is INACTIVE.
INACTIVE When the merchant is ready to request inventory verification.
RUNNING The inventory verification process is running. If the merchant is rejected, the next state is INACTIVE.
SUCCEEDED The inventory verification process succeeded.
SUSPENDED When merchant fails the inventory verification process and all attempts are exhausted.

ListLoyaltyProgramsRequest

Request message for ListLoyaltyPrograms.

Fields
parent

string

Required. The account which owns the LoyaltyPrograms. Format: accounts/{account}/programs/{program}

page_size

int32

Optional. The maximum number of LoyaltyPrograms to return. The service may return fewer than this value. If unspecified, at most 50 LoyaltyPrograms will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.

page_token

string

Optional. A page token, received from a previous ListLoyaltyPrograms call. Provide this to retrieve the subsequent page.

When paginating, all other parameters provided to ListLoyaltyPrograms must match the call that provided the page token.

ListLoyaltyProgramsResponse

Response message for ListLoyaltyPrograms.

Fields
loyalty_programs[]

LoyaltyProgram

The LoyaltyPrograms of the merchant.

next_page_token

string

A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

LoyaltyPoints

Points required to reach or maintain a particular tier.

Fields
point_amount

int64

Required. Number of points required.

frequency

CalendarPeriod

Optional. The earning frequency of the points, for example per year, per month. The field does not need to be set if the points are total accumulated or lifetime points.

LoyaltyProgram

A loyalty program for a merchant.

Fields
name

string

Identifier. The resource name of the LoyaltyProgram. Format: accounts/{account}/programs/{program}/loyaltyPrograms/{loyalty_program} For example, accounts/123456/programs/loyalty/loyaltyPrograms/my_loyalty_program.

program_name

string

Required. The name of the LoyaltyProgram that will be displayed to users. The program_name can have a max length of 25 characters.

tiers[]

LoyaltyProgramTier

Required. Tiers of the LoyaltyProgram. A loyalty program must have at least 1 tier and can have up to 7 tiers.

program_descriptions[]

string

Required. A list of free-form string descriptions for the LoyaltyProgram. A program_description should not exceed a length of 39 characters. Only the first program description will be displayed to users.

signup_url

string

Required. Signup URL for the LoyaltyProgram. When the Signup URL from the tier level is missing, this program-level one will be used as a default. This must be a valid URL pattern to be acceptable.

review_result

ReviewResult

Output only. Review result of the LoyaltyProgram. After submitting a new or updated LoyaltyProgram, the review process will begin and the review status will be UNDER_REVIEW. The LoyaltyProgram will be updated to APPROVED or REJECTED once the review is complete.

region_codes[]

string

Required. The countries where you want to showcase LoyaltyProgram. The countries are represented as CLDR region codes (e.g., "US", "CH").

advanced_settings

AdvancedSettings

Optional. The settings controlling the behavior of the LoyaltyProgram. This includes whether targeted and untargeted loyalty prices are displayed.

LoyaltyProgramTier

A tier of a LoyaltyProgram.

Fields
tier_name

string

Required. The name displayed to users for the tier. The tier_name can have a max length of 25 characters.

tier_label

string

Required. The label of the tier. The label may not contain any spaces and can have a max length of 25 characters.

tier_benefits[]

TierBenefit

Required. A list of benefits for the LoyaltyProgramTier. Each benefit is either structured or a free-form string. All tier benefits will be displayed to users as a list.

Structured benefits will be used to generate a description of the benefit. For example, a PointsEarningBenefit with a PointsEarningBenefitAnnotation of 5 points per $1 spent will be displayed to users as "5 points earned per $1 spent". Only one of each type of StructuredBenefit is allowed. That is, only one PointsEarningBenefit, one ShippingBenefit, and one PointsRedemptionBenefit is allowed per tier.

Free-form strings will be displayed to users as-is. A maximum of 10 free-form string benefits are allowed per tier.

These constraints are enforced during API requests.

requirements

LoyaltyProgramTierRequirements

Required. Requirements to join/advance to the given membership tier.

signup_url

string

Optional. Signup URL for the tier. If this optional field is not provided, the program-level signup URL will be used as a default.

TierBenefit

A benefit for a LoyaltyProgramTier. Each tier must have at least 1 benefit.

Fields
Union field benefit. The structured or free-form string benefit. benefit can be only one of the following:
structured_benefit

StructuredBenefit

A specific benefit which is described using metadata rather than a free-form string. For example, a shipping benefit or a points benefit.

other_benefit

string

A benefit that is described using a free-form string. Free-form benefits have a maximum length of 39 characters. For example: "Free gift on your birthday".

LoyaltyProgramTierRequirements

The requirements to join a particular tier of a LoyaltyProgram.

Fields
Union field requirement. The tier requirement. requirement can be only one of the following:
free_to_join

bool

Whether the tier is free to join or not.

branded_card

BrandedCard

Requirement to have a branded card to join the tier and use it during checkout to receive benefits.

membership_fee

MembershipCost

Requirement to pay a membership fee in order to qualify as a member of the tier.

purchase_spending

MembershipCost

Requirement to spend with the merchant in order to qualify as a member of the tier.

loyalty_point_accumulation

LoyaltyPoints

Requirement to have a certain number of points to qualify as a member of the tier.

order_placement

PlacedOrders

Requirement to place a certain number of orders to qualify as a member of the tier.

MembershipCost

Membership cost required to join a particular tier.

Fields
amount

Money

Required. The amount required to pay or spend for the given frequency to qualify as a member of the tier.

frequency

CalendarPeriod

Optional. The frequency of the payment or spending requirement. Example: per year, per month. If unset, a one-time payment is assumed.

StoreCodeSetWithMov

A list of store code sets sharing the same minimum order value. At least two sets are required and the last one must be empty, which signifies 'MOV for all other stores'. Each store code can only appear once across all the sets. All prices within a service must have the same currency.

Fields
store_codes[]

string

Optional. A list of unique store codes or empty for the catch all.

value

Price

The minimum order value for the given stores.

LsfType

The product page experience type, which is also called the Local Store Front (LSF) type. Check the HC article for more details.

Enums
LSF_TYPE_UNSPECIFIED Default value. This value is unused.
GHLSF Google-Hosted Local Store Front. Check the HC article for more details.
MHLSF_BASIC Merchant-Hosted Local Store Front Basic. Check the HC article for more details.
MHLSF_FULL Merchant-Hosted Local Store Front Full. Check the HC article for more details.

ItemCondition

The available item conditions.

Enums
ITEM_CONDITION_UNSPECIFIED Default value. This value is unused.
NEW New.
USED Used.

Policy

The available policies.

Fields
type

Type

Policy type.

days

int64

The number of days items can be returned after delivery, where one day is defined as 24 hours after the delivery timestamp. Required for NUMBER_OF_DAYS_AFTER_DELIVERY returns.

Type

Return policy types.

Enums
TYPE_UNSPECIFIED Default value. This value is unused.
NUMBER_OF_DAYS_AFTER_DELIVERY The number of days within which a return is valid after delivery.
NO_RETURNS No returns.
LIFETIME_RETURNS Life time returns.

RestockingFee

The restocking fee. This can be a flat fee or a micro percent.

Fields

Union field type.

type can be only one of the following:

fixed_fee

Price

Fixed restocking fee.

micro_percent

int32

Percent of total price in micros. 15,000,000 means 15% of the total price would be charged.

ReturnLabelSource

The available return label sources.

Enums
RETURN_LABEL_SOURCE_UNSPECIFIED Default value. This value is unused.
DOWNLOAD_AND_PRINT Download and print.
IN_THE_PACKAGE Label include in the package.
CUSTOMER_RESPONSIBILITY Customer to provide.

ReturnMethod

The available return methods.

Enums
RETURN_METHOD_UNSPECIFIED Default value. This value is unused.
BY_MAIL Return by mail.
IN_STORE Return in store.
AT_A_KIOSK Return at a kiosk.

ReturnShippingFee

The return shipping fee. This can either be a fixed fee or a boolean to indicate that the customer pays the actual shipping cost.

Fields
type

Type

Required. Type of return shipping fee.

fixed_fee

Price

Fixed return shipping fee amount. This value is only applicable when type is FIXED. We will treat the return shipping fee as free if type is FIXED and this value is not set.

Type

Return shipping fee types.

Enums
TYPE_UNSPECIFIED Default value. This value is unused.
FIXED The return shipping fee is a fixed value.
CUSTOMER_PAYING_ACTUAL_FEE Customers will pay the actual return shipping fee.

SeasonalOverride

Fields
label

string

Required. Display name of this seasonal override in Merchant Center.

start_date

Date

Required. Defines the date range when this seasonal override applies. Both start_date and end_date are inclusive. The dates of the seasonal overrides should not overlap.

end_date

Date

Required. seasonal override end date (inclusive).

Union field return_window. ReturnWindow: Specifies either a fixed return date or the number of days (from the delivery date) until which a product can be returned. Merchant Return Days return_window can be only one of the following:
return_days

int32

Number of days (from the delivery date) that the product can be returned.

return_until_date

Date

Fixed end date until which the product can be returned.

PlacedOrders

Requirement to place a certain number of orders.

Fields
order_count

int64

Required. Number of orders required.

frequency

CalendarPeriod

Optional. The cadence/frequency for placing these orders, if applicable. For example, orders placed per year. The field does not need to be set if the orders are lifetime orders.

ProductAttribute

The type of the product attribute to filter by.

Enums
PRODUCT_ATTRIBUTE_UNSPECIFIED Unspecified product attribute.
BRAND The brand of the product.
CUSTOM_LABEL_0 The custom label 0 of the product.
CUSTOM_LABEL_1 The custom label 1 of the product.
CUSTOM_LABEL_2 The custom label 2 of the product.
CUSTOM_LABEL_3 The custom label 3 of the product.
CUSTOM_LABEL_4 The custom label 4 of the product.

Requirement

Defines a requirement specified for participation in the program.

Fields
title

string

Output only. Name of the requirement.

documentation_uri

string

Output only. The URL of a help page describing the requirement.

affected_region_codes[]

string

Output only. The regions that are currently affected by this requirement not being met.

Region codes are defined by CLDR. This is either a country where the program applies specifically to that country or 001 when the program applies globally.

State

Possible program participation states for the account.

Enums
STATE_UNSPECIFIED Default value. This value is unused.
NOT_ELIGIBLE The account is not eligible to participate in the program.
ELIGIBLE The account is eligible to participate in the program.
ENABLED The program is enabled for the account.

GeoTargetArea

A list of geotargets that defines the region area.

Fields
geotarget_criteria_ids[]

int64

Required. A non-empty list of location IDs. They must all be of the same location type (for example, state).

PostalCodeArea

A list of postal codes that defines the region area. Note: All regions defined using postal codes are accessible through the account's ShippingSettings.postalCodeGroups resource.

Fields
region_code

string

Required. CLDR territory code or the country the postal code group applies to.

postal_codes[]

PostalCodeRange

Required. A range of postal codes.

PostalCodeRange

A range of postal codes that defines the region area.

Fields
begin

string

Required. A postal code or a pattern of the form prefix* denoting the inclusive lower bound of the range defining the area. Examples values: 94108, 9410*, 9*.

end

string

Optional. A postal code or a pattern of the form prefix* denoting the inclusive upper bound of the range defining the area. It must have the same length as postalCodeRangeBegin: if postalCodeRangeBegin is a postal code then postalCodeRangeEnd must be a postal code too; if postalCodeRangeBegin is a pattern then postalCodeRangeEnd must be a pattern with the same prefix length. Optional: if not set, then the area is defined as being all the postal codes matching postalCodeRangeBegin.

RadiusArea

A radius area that defines the region area.

Fields
region_code

string

Required. CLDR territory code or the country the radius area applies to.

lat_lng

LatLng

Required. The center of the radius area. It represents a latitude/longitude pair in decimal degrees format.

radius

double

Required. The radius distance of the area.

radius_units

RadiusUnits

Optional. The unit of the radius.

RadiusUnits

The unit of measurement of the radius. Default is KILOMETERS.

Enums
RADIUS_UNITS_UNSPECIFIED Unused default value
MILES The distance is measured in miles.
KILOMETERS The distance is measured in kilometers.

ReviewResult

Indicates the review result of the LoyaltyProgram.

Fields
review_status

State

Output only. Indicates the review status of the LoyaltyProgram.

reject_reason

RejectReason

Output only. Provides a RejectReason to indicate the reason the LoyaltyProgram was rejected.

RejectReason

The reason the LoyaltyProgram was rejected.

Enums
REJECT_REASON_UNSPECIFIED Default value. This value is unused.
BROKEN_PROGRAM_LEVEL_URL The URL that should show the LoyaltyProgram tiers is broken or incorrect.
BROKEN_PROGRAM_URL The signup URL submitted is broken or incorrect.
NUMBER_OF_PROGRAM_LEVEL_DOES_NOT_MATCH_WEBSITE The number of tiers submitted does not match what is on the website.
PROGRAM_DESCRIPTION_DOES_NOT_MATCH_WEBSITE The description submitted does not match the description on the website.
PROGRAM_DESCRIPTION_DOES_NOT_MEET_STANDARDS The program description does not meet Google's editorial standards.
PROGRAM_LABEL_DOES_NOT_MEET_STANDARDS The program label does not meet Google's editorial standards.
PROGRAM_LEVEL_BENEFIT_DOES_NOT_MATCH_WEBSITE The benefits submitted do not match what is on the website.
PROGRAM_LEVEL_BENEFIT_DOES_NOT_MEET_STANDARDS The tier benefit does not meet Google's editorial standards.
PROGRAM_LEVEL_LABEL_DOES_NOT_MEET_STANDARDS The tier label does not meet Google's editorial standards.
PROGRAM_LEVEL_NAME_DOES_NOT_MATCH_WEBSITE The tier name submitted does not match the tier name on the website.
PROGRAM_LEVEL_NAME_DOES_NOT_MEET_STANDARDS The tier name does not meet Google's editorial standards.
PROGRAM_NAME_DOES_NOT_MATCH_WEBSITE The program name submitted does not match the name on the website.
PROGRAM_NAME_DOES_NOT_MEET_STANDARDS The program name does not meet Google's editorial standards.
MEMBER_PRICE_BENEFIT_MISMATCH The LoyaltyProgram was not accepted. The loyalty pricing submitted in the product data does not match what is shown on the website. Review and update the product data to ensure accurate prices are submitted. Once updated, contact the support team for re-review.
MEMBER_SHIPPING_BENEFIT_MISMATCH The LoyaltyProgram was not accepted. The shipping policy for loyalty tiers does not match the info on the website. Review and update the shipping policy to ensure accurate cost and speed are submitted. Once updated, contact the support team for re-review.
RESTRICTED_PARTICIPATION The loyalty program does not allow every individual to join.
UNSUPPORTED_COUNTRY The loyalty program is not in the supported country.
UNSTRUCTURED_PROGRAM It's a newsletter or text signup and not a structured loyalty program.
PROMOTIONAL_OFFER_NOT_PROGRAM It's a promotional offer rather than a loyalty program.

State

The current state of the LoyaltyProgram review.

Enums
STATE_UNSPECIFIED Default value. This value is unused.
UNDER_REVIEW Under review.
APPROVED Approved.
REJECTED Rejected.

State

The state of the review process.

Enums
STATE_UNSPECIFIED Default value. This value is unused.
ACTIVE The review process has concluded successfully. The reviewed item is active.
FAILED The review process failed.
RUNNING The review process is running.
ACTION_REQUIRED The review process is waiting for the merchant to take action.

LoyaltyProgram

Loyalty program provided by a business.

Fields
loyalty_program_tiers[]

LoyaltyProgramTiers

Optional. Loyalty program tier of this shipping service.

program_label

string

This is the loyalty program label set in your loyalty program settings in Merchant Center. This sub-attribute allows Google to map your loyalty program to eligible offers.

LoyaltyProgramTiers

Subset of a business's loyalty program.

Fields
tier_label

string

The tier label [tier_label] sub-attribute differentiates offer level benefits between each tier. This value is also set in your program settings in Merchant Center, and is required for data source changes even if your loyalty program only has 1 tier.

ShipmentType

Shipment type of shipping service.

Enums
SHIPMENT_TYPE_UNSPECIFIED This service did not specify shipment type.
DELIVERY This service ships orders to an address chosen by the customer.
LOCAL_DELIVERY This service ships orders to an address chosen by the customer. The order is shipped from a local store near by.
COLLECTION_POINT This service ships orders to an address chosen by the customer. The order is shipped from a collection point.

StoreConfig

A list of stores your products are delivered from. This is only valid for the local delivery shipment type.

Fields
store_codes[]

string

Optional. A list of store codes that provide local delivery. If empty, then all_stores must be true.

store_service_type

StoreServiceType

Indicates whether all stores, or selected stores, listed by this business provide local delivery.

cutoff_config

CutoffConfig

Configs related to local delivery ends for the day.

service_radius

Distance

Maximum delivery radius. This is only required for the local delivery shipment type.

CutoffConfig

Configs related to local delivery ends for the day.

Fields
local_cutoff_time

LocalCutoffTime

Time that local delivery ends for the day.

store_close_offset_hours

int64

Only valid with local delivery fulfillment. Represents cutoff time as the number of hours before store closing. Mutually exclusive with local_cutoff_time.

no_delivery_post_cutoff

bool

Businesses can opt-out of showing n+1 day local delivery when they have a shipping service configured to n day local delivery. For example, if the shipping service defines same-day delivery, and it's past the cut-off, setting this field to true results in the calculated shipping service rate returning NO_DELIVERY_POST_CUTOFF. In the same example, setting this field to false results in the calculated shipping time being one day. This is only for local delivery.

LocalCutoffTime

Time that local delivery ends for the day.

Fields
hour

int64

Hour local delivery orders must be placed by to process the same day.

minute

int64

Minute local delivery orders must be placed by to process the same day.

StoreServiceType

Indicates whether all stores, or selected stores, listed by the business provide local delivery.

Enums
STORE_SERVICE_TYPE_UNSPECIFIED Did not specify store service type.
ALL_STORES Indicates whether all stores, current and future, listed by this business provide local delivery.
SELECTED_STORES Indicates that only the stores listed in store_codes are eligible for local delivery.

StructuredBenefit

Benefit of a LoyaltyProgram tier in a structured form.

Fields
custom_id

int64

Optional. Merchant-provided identifier for the benefit rule.

Union field loyalty_benefits. The specific benefit. loyalty_benefits can be only one of the following:
points_earning_benefit

PointsEarningBenefit

Points earning benefit.

shipping_benefit

ShippingBenefit

Shipping benefit.

points_redemption_benefit

PointsRedemptionBenefit

Points redemption benefit.

FixedRewardRule

Fixed reward rule for points redemption, where a certain number of points can be redeemed for a fixed reward (e.g., $5.00 off with 500 points).

Fields
required_points

int64

Optional. The number of points required to redeem the reward.

reward

RedemptionReward

Optional. The reward to be redeemed when the required points are met. Can be a fixed currency amount (e.g., $5.00 off) or a percentage discount (e.g., 15 for 15% off).

PointsEarningBenefit

Benefit that gives points to the user. If minimum_money_spent is set, then the benefit will only be applied to orders larger than the minimum_money_spent. The rate at which points are earned is determined by the PointsEarningBenefitAnnotation.

Fields
minimum_money_spent

Money

Optional. The amount of money required to spend in order to earn points. For example, a value of $25.00 means point earnings are only applied to orders over $25.00.

points_earning_benefit_annotation

PointsEarningBenefitAnnotation

Required. Annotation for the point benefit.

tax_rate

double

Optional. Optionally, define the tax rate for accurate points calculation.

disable_global_applicability

bool

Optional. By default, the PointsEarningBenefit will be applied to all products. When this field is true, the PointsEarningBenefit will only be applied to eligible products.

PointsEarningBenefitAnnotation

Structured metadata for point benefit annotation. For example, $points_earned points per $amount_spent spent.

Fields
points_earned

float

Required. The points earned for each $amount_spent spent. If the calculated amount of points is not an integer, the points will be rounded down to the nearest integer.

amount_spent

Money

Required. The amount spent to earn $points_earned points.

PointsRedemptionBenefit

Redemption rules for points redemption.

Fields
minimum_order_value

Money

Optional. Spending thresholds for the points redemption rule.

max_discount_value

Money

Optional. Maximum discount value (e.g., 30% off with 10K points, max $50 discount).

Union field redemption_strategy. The strategy for how points can be redeemed. This field is required when setting a PointsRedemptionBenefit. This constraint is enforced during API requests. redemption_strategy can be only one of the following:
fixed_reward_rule

FixedRewardRule

Strategy where a fixed amount of points can redeem a fixed reward. For example, 500 points can redeem $5.00 off.

RedemptionReward

Reward that can be redeemed with points when the conditions are met.

Fields
Union field reward_type. The type of reward which can be redeemed with points. reward_type can be only one of the following:
amount_off

Money

Fixed currency amount (e.g., $5.00 off)

percent_off

int32

Percentage discount. For example, 15 for 15% off.

ShippingBenefit

Benefit provided to the user which relates to shipping.

Fields
has_shipping_benefit

bool

Required. Indicate whether or not that this tier has a shipping benefit.

TransitTimeRow

If there's only one dimension set of postal_code_group_names or transit_time_labels, there are multiple rows each with one value for that dimension. If there are two dimensions, each row corresponds to a postal_code_group_names, and columns (values) to a transit_time_labels.

Fields
values[]

TransitTimeValue

Required. Transit time range (min-max) in business days.

TransitTimeValue

Transit time range (min-max) in business days.

Fields
min_transit_days

int32

Minimum transit time range in business days. 0 means same day delivery, 1 means next day delivery.

max_transit_days

int32

Must be greater than or equal to min_transit_days.

UpdateLoyaltyProgramRequest

Request message for UpdateLoyaltyProgram.

Fields
loyalty_program

LoyaltyProgram

Required. The updated LoyaltyProgram.

update_mask

FieldMask

Optional. The comma-separated field mask indicating the fields to update. If unset, a full replacement will be performed. Otherwise, a partial update will be performed. For example, an update_mask of "program_name,signup_url" would only update the program_name and signup_url fields of the LoyaltyProgram. Both snake_case and camelCase are supported.

For repeated fields that need to be updated, the entire repeated field will be replaced. It is recommended to do a GET request on the LoyaltyProgram first to get the current values of the repeated fields.

State

The state represents the possible statuses of a user. It is an output-only field that is set to PENDING when a user is invited to an account and changes to VERIFIED once the user accepts the invitation.

Enums
STATE_UNSPECIFIED Default value. This value is unused.
PENDING The user is pending confirmation. In this state, the user first needs to accept the invitation before performing other actions.
VERIFIED The user is verified.

VerificationMailMode

The different configuration options for sending a verification email when adding a user.

Enums
VERIFICATION_MAIL_MODE_UNSPECIFIED Default first member of every enum. Do not use.
SEND_VERIFICATION_MAIL An invitation email is sent to the user added shortly after.
SUPPRESS_VERIFICATION_MAIL No invitation email is sent. This can be useful if the user is expected to accept the invitation through the API without needing another notification.