Hi @PowerJackal4255,
Welcome in the Community !
I think a Split-Plot design may be relevant for your needs. Split-Plot designs are designs where the randomization is restricted because of the presence of "Hard to change" factors. These factors are not randomly reset between each runs, but are changed from "whole plot" to "whole plot".
In your situation, factors tested on the individual sample level will be "Easy to change" factors, as their levels can be reset and changed randomly without restriction. Factors tested on the batch level will be "Hard to change" factors, as their levels are reset only at each new batch of 96 runs.
Here is how you can create this type of design with the Custom design platform (simple example here inspired from your use case):
- Define your factors, and click on "Changes" next to each factor to change its randomization (depending if it's applied on batch (hard) or individual (easy) level) :
Note that you can have several Hard to change factors. If you have several ones, you have the possibility to make them vary independantly from whole plot to whole plot, or not.
- Then, you can add any constraints, and specify the assumed model you want to fit, as well as determining the number of whole plots (= number of batch in your example), as well as the total number of runs. In this example, since your samples are run in batch of 96, I defined 4 batches (whole plots) of 96 samples, so I defined 384 as my total number of runs :

- Click "Make Design" to create your design. You can check that your design enable to have only one value for the hard to change factor for each whole plot :

You can read the documentation to see how to create and analyze such design here : Split-Plot Experiment
Some other ressources to help you:
Hope this answer will help you,
Victor GUILLER
"It is not unusual for a well-designed experiment to analyze itself" (Box, Hunter and Hunter)