OdooWiki OCA HUB

Social Media Advertising

social_media_advertising folder_open OCA/social open_in_new
Social Network Licencia: AGPL-3

Este módulo añade la capa de publicidad sobre Social Media Base: las campañas utilizadas para promocionar las publicaciones, los grupos que gestionan varias campañas como una unidad, las etiquetas que las clasifican y la vista de los anuncios servidos por el social media.

Todo es genérico, por lo que funciona con cualquier social media. Cada módulo conector conecta su propio social media a través de los hooks de extensión, y aporta su propio submenú bajo Advertising: los grupos de campañas, las campañas y los anuncios pertenecen a un único social media, por lo que nunca se listan mezclados.

Características principales:

  • Grupos de campañas y campañas, vinculados a un social media, a sus cuentas y a las publicaciones que promocionan.
  • Un segundo campo de campaña en una publicación, junto a la campaña de marketing de Odoo (utm.campaign) que proporciona Social Media Base: la campaña del propio social media, que contiene el presupuesto y la referencia remota. Ambas son independientes.
  • Etiquetas para clasificar las campañas.
  • Etapas declaradas por social media, de modo que cada social media mantiene su propio vocabulario de estados para campañas, grupos de campañas y anuncios en lugar de una lista fija.
  • Vista de anuncios que lista los creativos patrocinados de las cuentas conectadas con su estado, su campaña y la publicación que promocionan.
  • Un hook extensible para que cada módulo de social media pueda importar sus campañas.

Traducción automática al español (DeepSeek) de la descripción original de OCA, que está en inglés.

auto_awesome Qué hace este módulo

Generado por IA a partir del código · Odoo 17.0

Gestiona la publicidad en redes sociales en Odoo: replica cuentas publicitarias, grupos de campañas, campañas y anuncios de cualquier red social, y vincúlalos a las publicaciones que promocionan.

Este módulo añade una capa de publicidad sobre la base de redes sociales. Los usuarios pueden mantener, en Odoo, las cuentas publicitarias, los grupos de campañas, las campañas y los anuncios que reporta una red social, y conectarlos con las publicaciones que promocionan.

  • Aparece un nuevo menú Advertising bajo el menú raíz de redes sociales, con pantallas para cuentas publicitarias, grupos de campañas, campañas y anuncios. Se añade un menú Stages bajo Configuration.
  • Cada cuenta de red social obtiene un entorno (Test o Production) y una lista de cuentas publicitarias. Solo una cuenta publicitaria puede estar en uso a la vez, y debe pertenecer al mismo entorno que la cuenta.
  • Los grupos de campañas reúnen varias campañas gestionadas como una unidad; las campañas llevan un usuario responsable, etiquetas, una etapa, las cuentas a las que pertenecen y las publicaciones que promocionan. Se añade un segundo campo de campaña en las publicaciones y publicaciones, independiente de la campaña de marketing.
  • Los anuncios se reflejan desde la red social con sus estadísticas (impresiones, clics, conversiones, coste, fechas). Los anuncios que desaparecen se archivan, no se eliminan, para conservar su historial.
  • Los botones permiten a los usuarios obtener cuentas publicitarias, importar campañas y sincronizar anuncios. Una tarea programada comprueba si hay anuncios nuevos y activa un indicador en la cuenta; se notifica al usuario responsable.
  • Las reglas de acceso restringen las cuentas publicitarias, campañas, grupos y anuncios al usuario responsable de la cuenta, con reglas multiempresa.

Lo necesitan otros módulos

Menús que añade

AdvertisingStages
Modelos y campos (9)
  • social.tag · modelo nuevoname
  • social.post · amplía un modelo existentesocial_campaign_id, allow_social_campaign_ids
  • social.stage · modelo nuevocode, fold, name, level, media_id, sequence, applies_to
  • social.account · amplía un modelo existentead_ids (Ads), ad_count, environment, campaign_count, ads_need_update, campaign_group_count, advertising_account_ids (Advertising Accounts), advertising_account_urn (Advertising Account Reference), can_sync_advertising_accounts
  • social.post.account · amplía un modelo existentesocial_campaign_id
  • social.advertising.ad · modelo nuevocost, name, active, user_id (Responsible), media_id, stage_id (Status), account_id, company_id, media_type, remote_ref (Remote Reference), stage_code, campaign_id (Campaign), click_count, currency_id, stage_level, created_date (Created On), status_detail, last_sync_date (Last Fetch), post_account_id (Publication), conversion_count, impression_count, action_click_count, statistics_date_to (Statistics To), ad_unit_click_count, can_delete_remote_ad, statistics_date_from (Statistics From), advertising_account_id, advertising_account_is_current (Advertising Account In Use)
  • social.advertising.account · modelo nuevoname, media_id, account_id, company_id, is_current (In Use), remote_ref (Remote Reference), currency_id, environment, campaign_ids, campaign_count, last_sync_date (Last Fetch), campaign_group_ids, campaign_group_count
  • social.advertising.campaign · modelo nuevoname, active, tag_ids (Tags), user_id (Responsible), media_id (Media), stage_id (Stage), media_type, remote_ref (Remote Reference), account_ids (Accounts), stage_level, allow_media_ids (Allowed Media), campaign_group_id (Campaign Group), advertising_account_id
  • social.advertising.campaign.group · modelo nuevoname, active, media_id (Media), stage_id (Stage), media_type, remote_ref (Remote Reference), stage_level, campaign_ids, campaign_count, advertising_account_id

Texto generado por IA (DeepSeek) al leer el código de la versión 17.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. El módulo es muy grande y solo se ha leído una parte del código. Ver el código en GitHub

Disponibilidad por versión

Revisado: 2026-11-03
Confirmado (verificado en repositorio y rama) Estimado (sin verificar) Sin información

Estado de confirmación: 1 confirmada, 8 sin información de 9 versiones.

terminal Instalación y uso

Documentación de OCA · Odoo 17.0

Grupos de seguridad.

  • El módulo reutiliza los grupos de Social Media Base.
  • Social Media / User: Own Accounts solo ve las campañas de las que es responsable, y puede crear grupos de campañas y etiquetas, pero no eliminarlos.
  • Social Media / Administrator ve todas las campañas y es el único grupo que gestiona las etapas.

Entorno publicitario.

  • Vaya a Social Media > Configuration > Accounts, abra una cuenta y su pestaña Advertising.
  • Environment, en la pestaña Advertising, indica a la API publicitaria de la red social para qué entidades debe responder con esta cuenta.
  • Test solo ve las cuentas publicitarias de prueba de la aplicación, sus campañas y sus anuncios. Nunca se sirve nada a una audiencia real y nunca se factura nada, por lo que es el valor predeterminado.
  • Production ve las cuentas publicitarias reales. Una campaña creada desde Odoo en este entorno gasta un presupuesto real una vez que se activa en el gestor de campañas de la red social.
  • El entorno no afecta a la publicación de publicaciones. Una publicación publicada desde una cuenta configurada como Test es una publicación real en la red social, visible para todos. La configuración solo rige las funciones publicitarias.
  • Los dos entornos nunca comparten una cuenta publicitaria, por lo que cambiar el entorno descarta la cuenta publicitaria en uso.
  • La pestaña solo aparece cuando hay instalado un módulo conector publicitario para la red social de la cuenta.

Etapas.

  • Vaya a Social Media > Configuration > Stages > <social media>, un menú que cada módulo conector aporta para su propia red social.
  • Una etapa refleja un estado que la red social da a una campaña, un grupo de campañas o un anuncio. Pertenece a una red social y a un ámbito, establecidos en el campo Applies To.
  • Code es el valor que devuelve la red social, por ejemplo ACTIVE o PENDING_DELETION. Es lo que el módulo conector compara cuando importa, por lo que debe escribirse exactamente como lo envía la red social.
  • Level es el color de la insignia que muestra la etapa.
  • Este módulo no incluye ninguna etapa: cada módulo conector declara las etapas de su propia red social en su carpeta data/. Hasta que se instala un conector, el campo Stage no tiene ninguna opción entre la que elegir.

Módulos conectores.

  • Para resolver un estado remoto, llame a self.env["social.stage"]._get_stage(media_type, applies_to, code). Devuelve la etapa, o un recordset vacío cuando el conector no ha declarado ese código.
  • Para que una red social se pueda seleccionar en las campañas, extienda social.advertising.campaign._available_campaign() y añada su propio tipo de red social.
  • Para restringir las campañas de redes sociales que se pueden vincular a una publicación, extienda social.post._get_allow_social_campaign_domain().
  • Para congelar otro campo de la publicación una vez publicada, extienda social.post._get_locked_content_fields(), como hace este módulo con la campaña de red social.
  • Para listar las cuentas publicitarias de una red social, extienda social.account._advertising_media_types() con su propio tipo de red social, que es lo que hace que aparezca la pestaña Advertising, e implemente social.account._fetch_advertising_accounts() devolviendo un dict de valores por cuenta publicitaria, con remote_ref, name y environment. El módulo genérico se encarga de crear, actualizar y descartar los registros social.advertising.account, y de mantener el que está en uso.
  • Para añadir lo que solo informa su red social, herede social.advertising.account y declare sus propios campos, como hace Social Media Advertising Linkedin con el estado de publicación.
  • Para mostrar sus registros, aporte un menú con el nombre de su red social bajo social_media_advertising.social_advertising_menu, con un ir.actions.act_window por modelo filtrado en [("media_id.media_type", "=", "<your media type>")], y otro bajo social_media_advertising.social_stage_root_menu para sus etapas. Ambos menús de este módulo son solo contenedores: no contienen nada hasta que un conector los rellena, y Odoo los oculta mientras tanto.
  • Para importar las campañas y los grupos de campañas de una red social, implemente social.account.action_import_campaigns() y devuelva success, message y el número de groups, campaigns y ads importados. Es lo que llama el botón Fetch campaigns de la cuenta.
  • Para listar los anuncios, implemente social.account._fetch_ads(), devolviendo un dict de valores por anuncio, cada uno con su remote_ref, y social.account._fetch_ad_refs(), devolviendo solo las referencias: el primero es lo que refleja Sync ads, el segundo es la llamada barata con la que comprueba el cron de seis horas.
  • Para eliminar un anuncio en la red social, implemente social.advertising.ad._delete_remote_ad() y responda _compute_can_delete_remote_ad() para los anuncios en los que su API acepta una eliminación. Extienda _register_remote_ad_gone() para dejar en el anuncio archivado el estado que su red social da a uno eliminado, y _advertising_ad_action() para enviar al usuario de vuelta a la lista de su propia red social.
  • Para dar a un registro su dirección en la red social, implemente _get_web_url() en social.advertising.account, social.advertising.campaign, social.advertising.campaign.group o social.advertising.ad: el botón Open ... del formulario aparece en cuanto responde a uno.

Elige la cuenta publicitaria.

  • Ve a Social Media > Configuration > Accounts, abre una cuenta y su pestaña Advertising.
  • Haz clic en Fetch advertising accounts. Las cuentas publicitarias a las que puede acceder el miembro autorizado se traen desde la red social y se listan en solo lectura: reflejan la red social y nunca se envían de vuelta.
  • Solo se pueden usar las cuentas publicitarias del entorno actual, así que comprueba primero el Environment.
  • Haz clic en Use this account en la fila a la que quieres que pertenezcan las campañas y los anuncios. Se resalta y se marca como In Use, y cualquier otra queda sin marcar: una cuenta publicitaria a la vez por cuenta de red social.
  • Nada funciona hasta que una esté marcada. Cuando el entorno deja exactamente un candidato, se marca In Use automáticamente, tanto cuando se traen las cuentas publicitarias como cuando cambia el entorno. Con varios candidatos no se elige ninguno y tienes que elegir uno: las campañas, los grupos de campañas y los anuncios pertenecen todos a una única cuenta publicitaria en la red social, así que adivinar una trabajaría silenciosamente contra el anunciante equivocado. Una elección ya hecha nunca se reemplaza. Mientras ninguna esté en uso, se rechazan la importación y la creación de campañas con un mensaje que lo indica, y no se trae ningún anuncio.
  • Volver a traer actualiza la lista sin cambiar tu elección. Una cuenta publicitaria que ya no existe en la red social se elimina de la lista, salvo que la red social no devuelva ninguna cuenta: en ese caso no se elimina nada, porque una respuesta vacía no se puede distinguir de un fallo temporal.
  • Ve a Social Media > Advertising > <social media> > Advertising accounts para ver la lista de las cuentas publicitarias de esa red social, con filtros por entorno y por la que está en uso. Abre una para ver sus detalles, sus botones de estadística Campaigns y Campaign Groups, y el botón Open advertising account, que la abre en la red social en una nueva pestaña.
  • Un registro de campaña y de grupo de campañas guarda la cuenta publicitaria a la que pertenece cuando se crea en la red social o se importa desde ella, y nunca cambia después, salvo cuando la propia cuenta publicitaria desaparece de la red social en un Fetch advertising accounts: entonces se elimina y las campañas y los grupos de campañas quedan sin vínculo. Elegir otra cuenta publicitaria, por tanto, no mueve las campañas ya creadas: los botones de estadística siguen mostrando el historial tal como ocurrió. Una campaña o un grupo de campañas que no tiene cuenta publicitaria se vincula en el siguiente Fetch campaigns.

Botones de estadística de la cuenta.

  • Ve a Social Media > Configuration > Accounts y abre una cuenta.
  • Campaigns y Campaign Groups abarcan todas las cuentas publicitarias de la cuenta de red social, no solo la que está en uso.
  • Ads abre los anuncios de esa cuenta con la barra de búsqueda estándar, así que todavía se pueden filtrar por fecha, agrupar y guardar como favorito.
  • Los tres solo se muestran para una red social cuyo módulo conector gestione publicidad. El botón Marketing Campaigns junto a ellos viene de Social Media Base y se muestra siempre: una campaña de marketing no necesita ningún conector de publicidad.

Generar un grupo de campañas.

  • Ve a Social Media > Advertising > <social media> > Campaign Groups > New
  • Se abre una vista de formulario; rellena los campos obligatorios
  • Guarda
  • El botón de estadística Campaigns del formulario muestra el número de campañas del grupo y navega hasta ellas.
  • El botón Open campaign group abre el grupo de campañas en la red social, en una nueva pestaña. Solo aparece una vez que el grupo de campañas existe allí.

Generar una campaña.

  • Ve a Social Media > Advertising > <social media> > Campaigns > New
  • Rellena los campos. La red social es opcional; cuando se selecciona una red social, el grupo de campañas y las cuentas pasan a ser obligatorios.
  • Guarda
  • Los cambios en los campos principales de la campaña se registran en el chatter.
  • Una campaña puede dirigirse a varias cuentas de la misma red social. Un módulo conector puede restringirlo: las campañas de LinkedIn aceptan una sola cuenta, porque la campaña pertenece a una única cuenta publicitaria allí.
  • El botón Open campaign abre la campaña en la red social, en una nueva pestaña. Solo aparece una vez que la campaña existe allí.

Etapas de campaña y de grupo de campañas.

  • La barra de estado del formulario de la campaña y el campo Stage del grupo de campañas muestran el estado que la red social da al registro.
  • Solo se ofrecen las etapas de la red social seleccionada en la campaña, y solo aquellas cuyo Applies To coincide con el registro.
  • Las etapas las declara cada módulo conector, consulta la sección de configuración.

Vincular las campañas a una publicación.

Una publicación lleva dos campañas independientes, y ambas son opcionales:

  • Campaign es la campaña de marketing de Odoo (utm.campaign), la misma que usan los envíos, los leads y el seguimiento UTM. Se puede seleccionar cualquiera de ellas.
  • Social campaign es la campaña de la red social, la que tiene el presupuesto, el grupo de campañas y la referencia usada para publicar una publicación patrocinada. Solo se pueden elegir las campañas sociales cuya red social coincida con las cuentas seleccionadas en la publicación. Un módulo conector restringe aún más la lista con las reglas de su red social, así que lo que se ofrece son las campañas que realmente pueden patrocinar esta publicación: consulta los formatos de anuncio de LinkedIn en Social Media Advertising LinkedIn.
  • Editar el contenido de la publicación puede invalidar la campaña social ya elegida. Cuando eso ocurre, el campo se vacía en cuanto cambia el contenido, en lugar de dejar que la publicación falle cuando se publique. Elige otra campaña entre las que se ofrecen entonces.

Ambas se propagan a las publicaciones de la publicación. Una publicación importada desde la red social conserva lo que su conector fue capaz de resolver.

Ambas quedan congeladas, como el resto del contenido de la publicación, en cuanto una de sus cuentas publica: deciden cómo sale la publicación, así que cambiarlas después ya no describiría lo que está en línea.

Anuncios.

  • Ve a Social Media > Advertising > <social media> > Ads
  • La vista está vacía hasta la primera sincronización. El botón Sync ads trae los creativos patrocinados de cada cuenta de la que el usuario es responsable, y es lo único que hace: la vista muestra la imagen de la última sincronización, no lo que la red social sirve ahora mismo. Cada anuncio lleva el momento en que se trajo por última vez.
  • Un anuncio se nombra a partir del texto de la publicación que promociona, que es por lo que se reconoce. Un anuncio que promociona una publicación que esta base de datos no conoce se nombra Post not available.
  • Cada anuncio muestra su estado, su campaña, la publicación que promociona y sus estadísticas. Las tarjetas no llevan imagen, así que todas mantienen la misma forma tanto si la publicación promocionada tiene una como si no: las imágenes se muestran en la publicación, que abre el botón Publication. El botón Open ad abre el propio anuncio en la red social, no la campaña a la que pertenece. El estado es el que fija el anunciante en la red social, con el nombre y el color de la etapa correspondiente; el motivo por el que la red social sirve o no el anuncio solo se muestra en el formulario del anuncio.
  • Las estadísticas cubren la ventana que se muestra junto a ellas. No son las cifras de toda la vida del anuncio.
  • La barra de búsqueda es la estándar: filtra por fecha de creación, agrupa por cuenta, cuenta publicitaria, campaña o estado, y guarda un favorito. El panel lateral filtra por estado y por cuenta.
  • Solo se traen los anuncios de la cuenta publicitaria en uso. Los de las otras cuentas publicitarias quedan como se sincronizaron por última vez y se marcan Advertising account not in use; el filtro Advertising account in use los deja fuera.
  • Eliminar una cuenta se lleva permanentemente consigo lo que solo esa cuenta podía alcanzar: sus cuentas publicitarias, sus anuncios, y las campañas y grupos de campañas que existen en la red social. Lo que se escribió aquí y nunca se publicó se conserva, y solo pierde la cuenta que se va; también una campaña compartida con una cuenta que permanece, y un grupo que todavía tiene una campaña de otro.
  • Un anuncio que la red social deja de responder se archiva, nunca se elimina: sus estadísticas son el único rastro que queda de lo que hizo, y el conector deja en él el estado que su red social da a un anuncio eliminado. El botón Delete permanently, reservado a los administradores y a los anuncios archivados, es lo que elimina ese historial de Odoo cuando no se quiere; la confirmación dice lo que se pierde. No se elimina nada en la red social, que de todos modos ya no sirve ese anuncio.
  • El botón Delete ad elimina el anuncio en la red social, no solo en Odoo, y no se puede deshacer. Solo se muestra para la red social cuyo conector elimina un anuncio, y solo el usuario responsable de la cuenta y los administradores de la red social pueden pulsarlo. Lo que responde la red social decide lo que queda en Odoo: un anuncio que la red social elimina al momento pierde también su registro aquí, junto con sus estadísticas, mientras que uno que solo se marca para eliminación conserva su registro con el estado que la red social informa hasta que se procese.
  • Un anuncio que la red social deja de servir se archiva, nunca se elimina, para que sus estadísticas sobrevivan. Archivar una cuenta archiva también sus anuncios; eliminarla los elimina.
  • Un cron comprueba cada seis horas si la red social sirve anuncios que esta base de datos todavía no conoce. No se trae ningún anuncio: solo levanta un indicador en la cuenta. El usuario responsable recibe un aviso en la vista de anuncios, y la insignia New ads available permanece ahí entre recargas hasta que se sincronicen los anuncios, así que el usuario decide cuándo pulsar Sync ads.

Fetch campaigns.

  • El formulario de la cuenta proporciona un botón Fetch campaigns cuando el módulo conector lo añade. Cada módulo de red social implementa la importación real; una notificación muestra el resultado.
  • La importación también puede vincular las publicaciones ya traídas desde la red social con la campaña a la que pertenecen, cuando el conector es capaz de resolverlo.

Archivado.

  • Archivar una cuenta archiva también sus campañas y sus grupos de campañas.
  • Una campaña compartida por varias cuentas solo se archiva cuando lo están todas sus cuentas, ya se archiven juntas o una a una, y un grupo de campañas solo se archiva cuando no le queda ninguna campaña activa.
  • Desarchivar la cuenta restaura sus campañas y sus grupos de campañas. Los anuncios no se recuperan: un anuncio también se archiva cuando la red social deja de servirlo, así que desarchivarlos todos resucitaría los que descartó, y la siguiente sincronización es lo que restaura los que todavía se sirven.
  • Eliminar una cuenta elimina permanentemente, en Odoo, las campañas y los grupos de campañas que existen en la red social; no se elimina nada en la propia red social. Una campaña que solo se escribió en Odoo y nunca llegó a la red social se conserva, y solo pierde el vínculo con la cuenta; un grupo de campañas se conserva mientras todavía tenga una campaña.

Propiedad de la campaña.

  • Cada campaña tiene un Responsible user, establecido en quien la creó. Un usuario normal del grupo Social Media / User: Own Accounts solo ve las campañas de las que es responsable; el grupo Social Media / Administrator las ve todas.

Notificaciones que puede que nunca veas.

  • La comprobación de nuevos anuncios se ejecuta cada seis horas y levanta un aviso en la vista de anuncios cuando la red social sirve un anuncio que esta base de datos no conoce. Necesita una cuenta publicitaria marcada como en uso en la cuenta de red social: sin una no hay anunciante al que preguntar, la comprobación no lee nada y el aviso nunca aparece.

Traducción automática al español (DeepSeek) de la documentación original de OCA; los comandos y el código no se traducen. Sin información verificada en OCA: Instalación.

info

Datos importados de GitHub: esta ficha refleja la última revisión del catálogo, no una consulta en directo. Verifica siempre en la documentación del módulo y en staging antes de instalar en producción.