Title: How to use Google Analytics Measurement Protocol for orders that sent 48 hours after the purchase happen?
Tags: google-analytics;measurement-protocol
Question: We're trying to use Measurement Protocol to send offline orders we have had.
We can send most of the orders 48 hours after they really happen. Now it's look like Google Analytics does not supporting that and it's open us this orders as new sessions and not under the cliendID of the user that made this purchase.
We tried to use this setting: Queue Time
But it's limited to 4 hours, and we need it to be 48 hours.
Does anyone know how we can overwrite it?


Here is another answer: Queue time will not work for you. I can think of two possible workarounds, both of which come with their own set of huge disadvantages.
1.) You can store the client id and traffic source when a user places his order (I assume this happens online) and then use the same client id when you record the transaction later. The order will be attributed to the same user - but not the same session, and if you forget to pass in campaign/source/medium it will be attributed to the wrong traffic channel. Plus a one-time visitor with an order will appear as a recurring visitor (because your measurement protocol call will appear as an additional session; you could experiment and try if the optional non-interaction flag can be sent along an ecommerce transaction to test if it avoids those problems).
2.) You can record a bogus transaction with a dummy product when a user places an order. If you add later on a second transaction with the same transaction id it will be added to the same transaction. This is a really really ugly workaround since it affects several metrics - because even if a single transaction appears in the reports internally Ga will record two transactions, so your E-Commerce-Conversionrate will appear higher than it actually is,  and transaction values might be attributed to the wrong channel.
If I had to do this I'd got for option one. Since this only works for future data in any case I'd create a second identical property and send the measurement protocol calls only to one of the property (much like you'd keep a backup view when you create filters) to keep a clean set of data (at least until you have verified that everything works to your satisfaction).
Comment for this answer: Do you think I can use: non-interaction for this?

Here is another answer: You cant as stated in the documentation you linked
Values greater than four hours may lead to hits not being processed.

{'source': 'StackExchangeDataset', 'subset': 'stackoverflow.com', 'metadata': {'AnswerCount': 2, 'CommentCount': 0, 'ContentLicense': 'CC BY-SA 3.0', 'CreationDate': '2015:00:03/23/15', 'FavoriteCount': None, 'PostTypeId': 1, 'Tags': '<google-analytics><measurement-protocol>', 'Title': 'How to use Google Analytics Measurement Protocol for orders that sent 48 hours after the purchase happen?', 'ViewCount': 487, 'id': 29207881, 'user_AboutMe': None, 'user_AccountId': 5984753.0, 'user_DisplayName': 'Noam Round', 'user_Reputation': 1.0, 'user_Views': 2.0, 'user_id': 4702609.0}}