Here's how to install and configure a client library or REST.
Prerequisites
Before installing a client library, complete the steps in Set up API access, including configuring Application Default Credentials (ADC).
Installation steps
On your local machine, install the client library of your choice:
REST
- Update the placeholders in the following sample, such as OPERATING_ACCOUNT_PRODUCT, OPERATING_ACCOUNT_ID, and AUDIENCE_ID, with the values for your account and destination.
- Replace PROJECT_ID with the ID of your Google Cloud.
Copy the sample to the command line to send the request. Only use the Data partner sample if you're accessing the operating account through a partner link. Otherwise, use the Advertiser sample.
Advertiser
#!/bin/bash # Uses gcloud to get an access token. If the Application Default # Credentials aren't for a service account then the command that # specifies --scopes fails, so this sample falls back to the command # without the --scopes argument. DATA_MANAGER_ACCESS_TOKEN="$(gcloud auth application-default print-access-token --scopes=https://www.googleapis.com/auth/datamanager || \ gcloud auth application-default print-access-token)" # Fetches and prints the scope information for the access token. If you # get scope-related errors when you send the request in the next step, # verify that this output includes the Data Manager API scope: # https://www.googleapis.com/auth/datamanager curl https://www.googleapis.com/oauth2/v1/tokeninfo?access_token="${DATA_MANAGER_ACCESS_TOKEN}" # Sends the request. curl -X POST "https://datamanager.googleapis.com/v1/audienceMembers:ingest" \ --header "Authorization: Bearer ${DATA_MANAGER_ACCESS_TOKEN}" \ --header "x-goog-user-project: PROJECT_ID" \ --header "Content-Type: application/json" \ --data @- <<EOF { "destinations": [ { "operatingAccount": { "accountType": "OPERATING_ACCOUNT_TYPE", "accountId": "OPERATING_ACCOUNT_ID" }, "loginAccount": { "accountType": "LOGIN_ACCOUNT_TYPE", "accountId": "LOGIN_ACCOUNT_ID" }, "productDestinationId": "AUDIENCE_ID" } ], "audienceMembers": [ { "compositeData": { "userData": { "userIdentifiers": [ { "emailAddress": "07e2f1394b0ea80e2adca010ea8318df697001a005ba7452720edda4b0ce57b3" }, { "emailAddress": "1df6b43bc68dd38eca94e6a65b4f466ae537b796c81a526918b40ac4a7b906c7" } ] } } }, { "compositeData": { "userData": { "userIdentifiers": [ { "emailAddress": "2ef46c4214c3fc1b277a2d976d55194e12b899aa50d721f28da858c7689756e3" }, { "emailAddress": "54e410b14fa652a4b49b43aff6eaf92ad680d4d1e5e62ed71b86cd3188385a51" }, { "emailAddress": "e8bd3f8da6f5af73bec1ab3fbf7beb47482c4766dfdfc94e6bd89e359c139478" } ] } } }, { "compositeData": { "userData": { "userIdentifiers": [ { "emailAddress": "05bb62526f091b45d20e243d194766cca8869137421047dc53fa4876d111a6f0" }, { "emailAddress": "f1fcde379f31f4d446b76ee8f34860eca2288adc6b6d6c0fdc56d9eee75a2fa5" } ] } } }, { "compositeData": { "userData": { "userIdentifiers": [ { "emailAddress": "83a834cc5327bc4dee7c5408988040dc5813c7662611cd93b707aff72bf7d33f" }, { "emailAddress": "223ebda6f6889b1494551ba902d9d381daf2f642bae055888e96343d53e9f9c4" } ] } } } ], "consent": { "adUserData": "CONSENT_GRANTED", "adPersonalization": "CONSENT_GRANTED" }, "encoding": "HEX", "termsOfService": { "customerMatchTermsOfServiceStatus": "ACCEPTED" }, "validateOnly": true } EOFData partner
#!/bin/bash # Uses gcloud to get an access token. If the Application Default # Credentials aren't for a service account then the command that # specifies --scopes fails, so this sample falls back to the command # without the --scopes argument. DATA_MANAGER_ACCESS_TOKEN="$(gcloud auth application-default print-access-token --scopes=https://www.googleapis.com/auth/datamanager || \ gcloud auth application-default print-access-token)" # Fetches and prints the scope information for the access token. If # you get scope-related errors when you send the request in the next # step, verify that this output includes the Data Manager API scope: # https://www.googleapis.com/auth/datamanager curl https://www.googleapis.com/oauth2/v1/tokeninfo?access_token="${DATA_MANAGER_ACCESS_TOKEN}" # Sends the request. curl -X POST "https://datamanager.googleapis.com/v1/audienceMembers:ingest" \ --header "Authorization: Bearer ${DATA_MANAGER_ACCESS_TOKEN}" \ --header "x-goog-user-project: PROJECT_ID" \ --header "Content-Type: application/json" \ --data @- <<EOF { "destinations": [ { "operatingAccount": { "accountType": "OPERATING_ACCOUNT_TYPE", "accountId": "OPERATING_ACCOUNT_ID" }, "loginAccount": { "accountType": "LOGIN_ACCOUNT_TYPE", "accountId": "LOGIN_ACCOUNT_ID" }, "linkedAccount": { "accountType": "LINKED_ACCOUNT_TYPE", "accountId": "LINKED_ACCOUNT_ID" }, "productDestinationId": "AUDIENCE_ID" } ], "audienceMembers": [ { "compositeData": { "userData": { "userIdentifiers": [ { "emailAddress": "07e2f1394b0ea80e2adca010ea8318df697001a005ba7452720edda4b0ce57b3" }, { "emailAddress": "1df6b43bc68dd38eca94e6a65b4f466ae537b796c81a526918b40ac4a7b906c7" } ] } } }, { "compositeData": { "userData": { "userIdentifiers": [ { "emailAddress": "2ef46c4214c3fc1b277a2d976d55194e12b899aa50d721f28da858c7689756e3" }, { "emailAddress": "54e410b14fa652a4b49b43aff6eaf92ad680d4d1e5e62ed71b86cd3188385a51" }, { "emailAddress": "e8bd3f8da6f5af73bec1ab3fbf7beb47482c4766dfdfc94e6bd89e359c139478" } ] } } }, { "compositeData": { "userData": { "userIdentifiers": [ { "emailAddress": "05bb62526f091b45d20e243d194766cca8869137421047dc53fa4876d111a6f0" }, { "emailAddress": "f1fcde379f31f4d446b76ee8f34860eca2288adc6b6d6c0fdc56d9eee75a2fa5" } ] } } }, { "compositeData": { "userData": { "userIdentifiers": [ { "emailAddress": "83a834cc5327bc4dee7c5408988040dc5813c7662611cd93b707aff72bf7d33f" }, { "emailAddress": "223ebda6f6889b1494551ba902d9d381daf2f642bae055888e96343d53e9f9c4" } ] } } } ], "consent": { "adUserData": "CONSENT_GRANTED", "adPersonalization": "CONSENT_GRANTED" }, "encoding": "HEX", "termsOfService": { "customerMatchTermsOfServiceStatus": "ACCEPTED" }, "validateOnly": true } EOF
.NET
Install the client library
Follow the instructions in the .NET client library installation guide to add a dependency to the client library in your project.
Optional: Get the utility library and code samples.
Clone the GitHub repository.
git clone https://github.com/googleads/data-manager-dotnet.gitIn your .NET project, declare a
ProjectReferencedependency on the utility library. Replace PATH_TO_UTILITY_LIBRARY with the location where you cloned thedata-manager-dotnetrepository.<ProjectReference Include="PATH_TO_UTILITY_LIBRARY\Google.Ads.DataManager.Util\src\Google.Ads.DataManager.Util.csproj" />To format data, use the
Formatterutility in your .NET project.Browse code samples in the
samplessubdirectory or on GitHub.Change to the
samplesdirectory and usedotnet runto get the list of available samples.dotnet runPass the
--helpargument when running a sample to print a usage statement with expected parameters.dotnet run -- ingest-audience-members --helpTo help you get started with some sample data, use the files at
samples/sampledata.
Go
Install the client library
go get cloud.google.com/go/datamanager/apiv1@latest
Follow the instructions in the Go client library guide for more information.
Java
Install the client library
Follow the instructions in the Java client library installation guide to add a dependency to the client library in your project.
Optional: Install the utility library
In addition to the client library, you can install the utility library to help with common tasks like formatting and encrypting data for ingestion.
In your Java project, declare a dependency on the
data-manager-utilutility library.Gradle:
implementation 'com.google.api-ads:data-manager-util:0.4.0'Maven:
<dependency> <groupId>com.google.api-ads</groupId> <artifactId>data-manager-util</artifactId> <version>0.4.0</version> </dependency>To format and encrypt the data, use the
UserDataFormatterandEncrypterutilities in your Java project.
Browse code samples
Browse code samples in the data-manager-samples subdirectory or on
GitHub.
To run samples:
Clone the GitHub repository at the
v0.4.0tag:git clone --branch v0.4.0 https://github.com/googleads/data-manager-java.gitNavigate to the
data-manager-javadirectory.Run the samples from the command line using the Gradle
runtask, passing any required arguments. Pass the--helpargument when running a sample to print a usage statement with expected parameters.For example, the following command runs the
IngestAudienceMemberssample and prints a usage statement:./gradlew data-manager-samples:run \ --args='IngestAudienceMembers --help'
To help you get started with some sample data, use the files at
data-manager-samples/src/main/resources/sampledata.
Node.js
Install the client library
Follow the instructions in the Node.js client library installation
guide to add a dependency to the
@google-ads/datamanager client library in your project.
Optional: Install the utility library
In addition to the client library, you can install the utility library to help with common tasks like formatting data for ingestion.
In your Node.js project, declare a dependency on the
@google-ads/datamanager-utilutility library:npm install @google-ads/datamanager-utilTo format data, use the
UserDataFormatterutility in your Node.js project.
Browse code samples
Browse code samples in the samples subdirectory or on
GitHub.
To run samples:
Clone the GitHub repository at the
v0.4.1tag:git clone --branch v0.4.1 https://github.com/googleads/data-manager-node.gitNavigate to the
data-manager-nodedirectory.Install the dependencies for running the samples:
npm installRun the samples, passing any required arguments. Pass the
--helpargument when running a sample to print a usage statement with expected parameters.For example, the following command runs the
ingest-audience-memberssample and prints a usage statement:npm run ingest-audience-members -w samples -- --help
To help you get started with some sample data, use the files at
samples/sampledata.
PHP
Install the client library
Follow the instructions in the PHP client library installation
guide to add a dependency to the
googleads/data-manager client library in your project.
Optional: Install the utility library
In addition to the client library, you can install the utility library to help with common tasks like formatting data for ingestion.
In the
composer.jsonfile of your PHP project on the same host, declare a dependency on the utility library:composer require googleads/data-manager-utilTo format data, use the
Formatterutility in your PHP project.
Browse code samples
Browse code samples in the samples subdirectory or on
GitHub.
To run samples:
Clone the GitHub repository at the
v0.4.0tag:git clone --branch v0.4.0 https://github.com/googleads/data-manager-php.gitNavigate to the
data-manager-php/samplesdirectory.Install the dependencies for running the samples:
composer installRun the samples, passing any required arguments. Pass the
--helpargument when running a sample to print a usage statement with expected parameters.For example, the following command runs the
ingest_audience_memberssample and prints a usage statement:php audiences/ingest_audience_members.php --help
To help you get started with some sample data, use the files at
samples/sampledata.
Python
Install the client library
Follow the instructions in the Python client library installation
guide to add a dependency to the
google-ads-datamanager client library in your project.
Optional: Install the utility library
In addition to the client library, you can install the utility library to help with common tasks like formatting and encrypting data for ingestion.
In your Python project, declare a dependency on the
google-ads-datamanager-utilutility library.For example, if using a
requirements.txtfile in your project, add the following line to the file:google-ads-datamanager-util==0.4.0Or install the utility library directly:
pip install google-ads-datamanager-util==0.4.0To format and encrypt the data, use the
FormatterandEncrypterutilities in your Python project.
Browse code samples
Clone the GitHub repository at the
v0.4.0tag:git clone --branch v0.4.0 https://github.com/googleads/data-manager-python.gitNavigate to the
data-manager-pythondirectory.Install the dependencies for running the samples:
pip install -r samples/requirements.txtRun the samples, passing any required arguments. Pass the
--helpargument when running a sample to print a usage statement with expected parameters.For example, the following command runs the
ingest_audience_memberssample and prints a usage statement:python3 samples/audiences/ingest_audience_members.py --help
To help you get started with some sample data, use the files at
samples/sampledata.
Ruby
Install the client library
Follow the instructions in the Ruby client library installation guide to add a dependency to the client library in your project.
Next steps
- Learn more about sending audience data.
- Learn more about sending events.
- Browse the REST or RPC reference documentation.