Servicio de segmentos

El servicio de segmentos permite crear identificadores de segmento, que luego se usan para crear píxeles de segmento para colocarlos en las páginas de inventario. Si está trabajando con proveedores de datos de terceros a través de la plataforma Xandr, le mostrará una lista de segmentos para esos proveedores.

  • Los segmentos se asocian con miembros y, opcionalmente, se pueden asociar con un anunciante determinado.
  • Todos los datos del segmento se almacenarán en el almacén de cookies del lado del servidor y se pasarán al ofertante asociado con el miembro propietario en cada solicitud de oferta.
  • Las asociaciones de anunciantes son para referencia y uso en la interfaz de usuario de la consola.

Nota:

El segmento compartido "birthday cookie" tiene un identificador de y está disponible para todos los miembros de 1 la plataforma.

Sugerencia

Una vez que tenga un identificador de segmento, el formato básico de un píxel de segmento es <img src="media/seg?add=123" width="1" height="1"/>, donde 123 se encuentra el identificador de segmento. Para obtener más información sobre los píxeles de segmento, consulte Trabajo con segmentos en la documentación de la interfaz de usuario.

Nota:

Asegúrese de esperar aproximadamente 20 minutos antes de intentar agregar usuarios a cualquier segmento recién creado para permitir que estos segmentos se propaguen a todos los servidores. Como práctica recomendada, trate de minimizar la creación de nuevos segmentos, reutilice los segmentos existentes cuando sea posible o use segment "values" para subdividir aún más a los usuarios dentro de los segmentos existentes. Estas prácticas garantizarán el éxito de las cargas de los usuarios en los segmentos.

API de REST

Método HTTP Endpoint Description
POST https://api.appnexus.com/segment?member_id=MEMBER_ID

https://api.appnexus.com/segment
(segmento JSON)
Agregar un nuevo segmento.
POST https://api.appnexus.com/segment?advertiser_id=ADVERTISER_ID

https://api.appnexus.com/segment?advertiser_code=ADVERTISER_CODE
(segmento JSON)
Agregar un nuevo segmento de anunciante.
PUT https://api.appnexus.com/segment?id=SEGMENT_ID

https://api.appnexus.com/segment?code=SEGMENT_CODE
(segmento JSON)
Modificar un segmento existente.
PUT https://api.appnexus.com/segment?id=SEGMENT_ID&advertiser_id=ADVERTISER_ID

https://api.appnexus.com/segment?code=SEGMENT_CODE&advertiser_code=ADVERTISER_CODE
(segmento JSON)

Consejo: Para cambiar un segmento de propiedad del anunciante a propiedad de la red. Realice una PUT llamada, pasando el identificador de segmento y el identificador de miembro a la cadena de consulta y la configuración advertiser_id en null el archivo JSON. Vea Ejemplos para obtener más información.
Modificar un segmento de anunciante existente.
GET https://api.appnexus.com/segment Ver todos los segmentos.
GET https://api.appnexus.com/segment?id=1,2,3 Ver varios segmentos por identificador mediante una lista separada por comas.
GET https://api.appnexus.com/segment?id=SEGMENT_ID

https://api.appnexus.com/segment?code=SEGMENT_CODE
Ver un segmento determinado.
GET https://api.appnexus.com/segment?include_shared=0 Ver segmentos propios no compartidos.
GET https://api.appnexus.com/segment?search=SEARCH_TERM Busca segmentos con identificadores, nombres cortos o códigos que contengan determinados caracteres.
DELETE https://api.appnexus.com/segment?id=SEGMENT_ID Eliminar un segmento existente.

Campos JSON

Campo Tipo Descripción
code cadena(50) El código definido por el usuario para llamar al segmento.

Nota: El valor del code campo no distingue mayúsculas de minúsculas (por ejemplo, "Test" es el mismo "test"que ), por lo que cada código debe ser único independientemente de las mayúsculas y minúsculas. Sin embargo, al hacer referencia al código en la segmentación de cadenas de consulta, la distinción entre mayúsculas y minúsculas es importante (por ejemplo, si el valor del campo es "Test", el parámetro de una cadena de code consulta que hace referencia a él también debe ser "Test").
id Entero El id. de Xandr asignado por la API para hacer referencia al segmento. Al cambiar un segmento de propiedad del anunciante a propiedad de la red, debes pasar esta información en la cadena de consulta.

Requerido el: PUT, en cadena de consulta
state enumeración El estado del segmento. Esto determina si se puede usar el segmento. Valores posibles: active o inactive.

Valor predeterminado: active
short_name cadena(255) El nombre corto utilizado para describir el segmento.
description string La descripción opcional para este segmento. Máximo de 500 caracteres. Caracteres restringidos: '\
member_id Entero El identificador del miembro propietario de este segmento.

Nota: Al cambiar un segmento de propiedad del anunciante a propiedad de la red, debes pasar esta información en la cadena de consulta. Consulte Ejemplos para obtener más detalles.
category string En desuso. Este campo es de solo lectura.
expire_minutes Entero El número de minutos que el usuario permanece en el segmento. Los segmentos sin hora de expiración expirarán del almacén de datos del lado servidor de Xandr en un plazo de 90 días. Si quieres agregar el usuario al segmento solo durante la duración de la llamada del anuncio, establécelo en 0. Cambiar este valor no afecta retroactivamente a los usuarios que ya están en el segmento. Además, si se vuelve a agregar un usuario, la ventana de expiración se restablece.

Nota: Para mantener a los usuarios en el segmento durante el máximo de 180 días, establezca esta opción en null.
enable_rm_piggyback booleano Si true, el piggybacking de píxeles RM está habilitado.
max_usersync_pixels Entero El número máximo de píxeles de sincronización de usuarios de terceros para aprovechar el píxel del segmento. Establézcalo para 0 bloquear todos los píxeles de sincronización de usuario de terceros. Si está en blanco (null), el segmento tiene como valor predeterminado .0

Nota: No válido, si querystring_mapping_key_value el objeto también se incluye.

Valor predeterminado: 0
last_modified marca de tiempo La fecha y hora en que se modificó por última vez el segmento.
provider_id Entero Id. del proveedor de datos propietario del segmento. Es de solo lectura y se puede usar para filtrar segmentos.

Valor predeterminado: null
advertiser_id Entero El identificador del anunciante que usa el segmento si el segmento debe estar en el nivel de anunciante en lugar del nivel de red. Si null, todos los anunciantes del miembro podrán usar el segmento. Esta información es para referencia en la Consola.

Valor predeterminado: null
piggyback_pixels matriz Las URL de los píxeles que desea que disparemos cuando se active el píxel del segmento. Consulta Piggyback Pixels a continuación para obtener más detalles.
price double En desuso. Este campo no está operativo actualmente.

Valor predeterminado: 0
parent_segment_id Entero El identificador del segmento primario. Si el segmento principal está segmentado en un perfil, también se segmentan los segmentos secundarios directos.

Nota:
- El parent_segment_id campo quedará en desuso el 1 de enero de 2019.
- La lógica padre-hijo se extiende solo un nivel de profundidad. Ejemplo: el segmento A es el elemento primario del segmento B y del segmento C, y el segmento C es el elemento primario del segmento D. Cuando el segmento A está dirigido, el segmento B y el segmento C también están dirigidos, pero el segmento D no.
querystring_mapping objeto Cadena de consulta que permite asignar un conjunto de parámetros y valores a un segmento. Consulte Acerca de las cadenas de consulta para obtener una descripción general de las cadenas de consulta y la asignación de cadenas de consulta para obtener más información.
querystring_mapping_key_value objeto Cadena de consulta que permite reutilizar una clave y asignar un único par clave-valor a un segmento. Consulte Acerca de las cadenas de consulta para obtener una descripción general de las cadenas de consulta y el valor de clave de asignación de cadenas de consulta para obtener más detalles.

Nota:
- No válido, si también se incluye un querystring_mapping objeto.
- El valor del querystring_mapping_key_value campo no distingue mayúsculas de minúsculas cuando se busca en una subasta.
object_type string Un campo opcional para que los clientes indiquen que un segmento incorporado por una DMP, o a través de otro de sus miembros, es un segmento de primera parte para ellos. Los segmentos con object_type = ‘default’ se pueden actualizar a object_type = ‘first-party’. Esto hace que un segmento compartido sea apto para usarse con audiencias modeladas.
Nota:
- Al establecer el object_type en 'first-party', está dando fe de que su empresa o un cliente directo de su empresa ha recopilado estos datos de segmento directamente de un individuo o, alternativamente, su empresa ha licenciado estos datos de un tercero que recopiló dichos datos directamente de un individuo y los términos de su licencia permiten que dichos datos se utilicen para este propósito de modelado similar.
- Los segmentos compartidos son object_type = ‘universal_pixel’ automáticamente elegibles para audiencias modeladas.
- Para ser elegible para Modeled Audiences, los segmentos también deben estar compuestos por ID de usuario de Xandr o MAID. Actualmente no se admiten segmentos destinados a direcciones URL o IP.

Píxeles a cuestas

Al añadir píxeles piggyback, ten en cuenta lo siguiente:

  • Los píxeles de imagen solo pueden aprovechar otros píxeles de imagen y los píxeles de JavaScript solo pueden aprovechar otros píxeles de JavaScript.
  • Los píxeles de imagen solo pueden tener un píxel a cuestas. Si necesita combinar varios píxeles, asegúrese de usar un píxel de JavaScript.
  • No hay límites de caracteres para los píxeles montados en Xandr, pero se pueden aplicar límites de URL del navegador/servidor.

Cada objeto de la piggyback_pixels matriz contiene los siguientes campos.

Campo Tipo Descripción
url string La dirección URL del píxel que se va a tomar a cuestas.
pixel_type enumeración El tipo de píxel que se va a montar. Valores posibles: "js" o "img".

Acerca de las cadenas de consulta

Xandr proporciona dos métodos de asignación de cadenas de consulta para permitir que los editores pasen información específica del inventario o específica del usuario en las cadenas de consulta de sus etiquetas de ubicación:

  • Asignación de cadena de consulta : en la que un conjunto de valores de parámetro asignados al segmento.
  • Valor de clave de asignación de cadena de consulta , que permite asignar un par clave/valor a un segmento y, después, reutilizar la misma clave con un valor diferente en otro segmento.

Para ambos tipos de cadenas de consulta asignadas:

  • Siempre que se realice una llamada de anuncio con una cadena de consulta asignada, el usuario asociado se agregará automáticamente al segmento.
  • Puede dirigirse a la cadena de consulta en una campaña (a través de los segment_targets campos o segment_group_targets del Servicio de perfiles).

Tenga en cuenta que puede elegir cuánto tiempo se mantendrá el usuario en el segmento. Si quieres mantener al usuario en el segmento para volver a segmentar, establece expire_minutes el número correcto de minutos (null se establecerá en el valor máximo del sistema 180 días). Si quieres agregar el usuario al segmento solo durante la duración de la llamada del anuncio, establécelo expire_minutes en 0.

Vea los ejemplos siguientes para varios escenarios y formatos.

Asignación de cadena de consulta

La asignación de cadenas de consulta permite asignar un parámetro a un segmento mediante el querystring_mapping campo. Se pueden agregar varios valores a un parámetro. Este método es útil en los casos en que solo un valor tiene sentido para un usuario. Por ejemplo, la edad, el rango salarial o la experiencia de un usuario. Si un usuario está en beginner un advanced segmento pero más tarde adquiere más experiencia, el usuario se puede mover al segmento y se elimina automáticamente del beginner segmento. Consulte Ejemplos para obtener más detalles.

En este tipo de cadena de consulta, el parámetro se puede proporcionar sin valores. Por ejemplo, {"param": "car_model", "value_type": "none"}. Esto permite que se proporcione cualquier valor para ese parámetro.

Campo Tipo Descripción
param string El parámetro de cadena de consulta.
value_type enumeración El tipo de valor que acompaña al parámetro. Valores posibles: "text", "numeric"o "none".
values matriz Las cadenas que pueden acompañar al parámetro cuando value_type es "text". Si value_type es "numeric" o "none", este campo no se puede usar.

Consejo:
¿Necesita los identificadores de valor?
Si necesita los identificadores de los valores, pase los parámetros show_querystring_ids=truede cadena de consulta y los valores serán en su lugar una matriz de objetos con las claves "value" (string) y "id" (int).
allow_empty_text Booleano Cuando true, la matriz de valores puede ser null. Solo se puede utilizar cuando el value_type archivo es "text".

Valor predeterminado: false
publishers matriz Los publicadores de los que espera la cadena de consulta. Los usuarios asociados a las ubicaciones de estas editoriales se agregarán al segmento.
sites matriz Los grupos (sitios) de ubicación de los que espera la cadena de consulta. Los usuarios asociados a estas ubicaciones se agregarán al segmento.

Nota: este campo reemplaza a los publicadores. Si especifica un sitio que no pertenece a una de las editoriales especificadas, los usuarios asociados a las ubicaciones en un grupo de ubicación se agregarán al segmento.
placements matriz Emplazamientos en los que espera la cadena de consulta. Los usuarios asociados a estas ubicaciones se agregarán al segmento.

Nota: este campo reemplaza a los grupos con ubicación y a los editores. Es decir, si especifica una selección de ubicación que no pertenezca a uno de los grupos de selección de ubicación o editores especificados, los usuarios asociados a la selección de ubicación se añadirán al segmento.
include_shared Booleano Establezca este valor en false para evitar la recuperación de segmentos compartidos.

Valor de clave de asignación de cadena de consulta

La asignación clave/valor de cadena de consulta permite asignar un único par clave-valor a un segmento mediante el querystring_mapping_key_value objeto. Este tipo de cadena de consulta permite a un usuario existir en varios segmentos y es útil en los casos en los que tiene sentido tener más de un valor para un parámetro. Por ejemplo, las preferencias musicales de un usuario. Si un usuario está en el rock segmento pero también le gusta funk, puede existir en ambos segmentos simultáneamente. Consulte Ejemplos para obtener más detalles.

En este tipo de cadena de consulta, cada uno qs_key debe tener al menos un archivo correspondiente qs_value.

Campo Tipo Descripción
qs_key string El parámetro de cadena de consulta.
qs_value string Valor de la clave de cadena de consulta. El valor puede estar vacío o null. Se pueden agregar varios valores con la misma clave. Debe proporcionarse A qs_value si se usa a qs_key .

Ejemplos

Crear un segmento

$ cat segment

{
    "segment":{
        "member_id":25,
        "short_name":"remarketing - Warner Media user",
        "code":"WM08"
    }
}

$ curl -b cookies -c cookies -X POST -d @segment 'https://api.appnexus.com/segment?member_id=25'
                                            Or
$ curl -b cookies -c cookies -X POST -d @segment 'https://api.appnexus.com/segment'

{
   "response" : {
      "id" : 102,
      "count" : 1,
      "dbg_info" : {
         ...
      },
      "start_element" : 0,
      "num_elements" : 100,
      "segment" : {
         "object_type" : "default",
         "advertiser_id" : null,
         "enable_rm_piggyback" : true,
         "querystring_mapping_key_value" : null,
         "member_id" : 25,
         "expire_minutes" : null,
         "category" : null,
         "provider" : null,
         "parent_segment_id" : null,
         "querystring_mapping" : null,
         "short_name" : "yuichi-test",
         "max_usersync_pixels" : null,
         "code" : "yuichi-test-seg-02",
         "state" : "active",
         "description" : null,
         "id" : 102,
         "piggyback_pixels" : null,
         "last_modified" : "2019-08-14 17:26:29"
      },
      "status" : "OK"
   }
}

Ver un segmento

$ curl -b cookies -c cookies 'https://api.appnexus.com/segment?id=11836'

{
    "response": {
        "status": "OK",
        "segments": [
            {
                "id": 11836,
                "code": null,
                "state": "active",
                "short_name": "March 10",
                "description": null,
                "member_id": 185,
                "category": null,
                "price": "0",
                "expire_minutes": null,
                "enable_rm_piggyback": true,
                "max_usersync_pixels": 0,
                "last_modified": "2010-03-10 23:23:48",
                "provider": null,
                "parent_segment_id": null,
                "advertiser_id": 51,
                "piggyback_pixels": null
            }
        ]
    }
}

Ver segmentos propios no compartidos

$ curl -b cookies -c cookies -X GET 'https://api.appnexus.com/segment?include_shared=0'

{
    "response": {
        "status": "OK",
        "segments": [
            {
                "id": 11836,
                "code": null,
                "state": "active",
                "short_name": "March 10",
                "description": null,
                "member_id": 185,
                "category": null,
                "price": "0",
                "expire_minutes": null,
                "enable_rm_piggyback": true,
                "max_usersync_pixels": 0,
                "last_modified": "2010-03-10 23:23:48",
                "provider": null,
                "parent_segment_id": null,
                "advertiser_id": 51,
                "piggyback_pixels": null
            }
        ]
    }
}

Cambiar un segmento de propiedad del anunciante a propiedad de la red

Para cambiar un segmento de nivel de anunciante a un segmento de nivel de red, realice una PUT llamada pasando el identificador de segmento y el identificador de miembro en la cadena de consulta y su null configuración advertiser_id en el archivo JSON.

$ cat segment_update

{
    "segment": {
        "advertiser_id": null
    }
}

$ curl -b cookies -c cookies -X PUT -d @segment_update 'https://api.appnexus.com/segment?id=175196&member_id=1066'
 
{
    "response": {
        "status": "OK",
        "count": 1,
        "id": "175196",
        "start_element": 0,
        "num_elements": 100,
        "segment": {
            "id": 175196,
            "code": null,
            "state": "active",
            "short_name": "Users who have purchased software",
            "description": null,
            "member_id": 1066,
            "category": null,
            "price": 0,
            "expire_minutes": null,
            "enable_rm_piggyback": true,
            "max_usersync_pixels": null,
            "advertiser_id": null,
            "last_modified": "2013-10-18 20:34:27",
            "provider": null,
            "parent_segment_id": null,
            "piggyback_pixels": null,
            "querystring_mapping": null
        }
    }
}

Agregar asignación de cadena de consulta de texto a un segmento

Escenario: El publicador 6 le indica que espere uno de los siguientes valores en la cadena de consulta del 596411 de selección de ubicación: "experience_level=beginner", "experience_level=intermediate," o "experience_level=advanced". Cuando esta ubicación incluye el parámetro "experience_level", desea agregar el usuario asociado al segmento 25 con la capacidad de distinguir entre los valores de principiante, intermedio y avanzado en la segmentación de campañas. En este caso, crearía el siguiente JSON y realizaría una PUT llamada para actualizar el segmento.

$ cat segment_update

 {
    "segments": [
        {
            "id": 25,
            "member_id": 20,
            "querystring_mapping": {
                "param": "experience_level",
                "value_type": "text",
                "values": [
                    "beginner",
                    "intermediate",
                    "advanced"
                ],
                "publishers": [
                    {
                        "id": 6
                    }
                ],
                "placements": [
                    {
                        "id": 596411
                    }
                ]
            }
        }
    ]
}

 $ curl -b cookies -c cookies -X PUT -d @segment_update 'https://api.appnexus.com/segment?id=25'

{
    "response": {
        "status": "OK",
        "count": 1,
        "id": "25",
        "start_element": null,
        "num_elements": null,
        "segment": {
            "id": 25,
            "code": null,
            "state": "active",
            "short_name": "test",
            "description": null,
            "member_id": 49,
            "category": null,
            "price": 23,
            "expire_minutes": 20,
            "enable_rm_piggyback": true,
            "max_usersync_pixels": null,
            "last_modified": "2012-01-24 20:15:18",
            "provider": null,
            "parent_segment_id": null,
            "advertiser_id": null,
            "piggyback_pixels": null,
            "querystring_mapping": {
                "param": "experience_level",
                "value_type": "text",
                "values": [
                    "beginner",
                    "intermediate",
                    "advanced"
                ],
                "publishers": [
                    {
                        "id": 6,
                        "name": "Publisher 6"
                    }
                ],
                "sites": null,
                "placements": [
                    {
                        "id": 596411,
                        "name": "Placement 596411"
                    }
                ]
            }
        }
    }
}

Agregar asignación de cadena de consulta numérica a un segmento

Escenario: el publicador 30 automático le indica que espere el parámetro "car_year" seguido de un año en las cadenas de consulta de sus ubicaciones. Cuando una selección de ubicación de este editor viene con "car_year=YYYY" en su cadena de consulta, puede agregar el usuario asociado al segmento 26. En este caso, crearía el siguiente JSON y realizaría una PUT llamada para actualizar el segmento.

$ cat segment_update

{
   "segment": {
      "member_id": 20,
      "querystring_mapping": {
         "param": "car_year",
         "value_type": "numeric",
         "publishers": [
            {
               "id": 30
            }
         ]
      }
   }
}

$ curl -b cookies -c cookies -X PUT -d @segment 'https://api.appnexus.com/segment?id=26'

{
    "response": {
        "status": "OK",
        "count": 1,
        "id": "26",
        "start_element": null,
        "num_elements": null,
        "segment": {
            "id": 26,
            "code": null,
            "state": "active",
            "short_name": "test",
            "description": null,
            "member_id": 20,
            "category": null,
            "price": 23,
            "expire_minutes": 20,
            "enable_rm_piggyback": true,
            "max_usersync_pixels": null,
            "last_modified": "2012-01-24 20:15:18",
            "provider": null,
            "parent_segment_id": null,
            "advertiser_id": null,
            "piggyback_pixels": null,
            "querystring_mapping": {
                "param": "car_year",
                "value_type": "numeric",
                "values": null,
                "publishers": [
                    {
                        "id": 30,
                        "name": "Publisher 30"
                    }
                ],
                "sites": null,
                "placements": null
            }
        }
    }
}

Agregar asignación de cadena de consulta sin valores a un segmento

Escenario: Tanto los 1030 editores como tú te dicen que esperes el parámetro "car_model" (sin valores) en sus ubicaciones. Cuando una ubicación de cualquiera de estos editores incluye "car_model" en su cadena de consulta, puede agregar el usuario asociado al segmento 2. En este caso, crearía el siguiente JSON y realizaría una PUT llamada para actualizar el segmento.

$ cat segment_update

{
   "segment": {
      "member_id": 20,
      "querystring_mapping": {
         "param": "car_model",
         "value_type": "none",
         "publishers": [
            {
               "id": 10,
               "id": 30
            }
         ]
      }
   }
}

$ curl -b cookies -c cookies -X PUT -d @segment_update 'https://api.appnexus.com/segment?id=2'

{
    "response": {
        "status": "OK",
        "count": 1,
        "id": "2",
        "start_element": null,
        "num_elements": null,
        "segment": {
            "id": 2,
            "code": null,
            "state": "active",
            "short_name": "test",
            "description": null,
            "member_id": 20,
            "category": null,
            "price": 23,
            "expire_minutes": 20,
            "enable_rm_piggyback": true,
            "max_usersync_pixels": null,
            "last_modified": "2012-01-24 20:15:18",
            "provider": null,
            "parent_segment_id": null,
            "advertiser_id": null,
            "piggyback_pixels": null,
            "querystring_mapping": {
                "param": "car_model",
                "value_type": "none",
                "values": null,
                "publishers": [
                    {
                        "id": 10,
                        "name": "Publisher 10"
                    },
                    {
                        "id": 30
                        "name": "Publisher 30"
                    }
                ],
                "sites": null,
                "placements": null
            }
        }
    }
}

Use la asignación de clave-valor de cadena de consulta para volver a usar una clave con varios valores

Escenario: los editores quieren agregar usuarios a los segmentos en función de sus preferencias musicales. Desea usar la misma clave, "music_genre" y ofrecer varios valores: "rock", "pop", "hard rock," y "funk", asignándolos a diferentes segmentos y permitir que los usuarios se coloquen en uno o más de los segmentos. Esto refleja el hecho de que los usuarios pueden tener diversas opciones musicales.

En este caso, crearía el siguiente JSON y realizaría una PUT llamada para actualizar los segmentos.

$ cat segment_update
{
    "segments": [
        {
            "id": 501,
            "querystring_mapping_key_value": {
                "qs_key": "music_genre",
                "qs_value": "rock"
            }
        },
        {
            "id": 502,
            "querystring_mapping_key_value": {
                "qs_key": "music_genre",
                "qs_value": "pop"
            }
        },
        {
            "id": 503,
            "querystring_mapping_key_value": {
                "qs_key": "music_genre",
                "qs_value": "hard rock"
            }
        },
        {
            "id": 504,
            "querystring_mapping_key_value": {
                "qs_key": "music_genre",
                "qs_value": "funk"
            }
        }
    ]
}

$ curl -b cookies -c cookies -X PUT -d @segment_update 'https://api.appnexus.com/segment?member_id=201'

{
    "response": {
        "status": "OK",
        "count": 2,
        "id": [
            501,
            502,
            503,
            504
        ],
        "start_element": 0,
        "num_elements": 100,
        "ids": [
            501,
            502,
            503,
            504
        ],
        "segments": {
            "501": {
                "id": 501,
                "code": null,
                "state": "active",
                "short_name": "rock",
                "description": null,
                "member_id": 201,
                "category": null,
                "price": 0,
                "expire_minutes": null,
                "enable_rm_piggyback": true,
                "max_usersync_pixels": null,
                "advertiser_id": null,
                "last_modified": "2015-06-02 16:39:40",
                "provider": null,
                "parent_segment_id": null,
                "piggyback_pixels": null,
                "querystring_mapping": null,
                "querystring_mapping_key_value": {
                    "qs_key": "music_genre",
                    "qs_value": "rock"
                }
            },
            "502": {
                "id": 502,
                "code": null,
                "state": "active",
                "short_name": "rock",
                "description": null,
                "member_id": 201,
                "category": null,
                "price": 0,
                "expire_minutes": null,
                "enable_rm_piggyback": true,
                "max_usersync_pixels": null,
                "advertiser_id": null,
                "last_modified": "2015-06-02 16:39:40",
                "provider": null,
                "parent_segment_id": null,
                "piggyback_pixels": null,
                "querystring_mapping": null,
                "querystring_mapping_key_value": {
                    "qs_key": "music_genre",
                    "qs_value": "pop"
                }
            },
            "503": {
                "id": 503,
                "code": null,
                "state": "active",
                "short_name": "rock",
                "description": null,
                "member_id": 201,
                "category": null,
                "price": 0,
                "expire_minutes": null,
                "enable_rm_piggyback": true,
                "max_usersync_pixels": null,
                "advertiser_id": null,
                "last_modified": "2015-06-02 16:39:40",
                "provider": null,
                "parent_segment_id": null,
                "piggyback_pixels": null,
                "querystring_mapping": null,
                "querystring_mapping_key_value": {
                    "qs_key": "music_genre",
                    "qs_value": "hard rock"
                }
            },
            "504": {
                "id": 504,
                "code": null,
                "state": "active",
                "short_name": null,
                "description": null,
                "member_id": 958,
                "category": null,
                "price": 0,
                "expire_minutes": null,
                "enable_rm_piggyback": true,
                "max_usersync_pixels": null,
                "advertiser_id": null,
                "last_modified": "2015-06-02 16:39:40",
                "provider": null,
                "parent_segment_id": null,
                "piggyback_pixels": null,
                "querystring_mapping": null,
                "querystring_mapping_key_value": {
                    "qs_key": "music_genre",
                    "qs_value": "funk"
                }
            }
        }
    }
}