Hi,
I understand that you are looking for guidance in setting the pin position for headlines and descriptions using the Google Ads API. I would recommend using the
adGroupAds method and set the 'pinnedField' and select the position as per your requirement. We have tried this approach and were able to set the pin positions for both the headlines and descriptions using the Google Ads API. However, I am attaching the sample request and response logs for your reference.
Request Body:
POST https://googleads.googleapis.com/v17/customers/{customer ID}/adGroupAds:mutate?key=[YOUR_API_KEY] HTTP/1.1
developer-token: **********************
Authorization: Bearer [YOUR_ACCESS_TOKEN]
Accept: application/json
Content-Type: application/json
{
"operations": [
{
"create": {
"ad": {
"responsiveSearchAd": {
"descriptions": [
{
"text": "dfgtrh dfegtght",
"pinnedField": "DESCRIPTION_2"
},
{
"text": "sdfwed",
"pinnedField": "DESCRIPTION_1"
}
],
"headlines": [
{
"pinnedField": "HEADLINE_1",
"text": "good one"
},
{
"text": "safewv",
"pinnedField": "HEADLINE_2"
},
{
"text": "sadfewfewf",
"pinnedField": "HEADLINE_3"
}
]
},
"finalUrls": [
"https://www.example.com"
]
},
"adGroup": "customers/{customer ID}/adGroups/{ad_group_ID}"
}
}
]
}
Response:
HTTP/1.1 200
cache-control: private
content-encoding: gzip
content-length: 123
content-type: application/json; charset=UTF-8
date: Mon, 16 Sep 2024 11:35:39 GMT
server: ESF
vary: Origin, X-Origin, Referer
{
"results": [
{
"resourceName": "customers/{customer ID}/adGroupAds/{ad_group_id}~{ad_ID}"
}
]
}
For retrieving these data, I would recommend you to use the
ad_group_ad_asset_view resource from the Google Ads API. You can use the
search or
searchStream methods in making the API calls while retrieving the data. Additionally, you can utilize the
Google Ads Query Builder and
Query Validator to build and validate the queries for retrieving the data from the Google Ads API.