I have seen many suggestions about longer goodybags but not necessarily many solutions and not a variable length option as discussed below.
It does seem a bit strange that giffgaff doesn't have a cheaper minutes orientated goodybag bearing in mind that the general perception amongst users appears to be that there is difficulty keeping up with the demand for data capacity but as far as I can tell never any difficulty with the supply of minutes. Other providers seem now to be signfiicantly cheaper than giffgaff for minutes. How many times do you see leaving messages to the effect that going because if it doesn't work it isn't cheap but but a waste of money?
So in order to encourage more people who want more minutes and less data how about allowing people to pay £2 for the first week and then £1 per week to extend any goodybag duration but not increase the allowances. There would need to be a maximum duration so suggest £9 maximum so as to make the gooddybag last a quarter. This would be in addition to the cost of the goodybag so for example the £ 18 goodybag would cost £20 to last five weeks, £ 21 to last six weeks ... up to £27 to last three months (2000 minutes and 6GB over the quarter); the £15 goodybag woud cost £ 24 to last three months etc.
Short, e.g. one or two week extensions would be useful e.g. for those going on holiday knowing that they weren't going to use their phone while away and be a nice touch for giffgaff to meet halfway the many who are preoccupied with rolling over unused allowances
Regarding how to administer it, ideally - we would really be in control - we could choose to buy the extra duration at any time while the goodybag active. If this is too much it could work like the old Blackberry "add-on" and purchased at the time the goodybag is bought; it could say 'how long do you want this goodybag to last? ... choose from 4 to 12 weeks"
Another advantage is that giffgaff would have savings from less transactions and much better cash flow.