Blog benéfico

Todo lo que necesitas saber sobre Charitable y nuestro equipo.

AWARE: Banner de la campaña 30 for 30

Un vistazo a la peculiar recaudación de fondos "30 for 30" de AWARE Whistler (Tutorial)

Última actualización el

  • Por

AWARE Whistler es una organización benéfica comprometida con la protección del medio ambiente natural de Whistler, Canadá. Este año marca su 30 aniversario como organización y celebra la ocasión lanzando la recaudación de fondos 30 for 30.

El objetivo de la recaudación de fondos "30 for 30" es recaudar 60.000 $, de los cuales 30.000 $ provendrán de empresas y 30.000 $ de donaciones individuales.

AWARE está utilizando el enfoque de recaudación de fondos basado en campañas de Charitable para impulsar esta campaña, con dos campañas de recaudación de fondos individuales configuradas: una para empresas y otra para individuos.

El desafío

Por supuesto, las campañas únicas como esta tienden a tener necesidades únicas, y la recaudación de fondos "30 for 30" no es una excepción.

Dado que una de las dos campañas de recaudación de fondos se centra específicamente en obtener donaciones de empresas, se necesita un campo "Nombre de la empresa" en el formulario de donación de esa campaña. Además, cuando se muestran los donantes en el sitio (usando el shortcode o widget de Donantes), debe mostrarse el nombre de la empresa, no el nombre de la persona que dona.

Afortunadamente, la flexibilidad de Charitable se adapta perfectamente a las necesidades de AWARE. Veamos cómo.

Paso 1. Añadir un campo "Nombre de la empresa"

Lo primero que necesitamos hacer es crear un nuevo campo de donación, utilizando la API de Campos de Donación.

Veamos el código necesario para lograrlo:

/**
 * STEP 1: Register the "Company Name" Donation Field.
 *
 * On the `init` hook, we create a new Donation Field. It has a
 * key of `company_name` (this is how we will reference it later),
 * and it's set up as a required field in the donation form, shown
 * after the `last_name` field.
 */
add_action( 'init', function() {
        /**
         * Add a "Company Name" field.
         */
        $field = new Charitable_Donation_Field(
            'company_name',
            [
                'label' => 'Company Name',
                'data_type' => 'user',
                'donation_form' => [
                    'show_after' => 'last_name',
                    'required' => true,
                ],
                'admin_form' => true,
                'show_in_meta' => true,
                'show_in_export' => true,
                'email_tag' => [
                    'description' => 'The company name',
                ],
            ]
        );

        /**
         * Register the field.
         */
        charitable()->donation_fields()->register_field( $field );
}, 100 );

Aquí hay un poco de código. En primer lugar, justo en la parte superior, estamos configurando una función para que se ejecute en el hook init. Este es el mejor hook para usar cada vez que desee registrar un nuevo campo de donación.

Dentro de nuestra función, creamos un nuevo Campo de Donación con el objeto Charitable_Donation_Field. Echemos un vistazo más de cerca a esa parte:

$field = new Charitable_Donation_Field(
     'company_name',
     [
         'label' => 'Company Name',
         'data_type' => 'user',
         'donation_form' => [
             'show_after' => 'last_name',
             'required' => true,
         ],
         'admin_form' => true,
         'show_in_meta' => true,
         'show_in_export' => true,
         'email_tag' => [
             'description' => 'The company name',
         ],
     ]
 );

Lo que estamos haciendo aquí es crear un campo con una clave company_name (la necesitaremos más adelante). Hemos establecido una etiqueta, la hemos definido como un campo de usuario y hemos establecido algunas reglas básicas sobre cómo debe aparecer en el formulario de donación: justo después del campo last_name y como campo obligatorio.

También lo hemos configurado para que se muestre en el formulario de donación del administrador, en los metadatos de la donación y en el archivo de exportación de donaciones. Incluso le hemos dicho a Charitable que cree una etiqueta de correo electrónico para él, para que podamos usarla en nuestros correos electrónicos de recibo de donaciones.

Finalmente, registramos este campo con la API de Campos de Donación:

charitable()->donation_fields()->register_field( $field );

Paso 2. Mostrar el campo "Nombre de la empresa" solo en una campaña

Por defecto, cuando configuras un campo de donación, aparecerá en el formulario de donación de todas las campañas. Sin embargo, para la campaña "30 for 30", AWARE solo quiere que el campo aparezca en el formulario de donación de la recaudación de fondos para empresas.

Así es como lo logramos:

/**
 * STEP 2: Only show the field on a specific campaign.
 *
 * We only want the field to show up on a single campaign's
 * form, so we *remove* it from all other campaigns' donation
 * forms.
 */
add_filter( 'charitable_donation_form_user_fields', function( $fields, Charitable_Donation_Form $form ) {
    /**
     * Check the campaign ID of the donation form being
     * shown. If it isn't the one where we want the field,
     * remove the field using the unset() function.
     */
    if ( 123 != $form->get_campaign()->ID ) {
        unset( $fields['company_name'] );
    }

    return $fields;
}, 10, 2 );

La forma en que resolvemos este problema es eliminando el campo company_name cuando no estamos mostrando el formulario de donación de la campaña empresarial. Toda la magia ocurre aquí:

if ( 123 != $form->get_campaign()->ID ) {
     unset( $fields['company_name'] );
 }

En este caso, imaginamos que la campaña de Negocios tiene un ID de 123. Así que, cuando miramos los campos de un formulario en particular, comprobamos el ID de la campaña del formulario y, si no es 123, usamos la función unset() para deshacernos de nuestro campo, refiriéndonos a él por la clave de company_name, que establecimos en el Paso 1.

Paso 3. Personaliza el nombre del donante en el shortcode o widget de Donantes

Ahora que hemos añadido nuestro campo de Nombre de Empresa, todo lo que queda es usar eso en lugar del nombre y apellido del donante al mostrar donaciones a la campaña de Negocios.

Veamos el código:

/**
 * STEP 3: Use the company name for the donor name.
 *
 * When showing the donor name for a particular donation,
 * check if the donation was to the campaign with our
 * Company Name field. If it was, show the Company Name
 * instead of the individual's name.
 */
add_filter( 'charitable_donor_loop_donor_name', function( $name, $args ) {
    /**
     * Get the Donor object from the argument array.
     */
    $donor = $args['donor'];

    /**
     * Check if there is a Donation object associated
     * with this Donor.
     */
    $donation = $donor->get_donation();

    if ( ! $donation ) {
        return $name;
    }

    /**
     * Get the campaign that received the donation.
     */
    $campaign_id = current( $donation->get_campaign_donations() )->campaign_id;

    /**
     * If this was a donation to our campaign,
     * let's change the donor name.
     */
    if ( 123 == $campaign_id ) {
        $name = $donation->get( 'company_name' );
    }

    return $name;
}, 15, 2 );

En primer lugar, observa que esto está configurado como una función llamada en el hook charitable_donor_loop_donor_name. Usamos este hook ya que se muestra siempre que se muestra una lista de donantes con el widget de Donantes o el shortcode.

Dentro de la función, primero obtenemos el objeto Charitable_Donor del parámetro $args. Luego obtenemos el objeto Charitable_Donation a través del método $donor->get_donation():

/**
 * Check if there is a Donation object associated
 * with this Donor.
 */
$donation = $donor->get_donation();

if ( ! $donation ) {
    return $name;
}

Puede que te preguntes por qué comprobamos si $donation está establecido. La razón es que a veces, Charitable_Donor no está configurado con una donación específica. Un ejemplo es cuando el widget/shortcode de Donantes está configurado para agrupar múltiples donaciones del mismo donante en una; en ese caso, no se llama a ningún objeto Charitable_Donation, y simplemente mostraremos el nombre del donante.

Por lo tanto, una advertencia importante de este enfoque es que solo funcionará si el widget/shortcode de Donantes está configurado para mostrar cada donación individualmente, en lugar de agrupar múltiples donaciones de la misma persona.

A continuación, usamos el objeto Charitable_Donation para averiguar a qué campaña se donó y comprobamos si es nuestra campaña de Negocios (la que tiene un ID de 123):

/**
 * Get the campaign that received the donation.
 */
$campaign_id = current( $donation->get_campaign_donations() )->campaign_id;

/**
 * If this was a donation to our campaign,
 * let's change the donor name.
 */
if ( 123 == $campaign_id ) {
    $name = $donation->get( 'company_name' );
}

La última parte de esto simplemente comprueba que $campaign_id es 123. Si lo es, obtenemos el nombre de la empresa de la siguiente manera:

$donation->get( 'company_name' );

Ten en cuenta que company_name coincide con la clave del campo de donación que registramos en el paso 1.

¡Y con eso, hemos terminado!

La solución completa

Puedes ver todo el código reunido en un solo lugar en nuestra biblioteca de código de Github:

https://github.com/Charitable/library/blob/master/tutorials/new-donation-field-plus-customized-donor-name.php

Para verlo en acción – y si te gustaría mostrar tu apoyo al importante trabajo realizado por AWARE Whistler – visita la página 30 for 30 Fundraiser en su sitio web.

Palabra final

Si disfrutaste de este tutorial y te gustaría que escribiéramos uno sobre un tema diferente, ¡háznoslo saber! Puedes contactarnos por correo electrónico rellenando el formulario en nuestra página de Soporte, o dejando un comentario abajo.

Divulgación: Nuestro contenido es compatible con los lectores. Esto significa que si haces clic en algunos de nuestros enlaces, podemos ganar una comisión. Solo recomendamos productos que creemos que aportarán valor a nuestros lectores.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Recibe consejos y recursos gratuitos directamente en tu bandeja de entrada, junto con más de 60.000 personas.

Únete a nuestro boletín

No te enviaremos spam. Solo enviamos un correo electrónico cuando creemos que realmente te ayudará. ¡Date de baja en cualquier momento!

Vídeo destacado:

Mira más vídeos en nuestro canal de YouTube.

Novedades en Benéfico

Ver las últimas actualizaciones
🔔 Suscríbete para recibir nuestras últimas actualizaciones
📧 Suscribirse a correos electrónicos

Suscripción por correo electrónico

Únete a nuestro boletín

No te enviaremos spam. Solo enviamos un correo electrónico cuando creemos que realmente te ayudará. ¡Date de baja en cualquier momento!

automatización actualizar

⚡ Creador Visual de Automatización: ¡Arrastrar y Soltar Sin Código!

Charitable Automation Connect 2.3.0 presenta el Generador de Automatización Visual, un lienzo a pantalla completa que presenta cada automatización como un flujo de tarjetas conectadas: un desencadenador, condiciones opcionales y una lista de acciones que se ejecutan en orden.

🧩 Muchas acciones, un desencadenador: Etiqueta a un donante, envía un correo electrónico, agrega una nota y activa una llamada webhook desde un solo evento, arrastrado en cualquier orden.

✉️ Actúa dentro de Charitable: Las nuevas acciones Enviar correo electrónico, Etiquetar donante y Agregar nota de donante se ejecutan sin necesidad de un servicio externo.

🔤 Etiquetas de combinación: Personaliza correos electrónicos y notas con campos en vivo como {first_name}, {total} y {campaign_name}.

🔁 Aplicar a donantes existentes: Ejecuta Etiquetar donante y Agregar nota de donante contra los donantes que ya tienes.

🖥️ Lienzo o Simple: Cambia de vista en cualquier momento, y las automatizaciones creadas antes de la 2.3.0 siguen funcionando sin cambios.

Lee más aquí.

Integración actualizado

📬 Presentamos Brevo para Charitable: Convierte donantes en suscriptores automáticamente

El momento en que un donante realiza una donación es cuando está más comprometido. Con la nueva integración de Brevo para Charitable, puedes convertir automáticamente a esos donantes únicos en suscriptores a largo plazo sin tocar una sola hoja de cálculo.

Simplemente recopila el consentimiento del donante directamente en tu formulario de donación y comienza tu serie de bienvenida de inmediato.

Novedades:

🔄 Sincronización automática de suscriptores: Los nuevos donantes que aceptan se añaden directamente a tu lista de contactos de Brevo tan pronto como se procesa su pago, sin necesidad de exportaciones manuales ni importaciones de CSV.

🎯 Control granular de consentimiento y opción de suscripción: Personaliza la etiqueta de tu casilla de verificación, elige si se marca por defecto o no, o activa la doble opción de suscripción de Brevo para mantener tu lista limpia y conforme.

📋 Mapeo de listas por campaña: Dirige a los donantes a tu lista de correo global o mapea campañas específicas a listas de Brevo dirigidas para adaptar tus mensajes de seguimiento.

⚡ Configuración en 5 minutos: Conéctate al instante pegando tu clave API de Brevo en la configuración de Newsletter, mapea tus campos de contacto y empieza a crear tu lista de correo en piloto automático.

¿Listo para hacer crecer tu lista de correo? Brevo ya está disponible a partir del plan Charitable Plus. ¡Conecta tu cuenta hoy mismo!

donaciones recurrentes actualizado

💳 Presentamos Actualizaciones de Tarjeta: ¡Soluciona Tarjetas Caducadas Sin Perder Suscripciones!

Las tarjetas de crédito caducadas o actualizadas son una de las mayores fugas silenciosas en la recaudación de fondos recurrente. Con las actualizaciones de tarjetas en la extensión de donaciones recurrentes, los donantes ahora pueden actualizar sus detalles de pago directamente, manteniendo intactas su suscripción, su calendario y su historial de donaciones.

Sin planes cancelados, sin historial perdido y sin dolores de cabeza administrativos para tu equipo.

Novedades:

⚡ Autoservicio en 30 Segundos: Los donantes obtienen un botón dedicado de “Actualizar Tarjeta” en su panel que abre el Portal de Clientes seguro y compatible con PCI de Stripe para actualizar los detalles de la tarjeta al instante.

🔒 Acceso Seguro y Delimitado: Delimitado exclusivamente a las actualizaciones de tarjetas por defecto, los donantes no pueden cancelar ni alterar accidentalmente sus planes desde el portal, manteniendo tus webhooks y datos sincronizados.

🤝 Soporte Asistido por Administrador: ¿Ayudando a un donante por teléfono? Abre su portal seguro de Stripe con un solo clic desde tu pantalla de administrador o genera un enlace de actualización de un solo uso para enviárselo por correo electrónico.

📋 Pista de Auditoría Automática: Cada actualización de método de pago se registra automáticamente con una marca de tiempo tanto en los registros generales del sistema como en el perfil del donante individual.

¡Listo para proteger tus ingresos recurrentes? Obtén el plan Plus o Pro y actualiza Donaciones Recurrentes a la versión 2.3.0+ y activa “Actualizar Método de Pago” en tu Configuración hoy mismo.

Integración constructor de páginas

¡Fans de Divi, regocíjense! ¡Módulo nativo de barra de progreso de campaña para Divi 5!

Con nuestro nuevo módulo nativo para Divi 5, puedes anclar tus micrositios con estadísticas de recaudación de fondos en tiempo real directamente en el lienzo visual. Así es como funciona y por qué vale la pena activarlo hoy.

Crea actualizaciones de campaña que sean VISUALES Y EN VIVO. También puedes:

📊 Barra de progreso de la campaña: Inserta una barra de progreso en vivo en cualquier diseño de Divi 5 y muestra el progreso de los objetivos en tiempo real.

🎨 Controles de estilo avanzados: Personaliza fácilmente el color de la barra y el seguimiento, la altura y el radio para que coincidan perfectamente con tu marca.

👁️ Listo para el constructor visual: Configura y previsualiza todo directamente en el lienzo de Divi como un módulo de primera clase.

🔁 Renderizado idéntico: El mismo motor exacto impulsa este módulo, lo que significa un diseño consistente sin soluciones alternativas heredadas.

✅ Lanzamientos más rápidos: Nunca salgas de la interfaz de Divi 5 para configurar códigos cortos o adivinar cómo se verán las etiquetas de tus objetivos.

Más información aquí.

Integración constructor de páginas

👉🏻 Novedad en Charitable: Widgets nativos de Elementor para crear campañas sin interrupciones

Con los widgets nativos de Elementor, diseñas campañas de donación junto al resto de tu página sin tocar código. Así es como funciona y por qué vale la pena activarlo hoy.

Crea páginas de recaudación de fondos VISUALES, NATIVAS Y SIN SHORTCODES. También puedes:

⚡ Mini Donación: Añade un widget de donación compacto y de alta conversión con importes preestablecidos y control total del color.

⏳ Cuenta atrás de la campaña: Crea urgencia para una apelación con fecha límite, con confeti opcional cuando se alcanza el objetivo.

📣 Flujo de donaciones: Demuestra el impulso mostrando a los visitantes la prueba social de personas reales que donan en este momento.

🏆 Tabla de clasificación de donantes: Celebra a los principales donantes con estilos de oro, plata y bronce para fomentar donaciones amistosas.

🖼️ Muestra de campañas: Presenta varias campañas en una cuadrícula o carrusel de página de destino, con búsqueda, filtros y distintivos.

Más información aquí.