← Todos los proyectosDrupal commerce · Automatización Google Ads

Doors.city

Marketplace de puertas + automatización de ads controlada por costo.

Sitio de comercio Drupal para puertas blindadas e interiores con configurador custom, junto con automatización Google Ads en Symfony 7 que corre campañas Search controladas por costo contra una región ucraniana. Objetivo: CPC < 3 UAH, CPA < 120 UAH, cero spend desperdiciado.

Sector
Comercio · Ucrania
Tecnologías
Drupal 10 · Constructor React · /sklad-export.json · Symfony 7.1 · PostgreSQL 16 · google-ads-php v18+ · Claude API · gtag.js · Hetzner CX22 · UI ucraniana
Doors.city
doors.city
En cifras
Modelos de puertas
109
CPC objetivo
< 3 ₴
CPA objetivo
< 120 ₴
Spend desperdiciado
0
01 — Acerca de

Marketplace + motor de ads, cableados juntos

Doors.city es un sitio de comercio Drupal para puertas blindadas e interiores con configurador custom, grid de precios de entrega, y un constructor (React) que permite a compradores diseñar una puerta antes de ordenar. El catálogo expone un feed `/sklad-export.json` para herramientas downstream.

Sobre ese catálogo se sienta una app Symfony 7 de automatización Google Ads que ingesta el feed JSON, corre `KeywordPlanIdeaService` contra los nombres de producto, genera candidatos de campaña + ad-group + ad-copy, y corre un optimizador nocturno que pausa cualquier keyword con ≥ 30 clicks y 0 conversiones.

El objetivo no es "publicar ads" — es el CPA más bajo alcanzable por un operador en una región ucraniana. Manual CPC con biblioteca de keywords negativas le gana a PMax hasta que tengas ≥ 30 conversiones/mes para alimentar Target CPA.

02 — Desafío

Correr Google Search Ads rentables para 109 SKUs contra una región ucraniana sin un marketer pago — y mantener spend desperdiciado (≥30 clicks, 0 conversiones) en cero, automáticamente.

03 — Solución

Drupal commerce + feed JSON de productos + orquestador Google Ads en Symfony 7. Keyword Planner via google-ads-php, biblioteca de negativos, copy RSA generado por Claude API (operador confirma antes de publicar), optimizador nocturno de bids, y tracking de conversiones gtag.js en la tienda.

04 — Qué está vivo (o entregándose)

Nueve piezas que lo mantienen unido

  1. 01

    Catálogo Drupal commerce

    109 modelos de puertas con taxonomía completa (material, serie, dimensiones, niveles de precio, fotos). PHP 8.3, MariaDB, multi-idioma ready.

  2. 02

    Configurador de puertas

    SPA React montada en el sitio Drupal permite a compradores configurar dimensiones, acabado, cristal y herrajes antes de cotizar. Comparte taxonomía Drupal.

  3. 03

    Feed /sklad-export.json

    Endpoint único expone el catálogo completo con deltas incrementales `?since=`. Usado por el orquestador Symfony y Google Merchant Center (fase 3).

  4. 04

    Orquestador ads Symfony 7

    PHP 8.3 + PostgreSQL 16 corriendo en una caja Hetzner separada de €4. Modelo de datos multi-tenant: cuentas Google Ads arbitrarias × feeds fuente.

  5. 05

    UI Keyword Analyzer

    KeywordPlanIdeaService + GenerateKeywordHistoricalMetrics envueltos en UI admin mostrando volumen / rango CPC / competencia / tendencia por keyword.

  6. 06

    Biblioteca de keywords negativas

    Negativos curados ("барато", "usado", "reparación") + overrides por campaña + auto-sugerencias de reportes de spend desperdiciado.

  7. 07

    Asistente AI de ad copy

    Claude API genera candidatos de headline/descripción RSA desde metadata de producto. Operador elige de shortlist; nada se publica sin confirmación.

  8. 08

    Motor de optimización de bids

    Runner nocturno de reglas: sube / baja / pausa bids por CPA, ROAS, CTR, quality score. Wasted-spend killer: 30 clicks 0 conversiones → auto-pausa.

  9. 09

    Tracking de conversiones

    gtag.js en doors.city trackea clicks en teléfono, envíos de formulario, y vistas de página gracias. Realimenta Target CPA cuando volumen cruza 30 conv/mes.

05 — Stack

Dos cajas, un feed

doors.city corre en el host Drupal existente. La automatización Google Ads está aislada en su propia caja Hetzner CX22 de €4 para que un deploy Symfony no tumbe la tienda. PostgreSQL 16, gRPC via php-grpc a Google Ads API v18+.

Drupal 10
Catálogo commerce · taxonomía · PHP 8.3
Constructor React
Configurador de puertas en Drupal
/sklad-export.json
Feed incremental de catálogo
Symfony 7.1
Orquestador Google Ads · Doctrine ORM
PostgreSQL 16
Mirror de campañas + productos
google-ads-php v18+
gRPC · Keyword Planner · Search Ads
Claude API
Generación de candidatos RSA
gtag.js
Conversiones teléfono + form + gracias
Hetzner CX22
Caja dedicada €4/mes · aislada de Drupal
UI ucraniana
uk_UA en todo · inglés solo en logs

¿Necesitas ads rentables sobre un catálogo ajustado?

La mayoría del tooling Google Ads asume que tienes un equipo de marketing y presupuestos escala-PMax. Este stack está construido para un operador y una región — el formato más barato controlable, automatizado donde no rompe atribución.

Siguiente proyectoComercio · Herramientas

Window Calculator Builder

Calculadora de precios de ventanas y constructor de pedidos

Nuevos proyectos

Hablemos.

[email protected]

Cuéntanos qué estás construyendo. Recibirás respuesta y una primera estimación en 24 horas.

Rellenar el brief →
Cartagena, España
Europa y Latinoamérica
+34 624410817