You may not know the new delivery date yet. You may already know that the original promise is at risk. Those are different pieces of information, and waiting for certainty can leave the customer with fewer options.
A useful update distinguishes a credible risk from a confirmed delay. It gives the customer something they can use without replacing one uncertain promise with another.
State what is known
Explain the affected milestone, the current evidence and what you are doing next. Keep internal blame out of the message. The customer needs to understand the impact on their plans.
Avoid saying that delivery is guaranteed if a critical dependency remains unresolved. Equally, do not describe a possible delay as a confirmed failure when that is not yet established.
Give a next update time
Here is an illustrative message to adapt: “The review needed for Thursday's delivery is taking longer than expected. Thursday is now at risk. We are checking whether a partial delivery is workable and will update you by 2 p.m. tomorrow, even if the final date is not yet confirmed.”
Only offer alternatives you can actually support. Check existing agreements and any formal notice requirements that apply to the engagement.
Close the communication loop
Assign one person to own the next update and put that commitment on the team's calendar. Silence after an early warning undermines the usefulness of the warning itself.
Once the outcome is known, confirm the revised plan, responsible person and remaining dependencies. After delivery, investigate why the risk was discovered when it was and whether earlier visibility was possible.