This document explains a Google Checkout feature that enables merchants to receive names of buyers and order recipients in structured fields that identify the first and last name of those people. This feature is designed to help merchants more easily identify and reconcile duplicate customer accounts.
The following instructions explain how to enable this feature for your account. Please note that you must complete these steps for your sandbox and production accounts:
After you enable this setting, Google will include structured names in your new order notifications. A structured name consists of a first and last name. The structured name is provided in addition to the contact name that is already included in your new order notifications.
This document contains the following sections.
The Receiving Structured Names section explains how structured names appear in new order notifications.
The Matching Names in Notifications to Names in Your Database section discusses some of the rules that Google uses to parse the first and last name from a contact name. These rules may help you to better reconcile names with the names in your database.
The HTML Parameter Definitions section defines the HTML parameters used for the structured name feature.
Google sends structured names in new order notifications. To receive new order notifications, you must have implemented the Notification API.
If you opt to receive structured names, your new order notifications will use the first-name and last-name parameters to send structured names for both the billing address and shipping address associated with each order. New order notifications will continue to use the <contact-name> parameter to communicate the full name of the buyer or order recipient.
The following example shows the basic structure of a new order notification. Several parameters have been removed from the example to highlight the change described in this document. Omitted parameters are represented by ellipses (...). In addition, new parameters that contain structured names are shown in bold text.
_type=new-order-notification &serial-number;=85f54628-538a-44fc-8605-ae62364f6c71 ... &buyer-billing-address.structured-name.first-name;=Bill &buyer-billing-address.structured-name.last-name;=Hu ... &buyer-shipping-address.structured-name.first-name;=Will &buyer-shipping-address.structured-name.last-name;=Shipp-Toomey
Please note that you should only use structured name information to identify duplicate customer accounts. Since name parsing cannot be executed with 100 percent accuracy, we recommend that you avoid using the first and last names for shipping orders, marketing emails or other communications.
We recommend that you reconcile duplicate accounts by comparing a structured name and the corresponding billing or shipping address against your customer database. The name should only be considered a duplicate of a user in your database if the name and address both match an account in your database.
Google applies several rules to parse the first name and last name from the contact-name value. Understanding these rules may help you to match structured names to names in your database.
If the structured name feature is enabled and there is a contact name for the buyer and/or recipient of an order, the new order notification for the order will contain the first-name and last-name parameters for each of those contacts. However, if Google cannot determine how to split the contact name into a first and last name, the first-name parameter, last-name parameter or even both of those parameters may contain empty values.
Google removes common prefixes, such as "Mr.", "Mrs." and "Dr.", from the contact name before identifying the first and last name.
Google removes common suffixes, such as "Jr.", "Sr." and "Ph.D." from the contact name before identifying the first and last name.
Google appends additional words and characters between a first and last name to the first name with the exception of common last name prefixes like "del" and "von". For example, if the contact name is John K. Smith, the first-name value will be John K. and the last-name value will be Smith. However, if the contact name is Benicio del Toro, the first-name value will be Benicio and the last-name value will be del Toro.
Since Google's name-splitting rules may not directly correlate to the way you store names in your database, you may want to test different methods for matching the names in new order notifications to the names in your database. Specifically, we recommend that you use case-insensitive matching for both names and addresses. You can also adjust matching rules to account for capitalization, punctuation, and other nonalphanumeric characters, such as spaces. For example, it may be easier to match the name johnksmith than John K. Smith.
first-name |
The first-name parameter contains the first name of the buyer or recipient of an order. Please see the Matching Names in Notifications to Names in Your Database section for details about Google Checkout's name-splitting algorithm. Content format for parameter value String
Sample use(s) In a new order notification:
[buyer-billing-address | buyer-shipping-address]. In a risk information notification: billing-address. |
last-name |
The last-name parameter contains the last name of the buyer or recipient of an order. Please see the Matching Names in Notifications to Names in Your Database section for details about Google Checkout's name-splitting algorithm. Content format for parameter value String
Sample use(s) In a new order notification:
[buyer-billing-address | buyer-shipping-address]. In a risk information notification: billing-address. |