Existen dos tipos de cuentas de Google Ads: las cuentas de administrador de Google Ads y las cuentas de anunciante de Google Ads (también conocidas como cuentas de cliente). Las cuentas de administrador pueden administrar otras cuentas de administrador de Google Ads o cuentas de anunciante de Google Ads. Puedes vincular una cuenta de anunciante a una cuenta de administrador y, luego, administrar la cuenta de anunciante a través de la cuenta de administrador. La estructura vinculada general es un grafo acíclico dirigido con cuentas de anunciantes en el nivel de hoja.
Puedes otorgar acceso a las cuentas de Google Ads a usuarios individuales o cuentas de servicio. Existen dos formas de otorgarles a los usuarios acceso a una cuenta de anunciante:
- Invita al usuario a la cuenta del anunciante para otorgarle acceso directo.
- Otorga al usuario acceso indirecto a la cuenta del anunciante invitándolo a una cuenta de administrador vinculada a esa cuenta. El usuario obtiene acceso a la cuenta de anunciante, ya que la cuenta de administrador tiene acceso a todas las cuentas vinculadas a ella.
También puedes asignar roles de usuario cuando invitas a un usuario a administrar una cuenta.
Considera la siguiente jerarquía de cuentas. Supón que todos los usuarios tienen acceso estándar.
En la siguiente tabla, se resume la estructura de esta cuenta.
Usuario | Tiene acceso directo a | Tiene acceso indirecto a |
---|---|---|
U1, SA1 | M1 | M2, A1, A2, A3 |
U2 | M2 y M3 | A1, A2, A3 y A4 |
U3 | A4 |
ID de cliente de acceso
Un usuario puede tener acceso a varias jerarquías de cuentas. Cuando realices una llamada a la API en estos casos, deberás especificar la cuenta raíz que se usará para determinar correctamente los niveles de autorización y acceso a la cuenta. Para ello, especifica un encabezado login-customer-id
como parte de la solicitud a la API.
En la siguiente tabla, se usa la jerarquía de cuentas del ejemplo anterior para mostrar qué IDs de cliente de acceso puedes usar y la lista correspondiente de cuentas a las que puedes realizar llamadas.
Usuario | ID de cliente de acceso que se usará | Cuentas para realizar llamadas a la API |
---|---|---|
U1, SA1 | M1 | M1, M2, A1, A2, A3 |
U2 | M2 | M2, A1, A2, A3 |
U2 | M3 | M3, A1 y A4 |
U3 | A4 | A4 |
Puedes omitir el encabezado login-customer-id
si el usuario tiene acceso directo a la cuenta de Google Ads a la que realizas llamadas. Por ejemplo, no es necesario que especifiques el encabezado login-customer-id
cuando usas credenciales de U3
para hacer una llamada a A4
, ya que los servidores de Google Ads pueden determinar correctamente el nivel de acceso a partir del ID de cliente (A4
).
Si usas una de nuestras bibliotecas cliente, usa la siguiente configuración para especificar el encabezado login-customer-id
.
Java
Agrega el siguiente parámetro de configuración a tu archivo ads.properties
.
api.googleads.loginCustomerId=INSERT_LOGIN_CUSTOMER_ID_HERE
C#
Agrega el siguiente parámetro de configuración cuando inicialices el objeto GoogleAdsConfig
y úsalo para crear un objeto GoogleAdsClient
.
GoogleAdsConfig config = new GoogleAdsConfig()
{
...
LoginCustomerId = ******
};
GoogleAdsClient client = new GoogleAdsClient(config);
PHP
Agrega el siguiente parámetro de configuración a tu archivo google_ads_php.ini
.
[GOOGLE_ADS]
loginCustomerId = "INSERT_LOGIN_CUSTOMER_ID_HERE"
Python
Agrega el siguiente parámetro de configuración a tu archivo google-ads.yaml
.
login_customer_id: INSERT_LOGIN_CUSTOMER_ID_HERE
Ruby
Agrega el siguiente parámetro de configuración a tu archivo google_ads_config.rb
.
Google::Ads::GoogleAds::Config.new do |c|
c.login_customer_id = 'INSERT_LOGIN_CUSTOMER_ID_HERE'
end
Crea una instancia de GoogleAdsClient
pasando la ruta de acceso a la ubicación en la que guardas este archivo.
client = Google::Ads::GoogleAds::GoogleAdsClient.new('path/to/google_ads_config.rb')
Perl
Agrega el siguiente parámetro de configuración a tu archivo googleads.properties
.
loginCustomerId=INSERT_LOGIN_CUSTOMER_ID_HERE
curl
Especifica el siguiente argumento de línea de comandos cuando ejecutes el comando curl
.
-H "login-customer-id: LOGIN_CUSTOMER_ID"
Funciones de usuario
La API de Google Ads no tiene su propio modelo de acceso independiente ni usa alcances de OAuth 2.0 separados para limitar la funcionalidad. Por ejemplo, la API de Google Ads usa los mismos alcances para las operaciones de solo lectura y de lectura y escritura. En cambio, la API de Google Ads sigue los mismos roles de usuario que admite Google Ads. Cuando se otorga un rol de usuario a una cuenta a nivel de la cuenta de administrador, las cuentas de la jerarquía heredan el rol. Si un usuario tiene roles en conflicto para una cuenta determinada, el nivel correcto se resuelve con la cuenta login-customer-id
especificada en la solicitud de la API.
En la siguiente tabla, se usa la jerarquía de cuentas del ejemplo anterior y se muestra el efecto de otorgar varios roles de usuario a los usuarios.
Usuario | Se otorgó el rol del usuario | login-customer-id | Nivel de acceso efectivo |
---|---|---|---|
SA1 | Acceso estándar en la cuenta M1 | M1 | Acceso estándar en M1, M2, A1, A2 y A3 |
U2 |
Acceso estándar en M2 Acceso de solo lectura en M3 |
M2 | Acceso estándar en M2, A1, A2 y A3 |
U2 |
Acceso estándar en M2 Acceso de solo lectura en M3 |
M3 | Acceso de solo lectura en M3, A1 y A4 |