---
title: actionCustomerAccountAdd
section: hooks
slug: actionCustomerAccountAdd
hook_type: action
category: customer
location: FO
since_version: 1.5
source_url: "https://ayudaprestashop.es/hooks/actionCustomerAccountAdd"
---

# Hook `actionCustomerAccountAdd`

| Propiedad | Valor |
| --- | --- |
| Tipo | Action |
| Localizacion | FO |
| Categoria | customer |
| Desde version | 1.5 |

## Descripcion

Se ejecuta cuando un nuevo cliente crea su cuenta en la tienda. Se dispara despues de que el cliente es guardado en la base de datos, permitiendo ejecutar acciones post-registro como suscripcion a newsletters, envio de datos a CRMs, creacion de registros asociados o asignacion de cupones de bienvenida.

## Parametros

| Nombre | Tipo | Requerido | Descripcion |
| --- | --- | --- | --- |
| `newCustomer` | `Customer` | si | Objeto Customer del nuevo cliente registrado |

## Valor de retorno

- **Tipo**: `void`
- **Descripcion**: Este hook no espera valor de retorno

## Disparado por

| Contexto | Clase | Metodo | Fichero |
| --- | --- | --- | --- |
| AuthController | `AuthController` | `processSubmitAccount()` | `controllers/front/AuthController.php` |

**Paginas**: `authentication`, `registration`

## Registro del hook

```php
<?php
public function install()
{
    return parent::install()
        && $this->registerHook('actionCustomerAccountAdd');
}
```

## Ejemplo de uso

```php
<?php
/**
 * Hook actionCustomerAccountAdd — nuevo cliente registrado
 */
public function hookActionCustomerAccountAdd(array $params)
{
    /** @var Customer $customer */
    $customer = $params['newCustomer'];

    // Ejemplo: Crear cupon de bienvenida del 10%
    $voucher = new CartRule();
    $voucher->name = array_fill_keys(
        Language::getIDs(),
        'Bienvenido ' . $customer->firstname . ' - 10% descuento'
    );
    $voucher->code = 'WELCOME' . strtoupper(Tools::passwdGen(6));
    $voucher->reduction_percent = 10.0;
    $voucher->quantity = 1;
    $voucher->quantity_per_user = 1;
    $voucher->date_from = date('Y-m-d H:i:s');
    $voucher->date_to = date('Y-m-d H:i:s', strtotime('+30 days'));
    $voucher->minimum_amount = 20.0;
    $voucher->active = 1;
    $voucher->id_customer = (int) $customer->id;

    if ($voucher->add()) {
        // Registrar el cupon asignado
        Db::getInstance()->insert('mymodule_welcome_vouchers', [
            'id_customer'  => (int) $customer->id,
            'id_cart_rule' => (int) $voucher->id,
            'code'         => pSQL($voucher->code),
            'date_add'     => date('Y-m-d H:i:s'),
        ]);
    }

    // Ejemplo: Sincronizar con CRM externo
    // $this->syncToCRM($customer);
}
```

## Notas y gotchas

- El cliente ya esta guardado en BD cuando se ejecuta este hook — $customer->id es valido.
- Este hook NO se dispara cuando un cliente se crea desde el Back Office — solo desde el front.
- Para capturar clientes creados desde BO, usa actionObjectCustomerAddAfter.
- Si necesitas actuar cuando el cliente hace login (no solo registro), usa actionAuthentication.
- El email del cliente ya esta validado como unico en este punto.

## Hooks relacionados

- [`actionAuthentication`](https://ayudaprestashop.es/hooks/actionAuthentication)
- [`actionCustomerFormBuilderModifier`](https://ayudaprestashop.es/hooks/actionCustomerFormBuilderModifier)
- [`displayCustomerAccount`](https://ayudaprestashop.es/hooks/displayCustomerAccount)

## Guias relacionadas

- [modules/main-file](https://ayudaprestashop.es/modules/main-file)
- [customers/customer-lifecycle](https://ayudaprestashop.es/customers/customer-lifecycle)

## Historial de versiones

| Version | Cambio |
| --- | --- |
| 1.5 | Introducido con el parametro newCustomer |
| 1.7 | Sin cambios. Compatible con PS 1.7, 8.x y 9.x |


---

*Fuente: [https://ayudaprestashop.es/hooks/actionCustomerAccountAdd](https://ayudaprestashop.es/hooks/actionCustomerAccountAdd). Version Markdown generada automaticamente para consumo por LLMs.*
