The appearance fees can vary, along with other restrictions. Some appearance fees are guaranteed but the athlete isn't allowed to run any other marathon within a certain time period after the race (so that they don't drop out and save themselves for a different race in two weeks as a backup plan). Others are 100% if they run under a modest time standard and 50-75% if they have a bad race.
What I don't like is how the appearance fees have gotten to the point where most people get more money from their appearance fee than the actual prize money. The person who runs the fastest often does not get the most money. It has gotten to the point where a lot of people are getting twice as much appearance fee money or more as they earn from actual prize money. People who have one good race a long time ago milk that appearance fee for years instead of that money going to the overall prize money and letting the current fast people to win it. African runners who typically win the overall race are getting the short end of the stick because they are often offered less prize money because they are a dime a dozen and the coordinators don't want to give them a lot of appearance fee money unless they're a past champion or an olympic medalist.
I wish appearance fees would be done away with and the races should beef up the advertised prize money amounts.