Surely, having configured e-commerce in Google Analytics, sooner or later you will have unwanted transactions that confuse all the numbers. Someone did a test, or the order contains unavailable contact information, which ultimately does not allow you to correctly analyze the effectiveness of advertising campaigns. That is why today we will talk about rejecting, deleting, adjusting transactions in Google Analytics 4.
How is a transaction created?
A transaction in Google Analytics 4 is registered at the time of ordering or through the Measurement Protocol from the CRM system by means of an HTTP request. The speed of transaction appearance in analytics is usually up to 24 hours.
After the transaction has entered analytics, you will not find a button for it to reject, delete or consider invalid. A transaction can only be adjusted, but not deleted, this is a record that does not disappear. This can only be done through certain manipulations.
How to adjust a transaction?
There are several options to adjust transaction data:
➊ Triggering the e-commerce code with a negative transaction amount
In this case, the transaction amount will be automatically reduced by the amount you specify in “transaction_id”.
Generate the trigger for sending e-commerce data with the following parameters:
👉 transaction_id - the id of the transaction that needs to be adjusted;
👉 value - the amount of the transaction adjustment (in this case, it is a negative transaction amount or another negative number by which this transaction needs to be reduced);
👉 item_name - product names;
👉 item_id - product codes that were in the order;
👉 item_price - the price of the product, unchanged;
👉 quantity - the number of products by which the order needs to be reduced (in this case, the number is negative, similar to the amount).
An example of the code could be as follows:
<script>
dataLayer.push({
'event': 'purchase',
'ecommerce': {
'purchase': {
'transaction_id': 'T12345',
'affiliation': 'holostenko.ua',
'value': '-35.43',
'currency': 'UAH',
'items': [{
'item_name': 'Triblend Android T-Shirt',
'item_id': '12345',
'item_price': '15.25',
'item_brand': 'Google',
'item_category': 'Apparel',
'quantity': 1,
}, {
'item_name': 'Triblend Android T-Shirt',
'item_id': '12345',
'item_price': '-15.25',
'item_brand': 'Google',
'item_category': 'Apparel',
'quantity': 1
}]
}
}
});
</script>
The transaction adjustment procedure does not cancel the transaction itself. Its ID will remain, but with the adjusted amount. You can send the data either through the thank you page, that is, through the browser, or through the Google Measurement Protocol. Now let's look at the next method.
➋ Data import
You can also adjust the data in analytics through “data import” - either upload negative transaction amounts or add a column about the refund.
This option is available in Google Analytics 4: “Data collection and editing” ➔ “Data import”.

You select the “custom event data” upload, since transactions in GA4 are listed as events.
This is a working method (we tested it in the old version of analytics), but alas, in the new version of GA4, there is very little information about importing, to the point that there are no import file templates on the support site.
➌ Data deletion requests
The new GA4 analytics has added the ability to delete event data for a specific date. It is not possible to specify a specific transaction or user ID, but it is possible to delete data on specific events for a specific day or period.
You need the option - “delete all registered parameters on selected events”.

➍ Deleting a user and their data
The “user statistics” report has the ability to delete a user and their data completely from the analytics server, it might look like this:

From our experience - the most adequate methods are the 1st and 4th. The option with data import is not the best option. We hope that this material was useful for you, we will definitely meet again.