# Actualizar etiquetas mediante CSV

Cargue un archivo CSV para establecer los valores de varias etiquetas en muchos dispositivos a la vez, por ejemplo, para preparar datos para la segmentación.

Solo puede actualizar etiquetas que ya existen en su cuenta. La importación no crea etiquetas nuevas.

<YouTube id="tahgIHOUGc0" playlabel="Video de YouTube: Asignar etiquetas a los dispositivos de sus suscriptores manualmente cargando un archivo CSV"/>

## 1. Preparar el CSV

Exporte un segmento y edítelo, o cree el archivo usted mismo.

### Exportar segmento

Vaya a [Segmentos](/es/product/audience-data-and-segmentation/segmentation), seleccione el segmento para el que desea establecer etiquetas y [exporte el segmento](/es/product/audience-data-and-segmentation/segmentation). El archivo contiene:

* HWID de los dispositivos que cumplen con ese segmento de filtro (en la primera columna del .csv)
* Tokens Push de los dispositivos del usuario (en la segunda columna)
* tipos de dispositivos (entero y humanizado)
* todas las etiquetas de su cuenta de Pushwoosh (en las columnas restantes)

Cambie los valores de las etiquetas o agregue los que falten en el archivo y, a continuación, guárdelo.

<span id="create-csv" />

### Crear CSV

Para crear el archivo usted mismo, configure estas columnas:

* **Columna de identificador:** llámela `HWID` y rellénela con los ID de hardware de los dispositivos, o llámela `User ID` y rellénela con los ID de usuario.
* **Columnas de etiquetas:** nombre cada una exactamente como una etiqueta de su cuenta de Pushwoosh. Cada celda contiene el valor que se establecerá para ese dispositivo o usuario.

| HWID                                 | Nombre | Edad | Alertas Push Habilitadas | Versión del SDK | Primera Instalación | Preferencias      |
| ------------------------------------ | ---- | --- | ------------------- | ----------- | ------------------- | ---------------- |
| XXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX | Paul | 25  | false               | 6.4.12.0    | 2023-06-27 12:00:00 | deporte, noticias       |
| YYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY | Anne | 30  | true                | 6.7.17.0    | 2025-11-14 16:00:00 | moda, viajes   |

Representación de `import.csv` en formato de texto plano:

```txt
HWID,Name,Age,Push Alerts Enabled,SDK Version,First Install,Preferences
XXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX,Paul,25,false,6.4.12.0,2023-06-27 12:00:00,"sport, news"
YYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY,Anne,30,true,6.7.17.0,2025-11-14 16:00:00,"fashion, travel"
```

#### Valores de etiquetas de tipo lista

Una celda de una etiqueta de tipo lista (List Tag) admite dos formatos:

* **Lista separada por comas:** `sport, news`, como en el ejemplo anterior. Este formato es más fácil de producir en aplicaciones de hojas de cálculo. Los valores siempre se dividen por la coma.
* **Array JSON:** `["sport","news"]`. Úselo cuando un solo valor contenga una coma, por ejemplo, `["Sports, general","news"]`.

Dejar vacía la celda de una etiqueta de tipo lista mantiene sin cambios el valor existente del suscriptor para esa etiqueta. Para borrar el valor del suscriptor para una etiqueta de tipo lista, use un array JSON vacío (`[]`) en su lugar. Para etiquetas de otros tipos (String, Integer, Date), una celda vacía se importa tal cual y sobrescribe el valor existente del suscriptor.

<span id="2-upload-csv" />

## 2. Cargar CSV

<Aside type="caution">
Antes de cargar el archivo, asegúrese de que:

1. El archivo está guardado con codificación **UTF-8**.
2. Los valores están separados por una **coma**.
3. Cada fila tiene el mismo número de columnas que el encabezado y todos los valores entrecomillados están cerrados.

Una sola fila con formato incorrecto hace que se rechace todo el archivo, no solo esa fila.
</Aside>

1. Seleccione el proyecto. Los valores de las etiquetas se actualizan solo en este proyecto. Si un identificador no está registrado en este proyecto, su fila no recibe valores de etiquetas.
2. Vaya a **Importar CSV** → **Actualizar valores de etiquetas**.

   <img src="/audience-data-and-segmentation-user-data-tags-update-tags-via-csv-1.webp" alt="Interfaz de Importar CSV que muestra la opción Actualizar valores de etiquetas"/>

3. Haga clic en **Cargar CSV** y seleccione su archivo.

   <img src="/audience-data-and-segmentation-user-data-tags-update-tags-via-csv-2.webp" alt="Interfaz del explorador de archivos para cargar CSV"/>

<Aside type="note">
Las columnas que no se nombran exactamente como las etiquetas de su cuenta se omiten.

Pushwoosh comprueba todo el archivo en busca de errores de análisis al cargarlo. Una fila que no se puede analizar (su número de columnas no coincide con el encabezado o un valor entrecomillado no está cerrado) hace que el archivo se rechace de inmediato. Una notificación emergente indica la fila y el motivo, por ejemplo, "Row 42: the number of values does not match the header." En este caso no se importa nada. Corrija esa fila y vuelva a cargar el archivo.
</Aside>

## 3. Elegir las etiquetas a actualizar

1. Elija el tipo de identificador que utiliza su CSV, **HWID** o **User ID**, y la columna que lo contiene. El tipo determina qué etiquetas se pueden actualizar:
   * **HWID:** etiquetas específicas del dispositivo, como la versión del SDK.
   * **User ID:** etiquetas específicas del usuario, cuyos valores pertenecen al perfil del usuario en lugar de a un dispositivo.

   Pushwoosh muestra qué etiquetas se importarán y cuáles se omitirán para el tipo que eligió.
2. Seleccione las columnas para importar.
3. Haga clic en **Iniciar importación**.

<img src="/audience-data-and-segmentation-user-data-tags-update-tags-via-csv-3.webp" alt="Interfaz de selección de etiquetas que muestra el tipo de identificador, las columnas a importar y el botón Iniciar importación"/>

## 4. Comprobar los resultados

El estado de la importación se actualiza en tiempo real. Los archivos grandes pueden tardar un tiempo, así que puede salir de la página y volver a consultarlo más tarde.

Cuando se completa la importación, el informe confirma que se actualizaron los valores de las etiquetas de las columnas seleccionadas. Revise sus recuentos:

* **Matched:** filas del CSV, no dispositivos, cuyo identificador encontró al menos un dispositivo.
* **Updated:** dispositivos, no filas. En una importación por User ID, una fila puede coincidir con varios dispositivos del usuario, por lo que este número puede ser mayor que **Matched**.
* **Updated users:** solo en una importación por User ID, el número de usuarios distintos con al menos un dispositivo actualizado. Dos filas del mismo usuario cuentan como una.

<Aside type="note">
Si un archivo tiene más de 100 000 filas, Pushwoosh lo procesa por lotes y puede contar al mismo usuario como actualizado en más de un lote si las filas de ese usuario quedan a ambos lados del límite de un lote. En ese caso, el recuento de Updated users puede ser ligeramente mayor que el número real de usuarios distintos.
</Aside>

Una fila se omite por uno de estos dos motivos:

* **Ningún dispositivo coincide con el identificador.** Pushwoosh lo compara con el HWID, el User ID o el token push, independientemente del tipo de identificador que haya elegido en el paso 3.
* **La columna de identificador está vacía.** La fila nunca llega a la búsqueda de dispositivos.

Las filas coincidentes más las filas omitidas deben sumar el total de filas del archivo.

<img src="/audience-data-and-segmentation-user-data-tags-update-tags-via-csv-4.webp" alt="Panel de resultados de importación que muestra las filas coincidentes, los dispositivos actualizados y las filas omitidas por cada uno de los dos motivos de omisión"/>

<Aside type="caution">
En casos excepcionales, la importación falla después de iniciarse, aunque Pushwoosh haya comprobado el archivo al [cargarlo](#2-upload-csv). Esto ocurre si el archivo cambia entre la carga y **Iniciar importación** y una fila no se puede analizar (su número de columnas no coincide con el encabezado o un valor entrecomillado no está cerrado). El estado muestra entonces **Failed** en lugar de **Completed**. El informe indica la fila, por ejemplo, "Row 42: the number of values does not match the header." No se aplica ningún valor de etiqueta, ni siquiera para las filas anteriores a la defectuosa. Corrija esa fila y vuelva a cargar el archivo completo.
</Aside>