so after use the code, Citi will still give 4th night free?
Yes. Do note that the rebate back is only on the room fee excluding taxes and service fee.
As an example, assuming tax is 10% and service fee is 10%. Discount code available is 12%. Total 4 room rate is A.
Tax and service fee payable is 0.21A. (1.1 x 1.1 - 1)
Room after discount is 0.88A. Rebate ought to be 0.22A. However, rebate is in usd. Bearing any fx movement, real rebate will be ard 0.2134A.
So total cost in this case will be 0.21A + 0.88A - 0.2134A = 0.8766A.
Now assuming agoda has a room that is cheaper (B) and you can use a 10% discount code + shopback (currently 8%)
Toal cost using agoda is (0.9B + 0.21B) x 0.92 = 1.0212B. So if B is 12% cheaper than A, than better to book via agoda.
Play around depends on country to see which option better. If expedia rate is the same as all others, no brainer, just book via citi concierge.