Una publicación se conecta con tarjetas separadas de un informe público y un informe del titular.
Verificá que el alcance de las fuentes coincida antes de comparar los recuentos.

Una lectura es un valor de una fuente en un momento determinado. Conciliar significa registrar qué coincide, qué tiene un alcance distinto y qué sigue sin conocerse. El alcance es lo que incluye una cifra. Abarca la métrica, las publicaciones y el intervalo temporal. Un intervalo tiene un inicio y un fin.

Una captura puntual de datos públicos no permite reconstruir un informe mensual de la cuenta que falta. Una captura puntual es una lectura de los contadores públicos en un momento determinado. Separá las diferencias de alcance que podés explicar de las diferencias que no podés explicar.

Pasos para la comparación

1. Definí qué informe necesitás.

Un registro de publicaciones públicas permite documentar publicaciones conocidas que podés consultar ahora. Un registro contiene una fila por publicación. No puede completar todas las columnas de un informe privado. No puede crear los datos de un mes anterior que no guardaste.

Escribí lo que necesitás en una línea. Si necesitás un informe completo de la cuenta para un mes anterior, detenete. Indicá que una captura puntual de datos públicos no puede proporcionar ese informe. Si ya tenés una exportación, podés continuar. Esa exportación debe referirse a publicaciones públicas conocidas.

2. Primero consultá una publicación pública conocida.

Un Actor es un programa alojado de recolección de datos. Una Task es una configuración de entrada guardada para ese Actor. El Actor X Post Metrics recopila filas de datos públicos. Vos hacés la comparación. El Actor no asigna una categoría de resultado. Una Task guardada proporciona datos de entrada iniciales. No demuestra que la comparación sea automática.

La versión de compilación 1.0.4 es la versión pública utilizada para estas reglas de los campos. Esa versión acepta `startUrls` con entre 1 y 1.000 URL conocidas de publicaciones públicas. Una URL de estado es la dirección web de una publicación. En este contexto, una publicación es un mensaje público de X con su propia URL de estado. X es el sitio público de x.com.

Revisá una ejecución en este orden. Empezá con la Task guardada. Reemplazá el ejemplo por la URL de tu prueba piloto. Después, leé los campos nativos de la fila. Luego, leé `postMetricStatus` para cada métrica. Por último, leé el resumen de la ejecución. Mantené el resumen de la ejecución separado de la fila de la publicación.

La entrada actual de la Task guardada es un ejemplo:

json
{
  "startUrls": [
    "https://x.com/OpenAI/status/2074907025537224840",
    "https://x.com/OpenAI/status/2074907027378511884",
    "https://x.com/OpenAI/status/2074907031862190406"
  ]
}
Pasos para la comparación

Esas tres URL son ejemplos. Reemplazalas por publicaciones públicas que conozcas. Una prueba piloto es tu primera ejecución pequeña. Usá una URL para la prueba piloto. Una URL mantiene acotada la prueba.

Este Actor no busca en la cronología de un perfil. No genera un informe de la cuenta para un rango de fechas. No accede a analíticas privadas. No recupera datos históricos que no guardaste. No recopila publicaciones protegidas. Una publicación protegida no es pública. No utiliza credenciales de la cuenta. Las credenciales son contraseñas u otros datos secretos para iniciar sesión.

Cada URL de entrada genera una fila que registra el intento de consulta. La fila incluye `status` y `statusReason` incluso cuando faltan datos útiles. `status` indica cómo terminó el procesamiento de esa fila. `statusReason` da un motivo breve. Un contador ausente no equivale a cero. Cero es un número devuelto. Null significa que el valor no estaba disponible.

Verificá cuatro cosas en la fila de la prueba piloto antes de confiar en ella. Verificá que `postId` y `postUrl` correspondan a la publicación que solicitaste. Revisá `status`. Revisá `observedAt`. Revisá `postMetricStatus` para cada métrica que vayas a usar. `observedAt` es el momento de observación. El momento de observación es cuando se leyó el contador. El momento de publicación es cuando se publicó el mensaje. No intercambies esos momentos.

Los campos nativos de la fila son `inputUrl`, `postUrl`, `postId`, `profileId`, `views`, `likes`, `replies`, `reposts`, `quotes`, `bookmarks`, `profileFollowers`, `postMetricStatus`, `status`, `statusReason` y `observedAt`.

`inputUrl` es la URL que enviaste. `postUrl` es la URL de la publicación que figura en la fila. `postId` es el identificador de la publicación. `profileId` es el identificador de la cuenta. Un contador es un número almacenado para esa publicación o cuenta. `views` cuenta los eventos de visualización públicos. La fila también contiene `likes`, `replies`, `reposts`, `quotes` y `bookmarks`. Un me gusta es una marca que indica que a alguien le gustó la publicación. Una respuesta contesta a la publicación. Una republicación comparte la publicación. Una cita comparte la publicación y agrega texto. Un elemento guardado es una publicación que alguien guardó. No sumes estos contadores en este método. Este método no calcula una tasa a partir de ellos.

`profileFollowers` es el número público de seguidores de esa cuenta en el momento indicado por `observedAt`. Un seguidor es una cuenta que sigue al perfil. No uses `profileFollowers` como número de visualizaciones de una publicación.

La precisión indica si un número es exacto, redondeado o de precisión desconocida. `postMetricStatus` informa esa precisión para cada métrica devuelta. Conservá la precisión junto al número. Si falta una métrica, dejala como ausente. No escribas 0 para completar el dato faltante.

Un control es una ejecución pública verificada que se usa para comprobar qué campos se devuelven. Un control público actual devolvió los campos de identificación y tiempo solicitados. Esos campos incluyen `postId`, `postUrl`, `profileId`, el momento de publicación y `observedAt`. También devolvió `views`, `likes`, `replies`, `reposts`, `quotes`, `bookmarks` y `profileFollowers`. Su `status` fue ok.

Cada métrica devuelta en `postMetricStatus` tenía el valor present/exact/public_post.

Pasos para la comparación
Métrica devueltapostMetricStatus del control
viewspresent/exact/public_post
likespresent/exact/public_post
repliespresent/exact/public_post
repostspresent/exact/public_post
quotespresent/exact/public_post
bookmarkspresent/exact/public_post

Present significa que la métrica estaba en la fila. Exact significa que el valor de ese control era exacto. `public_post` significa que la fuente era una publicación pública. Ese control demuestra que se pueden recopilar contadores públicos. No demuestra que un contador público sea igual a un valor de una exportación privada. Tu propia ejecución puede ser distinta. Leé tu propia fila. No copies el estado del control a una publicación que el control no consultó.

El resumen de la ejecución no es una fila de publicación. Sus campos son `inputCount`, `datasetRows`, `usefulRows`, `billableRows`, `failedRows`, `statusCounts` y `stopReason`.

`inputCount` cuenta las URL de entrada. `datasetRows` cuenta las filas escritas. `usefulRows` cuenta las filas con datos útiles. `billableRows` cuenta las filas que la ejecución marca para facturar. `failedRows` cuenta las filas fallidas. `statusCounts` agrupa los recuentos de filas por estado. `stopReason` indica por qué se detuvo la ejecución. No pegues ninguno de estos datos en una celda de visualizaciones de una publicación. Este artículo no inventa esos recuentos. Aquí no se indica ningún precio.

3. Registrá la exportación propia que ya tenés.

Una exportación es un archivo obtenido de un informe de analíticas que tenés permiso para usar. Un informe autorizado es un informe que tenés permiso para usar. Usá una exportación solo cuando tengas permiso para hacerlo. Este método no obtiene una exportación privada de X. No reemplaza un panel de forma gratuita. No elude una regla de acceso.

Las publicaciones públicas antiguas no determinan el precio ni las condiciones de acceso actuales de X Analytics. Consultá Alternativas a las analíticas de Twitter y Analíticas de X (Twitter). Si todavía no tenés el informe, dejá los datos de esa fuente como desconocidos.

Si tenés un informe autorizado, copiá estos datos del informe. Copiá el identificador de la publicación. Copiá el nombre de la métrica. Copiá la definición de la métrica de las notas del propio informe. Copiá el rango de fechas y la zona horaria. Copiá el momento de extracción. El momento de extracción es cuando se obtuvo el archivo del informe. Si el informe especifica un alcance pago u orgánico, copialo también. El alcance pago abarca las publicaciones promocionadas. El alcance orgánico abarca las publicaciones que el informe identifica como no promocionadas. Si el informe no especifica esa separación, no la inventes.

No supongas que una columna llamada impressions equivale a las visualizaciones públicas. No trates el total de una cuenta como el total de una publicación. Usá la definición del informe. Si falta la definición, la comparación queda sin determinar.

4. Vinculá las filas por el identificador de la publicación.

Vinculá `postId` con el identificador de la publicación en tu exportación. No uses el título ni el texto para vincular las filas. Dos publicaciones distintas pueden tener las mismas palabras. Una publicación cuyo texto cambió puede conservar el mismo identificador. El identificador es la clave.

Conservá las filas públicas que no tengan una fila correspondiente en el informe. Conservá las filas del informe que no tengan una fila pública correspondiente. Mantené como desconocido un identificador que no puedas leer. No conviertas la falta de una coincidencia en 0.

Algunas filas del informe corresponden a una cuenta durante un período. Una fila de este tipo abarca muchas publicaciones dentro de un intervalo. No vincules esa fila con una sola publicación. No trates la cifra de la cuenta como la cifra de esa publicación. Anotá el nivel de agregación en la fila. El nivel de agregación indica si la fila corresponde a una publicación, un día o una cuenta.

5. Determiná el alcance antes de comparar los números.

Asigná una etiqueta de alcance al par de lecturas.

`same_metric_scope` significa que coinciden la definición de la métrica, la publicación y el alcance temporal.

`different_metric_scope` significa que podés demostrar que la definición o el período son distintos.

`definition_unknown` significa que falta una definición que necesitás.

Un contador público acumulado indica el total en el momento de la lectura. Acumulado significa que los eventos se suman desde la publicación hasta `observedAt`. Un informe de un período seleccionado indica qué ocurrió dentro de un intervalo. Un intervalo que termina ayer puede diferir de un total leído hoy. Esas dos cifras responden preguntas distintas.

Las visualizaciones públicas son eventos de visualización. X indica que pueden incluir visualizaciones repetidas y la visualización del propio autor. No representan personas distintas contadas una sola vez. Leé la ayuda actual sobre el recuento de visualizaciones antes de usar `views`. Esa página no establece que `views` equivalga a todas las métricas de una exportación. Si tu exportación usa otra definición, usá los términos de la exportación. Si no podés leer la definición de la exportación, usá `definition_unknown`.

Las actualizaciones pueden demorarse. Una demora significa que la lectura posterior todavía no incluye un evento reciente. No atribuyas la causa a una demora salvo que tengas evidencia. Una suposición no es evidencia.

6. Calculá una diferencia solo cuando la comparación lo permita.

Si la definición y el período coinciden lo suficiente, podés calcular la diferencia entre los valores mostrados. Usá una resta simple.

text
displayed difference = public value - owned value
observed counter delta = later saved public value - earlier saved public value
Pasos para la comparación

Conservá la precisión junto al resultado. Si `postMetricStatus` no indica una precisión exacta, no digas que el resultado es exacto. Si el valor público está redondeado, una coincidencia exacta puede ser imposible. Si falta cualquiera de los valores, no calcules la diferencia.

Dos capturas puntuales de datos públicos guardadas solo permiten mostrar un cambio entre esos momentos registrados. La variación observada del contador es ese cambio. Solo existe para los momentos que guardaste. No inventes una lectura inicial anterior. Una lectura inicial es el valor de partida. No podés recuperar un mes faltante suponiendo un valor inicial.

Un contador puede disminuir cuando X lo corrige. Una variación negativa puede ser real. No consideres que toda disminución se debe a una lectura incorrecta del archivo.

Si el alcance no coincide, igual podés mostrar la resta como una operación aritmética. Identificala como una operación aritmética. No la presentes como la causa.

7. Clasificá el resultado.

Usá una categoría de resultado para la comparación que puedas respaldar.

`explained_scope_difference` significa que podés señalar una diferencia de alcance conocida. Esta categoría no explica la magnitud total de una diferencia numérica.

`timing_or_precision_limit` significa que los momentos difieren o que la precisión impide una coincidencia exacta. Usala solo cuando puedas demostrar esa limitación.

`comparable_values` significa que la publicación, la definición y el alcance temporal coinciden lo suficiente como para comparar las dos cifras. Una coincidencia en una fila no demuestra que todo el informe esté completo.

`unresolved_difference` significa que no podés respaldar un motivo. Dejá el motivo como desconocido.

Un fraude significaría que las cifras fueron falsificadas. Una diferencia no demuestra fraude. No demuestra que una cantidad adicional corresponda a actividad paga. No demuestra que la herramienta de analíticas funcione mal. No demuestra que X haya ocultado la publicación. Conservá un motivo solo cuando ambos registros de respaldo lo sustenten. Un registro de respaldo es la fila pública o la fila del informe propio que tenés. Si falta la definición, el motivo sigue siendo desconocido.

8. Entregá la tabla por publicación y una nota breve.

Usá una fila por publicación. Mostrá el identificador de la publicación y ambas fuentes. Mostrá el momento de publicación y el momento de observación en celdas separadas. Mostrá el nombre de la métrica, la definición, el intervalo y la precisión. Marcá como ausente un valor que falta. Mostrá la etiqueta de alcance y la categoría de resultado. Si una diferencia numérica sigue sin explicación, indicalo en la nota.

Si solo tenés filas públicas, informá esas filas y las limitaciones anteriores. No afirmes que representan impresiones mensuales. No afirmes que representan alcance único. No afirmes que representan un total privado de interacciones. No afirmes que representan el retorno de una campaña. No conviertas los contadores en una tasa.

Terminá la nota con una métrica de una publicación. Esa fila puede ser comparable o quedar sin resolver. No conviertas una diferencia sin explicación en una causa.

Registro ficticio de publicaciones

Las cinco publicaciones siguientes son una ficción original. No son un resultado del producto. No son filas del Actor. En esta ficción, no se reemplazó ningún panel. No se obtuvo ninguna exportación privada. No se indica el momento de publicación. No copies un momento de observación en la celda del momento de publicación. No conviertas un recuento de visualizaciones en personas distintas contadas una sola vez.

P1 a P5 son identificadores ficticios de publicaciones. Ninguna de estas publicaciones es una exportación real.

Registro ficticio de publicaciones
PublicaciónMomento de publicaciónMétrica públicaValor públicoMomento de observación públicaDefinición públicaIntervalo públicoPrecisión públicaMétrica del informe propioValor del informe propioMomento del informe propioDefinición del informe propioIntervalo del informe propioAlcanceOperación aritméticaResultado
P1no se indicaviews1.50013 de octubre a las 10:00 UTCeventos de visualización públicosacumulado hasta el momento de observaciónno se especificaimpressions1.200no se indicaimpresiones documentadas para el intervalo indicado1–12 de octubre; no se indica la zona horariadifferent_metric_scope1.500 - 1.200 = 300explained_scope_difference solo respecto del alcance; la diferencia de 300 no está completamente explicada
P2no se indicaviews1.000 y luego 1.20013 de octubre a las 10:00 UTC y 13 de octubre a las 12:00 UTCvisualizaciones públicas acumuladas exactasacumulado hasta cada lectura guardadaexactano hay fila del informe propiono hay fila del informe propiono hay fila del informe propiono hay fila del informe propiono hay fila del informe propiomisma definición de visualizaciones públicas en dos momentos registrados1.200 - 1.000 = 200variación observada del contador solo entre esos dos momentos registrados
P3no se indicaviewsnull, no 0no se indicalas visualizaciones públicas no estaban disponiblesno disponibleno correspondeno se indica500no se indicano se indicano se indicafalta el valor público, por lo que no se determina el alcanceno calcularcomparación con datos públicos no disponible; no es una diferencia de -500
P4no se indicano se indica2.000no se indicano se indicano se indicadesconocidano se indicano se indicano se indicafalta la definiciónno se indicadefinition_unknownno calcularunresolved_difference
P5no se indicacontador documentado250mismo momento que la lectura del informe propio; no se indica la hora exactamismo contador documentado que en el informe propiomismo intervalo que en el informe propio; no se indican las fechasno se especifica más allá del valor 250contador documentado250mismo momento que la lectura pública; no se indica la hora exactamismo alcance del contador documentadomismo intervalo que en la fuente pública; no se indican las fechassame_metric_scope250 - 250 = 0comparable_values solo para este contador

UTC es la referencia horaria utilizada para P1 y P2. No se ajusta al horario de verano local.

P1 presenta una diferencia de alcance conocida. La celda pública contiene visualizaciones acumuladas leídas el 13 de octubre a las 10:00 UTC. La celda del informe propio contiene impresiones del 1–12 de octubre. Las visualizaciones y las impresiones de un intervalo no son la misma métrica. Un total hasta el 13 de octubre y un intervalo que termina el 12 de octubre no corresponden al mismo período. Por eso, la etiqueta de alcance es `different_metric_scope`. La categoría de resultado `explained_scope_difference` solo abarca ese hecho sobre el alcance.

La resta 1.500 - 1.200 = 300 es una operación aritmética. No representa 300 impresiones faltantes verificadas. No demuestra un error de recolección. No podés desglosar los 300 a partir de estos dos registros de respaldo. No sabés cuántas visualizaciones ocurrieron el 13 de octubre. No sabés cuántas fueron repetidas o del propio autor. No sabés cómo influye la diferencia en la regla de impresiones dentro de esos 300. Dejá esa parte sin explicar.

P2 tiene dos lecturas públicas exactas de visualizaciones acumuladas. El 13 de octubre a las 10:00 UTC, el contador muestra 1.000. El 13 de octubre a las 12:00 UTC, muestra 1.200. La variación observada del contador es 1.200 - 1.000 = 200. Ese es el cambio mostrado entre dos momentos registrados. No representa 200 personas distintas contadas una sola vez. No es un informe mensual recuperado. En esta ficción, no hay una fila del informe propio para P2. No inventes un valor inicial anterior a las 10:00. No describas cómo cambió el contador entre esas dos horas. No guardaste esas lecturas intermedias.

P3 tiene un valor de visualizaciones públicas de null y un valor del informe de 500. Null significa que el contador de visualizaciones públicas no estaba disponible. No significa cero visualizaciones. Como falta el valor público, no hacés la resta. 500 - 0 es una ecuación incorrecta. 0 - 500 también es incorrecta. No hay una diferencia de -500. El valor del informe permanece del lado del informe. No es un total de visualizaciones públicas. Este resultado es una comparación con datos públicos no disponible. No es una clasificación definitiva de discrepancia.

P4 muestra un valor público de 2.000 con precisión desconocida. El informe no tiene una definición. No se indican los nombres de las métricas, los momentos ni los intervalos. La etiqueta de alcance es `definition_unknown`. No podés respaldar una causa. El resultado es `unresolved_difference`. No supongas que hubo redondeo. No supongas que hubo demora. No supongas el nombre de una segunda métrica.

P5 usa el mismo contador documentado, el mismo alcance y el mismo momento en ambas fuentes. Ambos valores son 250. La diferencia mostrada es 250 - 250 = 0. La etiqueta de alcance es `same_metric_scope`. El resultado es `comparable_values`. Ese resultado solo abarca este contador. No demuestra que se haya revisado cada publicación del informe. No demuestra que todas las demás métricas de P5 coincidan. No demuestra que el informe esté completo.

Fuentes y lecturas adicionales

Por Chronometrica · Actualizado

Volver arriba ↑