$_
instabiz.
Recurso
Edicion 2026
v1.0
// Meta Marketing API · Recurso Instabiz
Meta Ads
desde la terminal

Pipeline de 6 fases para deployar campañas Meta sin abrir Ads Manager. Token, video upload, targeting, UTMs, pixel. Para agencias y devs que ya pasaron el limite de la UI.

Devs y agencias avanzadas
Espanol · Argentina
~9 paginas
instabiz.com.ar
02
// indice general
// Recurso Instabiz

Indice

01
Por que automatizar Meta Ads
p. 03
02
Setup: token y permisos
p. 04
03
Pipeline de 6 fases
p. 05
04
Geographic targeting (la trampa)
p. 06
05
UTMs limpios
p. 07
06
Troubleshooting
p. 08
01
// por que automatizar
// Seccion 01

Por que automatizar

Ads Manager funciona perfecto para 1-3 cuentas con pocos creativos. Pero cuando manejas 15+ clientes con 8 creativos por mes cada uno, hacer click en la UI te roba 20 horas semanales que no pagan.

Cuando si conviene

Cuando no conviene

// La regla

Si ya hiciste 5 veces lo mismo en Ads Manager, la sexta automatizalo. Antes, no.

02
// setup
// Seccion 02

Setup: token y permisos

Antes de tirar una linea de codigo, esto: la app de Meta Developer, el system user, los permisos del token. 90% de los errores de la API vienen de saltarse este paso.

01

Crear app en developers.facebook.com

Type: Business. Product: Marketing API. App Mode: empieza en Development, pasa a Live cuando este verificada.

02

Crear System User

En business.facebook.com > Settings > Users > System Users. Role: Admin. Sin esto, los tokens caducan en 60 dias y rompen produccion.

03

Asignar la cuenta de ads

Settings > Ad Accounts. Asignar la cuenta al system user con Full Control. Sin Full Control no podes crear campañas, solo leer.

04

Generar el token

Permisos minimos: ads_management, ads_read, pages_read_engagement, pages_manage_ads. Guarda en .env.

Test del token

$ curl "https://graph.facebook.com/v21.0/me?access_token=$META_ACCESS_TOKEN"
# Si te devuelve { "name": "...", "id": "..." } estas bien.
# Si te devuelve un error code 190, regenera el token.
// Atencion

Tokens personales caducan en 60 dias. System User tokens no caducan. Si vas a poner esto en produccion, NUNCA uses tu token personal.

03
// pipeline 6 fases
// Seccion 03

Pipeline de 6 fases

Asi corremos un deploy en Instabiz. Cada fase es un step independiente, cada uno se loguea en una tabla ad_deploy_log para auditoria. Si una falla, retomas desde ahi.

01

Gather context

Query a la DB: client, ad account mapping. Preguntar al usuario: objetivo, audiencia, region, budget, landing, asset video.

02

Create campaign record

Insert campaign en DB con status draft. Registrar video assets con file paths y formato.

03

Generate ad copy

Para cada video: primary text, headline, description, CTA type. Mostrar TODO al usuario para review. Nada se guarda hasta que aprueba.

04

Generate UTMs

Campaign slug: {client}-{month}-{year}-{objective}. Content tag: v{n}-{stage}-{slug}. Sin redundancia de fechas, sin nombres internos.

05

Pre-deploy checklist

10 puntos a verificar: assets existen, copy aprobado, UTMs limpios, geo validado, landing live, page id, mapping activo, budget, content, no policy violations. NADA procede sin aprobacion explicita.

06

Deploy a Meta

Upload videos (con resume), create campaign PAUSED, auto-discover pixel, create ad set con Advantage+, create multi-format creatives, create ads con UTM tracking. Cada paso a ad_deploy_log.

04
// geo targeting
// Seccion 04

Geographic targeting la trampa

El error que mas plata cuesta es targetear la region equivocada. La API de Meta usa keys numericas que parecen aleatorias y no se documentan bien. SIEMPRE validar antes de deployar.

Como validar una region key

$ curl "https://graph.facebook.com/v21.0/search?type=adgeolocation\
&location_types=region&q=Buenos+Aires&access_token=$TOKEN"

La respuesta tiene los campos key, country_code, name. Verifica los 3 antes de usar la key.

Errores tipicos

// Trampa 01

La key 3901 parece de Canadá. Es Uruguay. Si copias keys de tutoriales sin validar, terminas pagando ads en otro pais.

// Trampa 02

Si pones countries: ["AR"] Y regions: [...] al mismo tiempo, Meta target todo Argentina, ignorando las regions. Usa una u otra, nunca las dos.

Patron correcto para AR

# Solo Capital Federal y GBA:
{
  "geo_locations": {
    "regions": [
      { "key": "2407" }   # Buenos Aires
    ]
  }
}

# Toda Argentina:
{
  "geo_locations": {
    "countries": ["AR"]
  }
}
05
// utms
// Seccion 05

UTMs limpios

UTMs sucios rompen tu analitica para siempre. Una vez que se mete data malformateada, separar reportes despues es manual y caro. Asi los hacemos limpios.

Estructura

utm_source meta
Siempre minuscula. meta, no Meta ni Facebook.
utm_medium paid_social
Estandar para todo lo pago de redes. Diferencia de organico (social).
utm_campaign {client}-{month}-{year}-{objective}
Ejemplo: acme-marzo-2026-leads. Slug del cliente, mes en español, año, objetivo.
utm_content v{n}-{stage}-{descriptive-slug}
Ejemplo: v1-tof-rate-hikes-news. Version, stage del funnel, slug descriptivo.

Reglas estrictas

Patron URL completa

https://acme.com.ar/landing
  ?utm_source=meta
  &utm_medium=paid_social
  &utm_campaign=acme-marzo-2026-leads
  &utm_content=v1-tof-rate-hikes-news
06
// troubleshooting
// Seccion 06

Troubleshooting

Errores tipicos que vas a ver y como salir de ellos rapido.

Video upload fails / timeout
Causa: archivo demasiado grande, formato invalido, o conexion inestable.
Fix: verificar < 4GB, MP4 H.264. Re-correr deploy: el sistema soporta resume, salta los uploaded.
No pixel found for ad set
Causa: la cuenta no tiene pixel asignado o el pixel no esta instalado en la landing.
Fix: crear pixel en Events Manager, instalar en landing, validar con Test Events, re-deploy.
Wrong region key in targeting
Causa: copiaste una key sin validar y resulto ser de otro pais.
Fix: POST /{adset_id} con geo_locations.regions[].key correcto (validado con search adgeolocation).
Token expired (code 190)
Causa: token personal con vencimiento de 60 dias.
Fix: regenerar token desde el system user (esos NO caducan). Actualizar .env.
App Not Approved for [permission]
Causa: la app esta en Development Mode y queres usarla con un account no asignado.
Fix: Pasar app a Live Mode, o asignar la account directo al system user (en Development funciona si esta asignada).
Partial deploy failure
Causa: alguna fase del pipeline tiro error y dejo la campaña a medio crear.
Fix: UPDATE ad_campaigns SET status='ready', deploy_error=NULL, re-correr. El sistema retoma donde quedo.
instabiz.
Recurso 2026
v1.0 · ES-AR
// Sobre Instabiz

Automatizar no es ahorrar tiempo.
Es comprar pensamiento.

Instabiz es una agencia de escalado para marcas. Trabajamos con +100 ecommerces en LATAM combinando media buying, automatizaciones e IA aplicada al dia a dia operativo.

Esta guia es uno de los recursos gratuitos que publicamos cada mes. Si queres recibir el resto, seguinos en redes y descargalos en recursos.instabiz.com.ar.

Necesitas armar este pipeline para tu agencia?

Te ayudamos a montar el setup completo: app Meta, system user, DB schema, pipeline. En 2 semanas estas deployando 10 campañas en una mañana.

instabiz.com.ar/contact

© 2026 Instabiz LLC · Todos los derechos reservados
09 / 09