What if there is not enough room in a BLE advert for all of the data I want to include?

BLE adverts are limited to 31 bytes but the user data will be somewhat less as data is organised into datatypes which will incur an overhead which varies depending on the datatypes used. BLE allows for an extra packet of data without needing to enter a connection by way of a scan response (SCAN_RSP). This extra data can be requested by the central role device using a scan request. To allow the use of this extra packet the original advert will need to configured to show the device as scannable using the advert packet type of ADV_DISCOVER_IND or ADV_IND. Data in the scan response packet is organised into data types in exactly the same way as regular advert packets including the same size limitations. It is recommended that frequently changing data be included in the original advert packet rather than the scan response packet so that scan request do not need to sent for every advert packet. for example you may want to put a thermometer temperature value in the advert packet and the device name in the scan response packet as the latter is unlikely to change in most applications