Edits to Calculated Fields
User-created calculated fields can be edited at any time. For all types of calculated fields, you are able to edit:
- Event used to calculate the field
- Event field (if applicable)
- Tracking window
- Filters, including active period
You are not able to edit the:
- Calculated field key
- Calculation type
If your field uses a sum or count calculation, then we recommend requesting a recalculation when you make your edits. For calculated fields that use another type of calculation, recalculation isn’t possible and the below should be taken into account.
|Field does not have a tracking window or the tracking window has been removed||
||The field currently sums the revenue on userPurchase events. When you update it to sum revenue on purchase events instead, the existing value on a participant’s profile will be unchanged. The next time we receive a purchase event for them, the revenue amount is added to the existing value.|
|Field has an existing tracking window but the window is unchanged|
|Field has an tracking window that is being added to||
The field counts the number of purchases a participant makes. If you add a tracking window for a month, then when the next purchase event comes in, the existing value on the participant’s profile is wiped.
A participant who made 5 purchases would have a value of 5 prior to your edits. The next time this participant makes a purchase, the old value is wiped and the field value is set to 1.
|Field has an existing tracking window that is being edited||
|Field has an existing sliding window and the maximum calculation value is changed||
||The windowed field currently counts the number of purchases a participant has made, to a maximum value of 10. When the max changes to 5 and a new purchase event comes in for that participant, the maximum of 5 will be retroactively applied to the data within the window.|
Note: The value of a windowed calculated field can’t be manually overwritten via API. You will receive an error message if you send us data that would overwrite an existing value.