Viewtracker Cloud Data Structure
This article explains how the data collected by the Viewtracker app is stored. The data is also part of the CSV data export.
Glossary
CLIENT_KEY: Unique key of a Confluence instance. Every Confluence instance has its own table.
accountId (Account Id): This is how Viewtracker Cloud identifies each user without storing any PII data (for example, the username or the full name). The Id looks like this: 557058:a1641b35-a550-4a7a-a3cc-84fe0959b999
More information can be found in our FAQ on How to find the username in the exported data.
Data storage
The user's account ID (USER_ID) is stored unless the Data Privacy setting is set to "Extended Privacy Mode". If tracked, this user ID is stored in the selected app data residency in a database managed by bitvoodoo ag.
All other user information listed in this document will only be stored with Atlassian.
Viewtracker Database Table
Views
The table VIEWS_{CLIENT_KEY} looks like this:
Column | Type | Description |
---|---|---|
USER_ID | VARCHAR(255) | accountId of the user “Anonymous” for users without Confluence login |
CONTENT_ID | BIGINT | ID of the viewed content |
CONTENT_TYPE | TINYINT | attachment, blog post or page |
SPACE_KEY | VARCHAR(255) | Which space does the content “live” in? This is needed for filters and the Space Report |
IS_PROTECTED_USER | Boolean | Is the viewer a protected user? |
VIEW_TIME | datteime | When did the view occur? |
IS_TRASH_MARKED | Boolean | Is this content marked as trashed? If yes, it will be deleted by Confluence within the next 30 days.
|
DELETION_TIME | datteime | When was the content deleted? |
PARENT_CONTENT_ID | BIGINT | ID of the parent page |
CONTENT_NAME | VARCHAR(255) | Used for sorting and filters in the Space/Global Report |
Content changes
The table CONTENT_CHANGES_{CLIENT_KEY} looks like this:
Column | Type | Description |
---|---|---|
CONTENT_ID | BIGINT | ID of the tracked content |
PARENT_CONTENT_ID | BIGINT | ID of the parent page (important for attachments) |
VERSION | TINYINT | Version number of the page, attachment or blog post |
CONTENT_TYPE | INT | What was changed: blog post, page, comment, attachment |
EVENT_TIME | DATETIME | When did the change occur? |
AUTHOR | VARCHAR(255) | AccountId of the user |
PROTECTED_USER | Boolean | Is the user who initiated this event a protected user? |
EVENT_TYPE | TINYINT | What change was carried out: "created”, “edited” or “removed" |
SPACE_KEY | VARCHAR(255) | Space key of the space |
CONTENT_NAME | VARCHAR(255) | Used for sorting and filters in Space/Global Report |
FILE_SIZE | BIGINT | File size, only used for attachments |
Excluded spaces
If spaces were excluded from tracking, the table BITVOODOO_EXCLUDED_SPACES looks like this:
Column | Type | Description |
---|---|---|
CLIENT_KEY | VARCHAR(255) | Unique key of a Confluence instance. Every Confluence instance has its own table. |
SPACE_KEY | VARCHAR(255) | The space key of the space |
EXCLUSION_DATE | Datetime | When the space was excluded from tracking |
USER_ID | VARCHAR(255) | The accountId of the user who excluded the space Looks something like this: 557058:a1641b35-a550-4a7a-a3cc-84fe0959b999 |
Excluded users
If users were excluded from tracking, the table BITVOODOO_EXCLUDED_USERS looks like this:
Column | Type | Description |
---|---|---|
CLIENT_KEY | VARCHAR(255) | Unique key of a Confluence instance. Every Confluence instance has its own table. |
USER_ID | VARCHAR(255) | The accountId of the excluded user |
EXCLUSION_DATE | INTDatetime | When the user was excluded from tracking |
ADMIN_USER_ID | VARCHAR(255) | The account id of the user who excluded the user Looks something like this: 557058:a1641b35-a550-4a7a-a3cc-84fe0959b999 |
Search Analytics Database Table
General Search
The table SEARCHES_{CLIENT_KEY} looks like this:
Column | Type | Description |
---|---|---|
SEARCHER | VARCHAR(255) | The accountId of the user |
PROTECTED_USER | Boolean | Is the searcher is a protected user? |
SEARCH_TIME | datetime | when the search was performed |
RESULTS | INT | number of search results |
SEARCH_TERM | VARCHAR(255) | what the user searched for (the simple search term) |
QUERY | VARCHAR(255) | the whole query (including any filters) |
ENTITY_TYPE_SPACE | Boolean | were spaces included in the search? |
ENTITY_TYPE_PAGE | Boolean | were pages included in the search? |
ENTITY_TYPE_BLOGPOST | Boolean | were blogs included in the search? |
ENTITY_TYPE_COMMENT | Boolean | were comments included in the search? |
ENTITY_TYPE_ATTACHMENT | Boolean | were attachments included in the search? |
Search for labels
The table SEARCHED_LABELS_{CLIENT_KEY} looks like this:
Column | Type | Description |
---|---|---|
SEARCH_ID | BIGINT | The individual ID of the search; primary Key |
LABEL | VARCHAR(255) | which labels were searched for |
Search for spaces
The table SEARCHED_SPACES_{CLIENT_KEY} looks like this:
Column | Type | Description |
---|---|---|
SEARCH_ID | BIGINT | The individual ID of the search; primary Key |
SPACE_KEY | VARCHAR(255) | the space key within the search request |
The data represented in the tables are also part of the CSV data export.
If you need the username instead of the Account ID, please consult our FAQ on how to find the username in the exported data.