Stay organized with collections
Save and categorize content based on your preferences.
To define custom characteristics for a shared contact, use extended properties
and projections.
Extended properties
You can set additional shared contact related information as an extended
property, with arbitrary name-value pairs, for a shared contact entry. It's
your responsibility to preserve key uniqueness. The value of an extended
property can be stored as a value (arbitrary string) or an XML blob (plain
text). Each shared contact can have at most 10 extended properties associated.
Each extended property should be reasonably small; don't use a photo or a
ringtone.
Example
The following example shows an extended property with a key and a value:
To limit extended property visibility, use projections. Setting extended
properties (gd:extendedElement elements) is allowed only within a full or
property-KEY projection.
The following table describes the supported projection values:
Projection name
Description
thin
No gd:extendedProperty elements are returned or
updated.
property-KEY
KEY indicates the key of an extended
property (gd:extendedProperty element) that's returned
(for GET requests) or should be updated (for a
PUT or POST request). If the extended
property isn't used during update operations, the property is
deleted.
full
All gd:extendedProperty elements are returned and
all elements have to be included during an update.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["# Extended properties and projections\n\nTo define custom characteristics for a shared contact, use extended properties\nand projections.\n\nExtended properties\n-------------------\n\nYou can set additional shared contact related information as an extended\nproperty, with arbitrary name-value pairs, for a shared contact entry. It's\nyour responsibility to preserve key uniqueness. The value of an extended\nproperty can be stored as a value (arbitrary string) or an XML blob (plain\ntext). Each shared contact can have at most 10 extended properties associated.\nEach extended property should be reasonably small; don't use a photo or a\nringtone.\n| **Note:** Extended properties aren't displayed in the Shared Contacts Manager for Google Contacts.\n\n### Example\n\nThe following example shows an extended property with a key and a value: \n\n <gd:extendedProperty name=\"com.google\" value=\"\u003cvar\u003eVALUE\u003c/var\u003e\"/>\n\nThe following example shows an extended property with key and an XML blob: \n\n <gd:extendedProperty name=\"com.google\">\n <\u003cvar\u003eXML_PARAMETER\u003c/var\u003e></\u003cvar\u003eXML_PARAMETER\u003c/var\u003e>\n </gd:extendedProperty\u003e\n\nProjection values\n-----------------\n\nTo limit extended property visibility, use projections. Setting extended\nproperties (`gd:extendedElement` elements) is allowed only within a `full` or\n`property-`\u003cvar translate=\"no\"\u003eKEY\u003c/var\u003e projection.\n\nThe following table describes the supported projection values:\n\n| Projection name | Description |\n|------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `thin` | No `gd:extendedProperty` elements are returned or updated. |\n| `property-`\u003cvar translate=\"no\"\u003eKEY\u003c/var\u003e | \u003cvar translate=\"no\"\u003eKEY\u003c/var\u003e indicates the key of an extended property (`gd:extendedProperty` element) that's returned (for `GET` requests) or should be updated (for a `PUT` or `POST` request). If the extended property isn't used during update operations, the property is deleted. |\n| `full` | All `gd:extendedProperty` elements are returned and all elements have to be included during an update. |"]]