Custom fields can be added to donation forms using the Donation form in the Form Builder. Depending on the donation form, custom fields are added to the end of the billing/payment section of the donation form or just before it.
If a custom field is added to a platform donation page, the field will appear on the platform donation page only, and not on individual campaign donation pages within that platform.
When donating on a platform site or global donation form, if the donor elects to make a General Donation they will be presented with the custom fields from the platform site/global donation form. However, if the donor elects to donate to a fundraiser or team that is participating in a specific campaign, the custom fields from that campaign's donation form will appear on the platform/global form for the donor to fill out.