How To Set Up An Ao3 Exchange
One of the first things I say whenever anyone asks me about running exchanges is that if you have more than about 30 people in the exchange, do NOT try to match it by hand. That is so much work and takes so much time. Use Ao3's matching algorithm. And people say sure, and then they look at how Ao3 works and they go uhhhhhhhhhh I think we can make a google form work. Because google forms are reasonably intuitive to make work, and Ao3 exchanges are— not.
But the thing is, once you understand the underlying logic for Ao3 collections, they are not that bad, and seriously I can't overstate the benefit of having Ao3 do the matching for you. That's like the difference between 80 hours of curating data as it comes in and then matching it (what happened with hand-matching 325 people for holiday exchange), or 2 hours of double-checking the matching (what happened with matching 125 people for 48 hour exchange). You have to put in extra work to get an Ao3 exchange set up, but it super pays off in the end. So! Here is an intro to how Ao3 exchanges work on the back end. This explanation assumes you know how to sign up for an exchange because I've posted ones like that before, for example, here.
Let's get into it.
THE COLLECTION
The first thing you want to do is set up your exchange collection. If you go to your right-hand drop-down menu, you click on My Collections.
That brings you to every collection you have ever made, and you go to to the right and click "New collection".
That brings you into the back end of the collection. You want to go down and put in a name for the collection that will be the url (so no spaces), a display name, an email for the collection to email when something happens to the collection (this will be public, so use a fandom email), and a basic description.
There's places there to do custom icons and headers, but those are optional, but you can go in and make your exchange pretty later if you want!
We are still in the "setting up" stage of the exchange, so once we go to preferences, you want to select all the tick boxes and make it look like this.
Moderated means that you'll have to manually approve things to be added to the collection (not absolutely necessary but can keep out trolls, and it also means that you can manually check that gifts meet minimums before you let them in to the exchange), Closed means that no one can submit things to the collection yet (once you open your exchange you de-select this), Unrevealed means that any works in the collection will show up as "mystery works" and not be readable (so you keep it unrevealed until the posting date, so people can post early but not spoil the surprise), anonymous means that all authors will be anonymous (this depends on if you have an anonymous portion of your exchange, so it's optional), "show random works" just means that you get a selection of different works when people visit the collection at different times, "send a message to the collection email" is optional but is useful for moderation (like if you're checking people off a list when their gifts get delivered), and "type of challenge" you want to be set to "gift exchange".
and then on this page the only other things of concern are places where you can put in an FAQ, a description and some instructions, but those are all optional! I normally host the FAQ on tumblr, so I just say "go check the tumblr at [link]".
And then you hit the submit button.
Now we get into the nitty-gritty.
First up is some optional stuff— you can add in the times that you're going to do things! This is useful for communication, but not necessary. We're still setting everything up, so you do not want Sign-Ups to be open, that is only selected once you have everything ready to go.
Then scrolling down, you get to Requests and Offers.
This is where you specify the absolute minimum ships or characters that you want people to give you to sign up. 10 is the maximum Ao3 allows, so I always set it to 10 for both "allowed", which is the maximum the site will allow. And required is the low number. I usually set it to a minimum of three, to make sure someone doesn't sign up with "i will only write one ship" or something. This way, people will have to do a minimum of three separate requests and offers.
The "requests visible" is part of the back end thing, and it's up to you if you want to select it or not. If you keep it unselected, the only person who will be able to see requests is the mods, and eventually each person will see their assignment. If you select it, people will be able to browse everyone's requests and both maybe target offers so they can write for a specific person, and be able to find treats (extra bonus gifts) to write for people whose requests they like. Each side has its own benefits or negatives, it's up to you which ones you want to go with!
And here we get into more of the matching info! Let's look at Request Settings.
Now this is what the settings would look like for a multi-fandom exchange. The "details/description" box you want to make mandatory because that is where people will put their DNW and their prompts (and you absolutely want to make sure everyone has a DNW), and the url is an optional one which lets people link an off-site letter on google docs or dreamwidth.
Fandom allowing up to three fandoms means that people can do crossovers if they want (or tag a request something like 3rd life/hermitcraft), and if I wanted to say that people had to request 3 separate servers I would say "must be unique" but I'm okay if people sign up with three Dream SMP relationships in this idea hypothetical exchange, so I'm not selecting the unique button.
I'm ignoring the characters button cause that's extra complication, the only other thing I want to look at is the relationship button. A minimum of 1 ship per request (and there's a minimum of three requests), and let's say you can go up to 20, so people can request LOTS of different ships. I did select "must be unique" so someone can't sign up with the same ship three times. The "allow any" button is off, which means that people will have to manually select the tags they want. Selecting "allow any" will allow people to tick a box and say that they want to opt into every relationship available in a fandom! This has set it so that the absolutely minimum someone can sign up with is 3 relationships (3 requests * 1 relationship each), and the absolute maximum is 200 relationships (10 requests * 20 relationships each).
Requests will look much the same, except I am not putting down details/description or a URL, because I'm not letting people submit requests about what ship they "really" want to match on, they are going to be equally matchable to everyone they offered. Some exchanges will let you submit a requests DNW, but honestly that is so much extra work for the mods, I would not recommend it unless you think it's necessary to stop people from dropping their gifts later.
Okay, so now we take a brief digression into a tag set.
THE TAG SET
Okay so basically a tag set is an extra set of sliders that lets you fine-tune your exchange. If you do not use a tag set, when people sign up they will be able to use every canon tag on the archive, and only canon tags. Which is a LOT of tags, but when I ran an exchange without a tag set there were multiple times of hitting non-canon relationships or tags. But it's also a definite extra complication, tag sets are extra fiddly work and they are even less intituive. If you just want to go without a tag set, skip down to the matching segment. If you do want to avoid hitting people signing up with non-canon tags, keep reading.
I'm gonna say right off the bat that tag sets are the single most like "oh I am getting into the GUTS of the machine" part of running Ao3 exchanges, but if you can make them work they can super streamline both the sign-up (for your participants ) and the matching process (for you).
Oh boy, tag sets. Here we start getting into how exchanges start squeezing the interface to make it do what we want it to. I'm using a tag set, so first I clicked on the "tag set" url there and I made my tag set, and then I came back and selected its name from the drop-down menu on the collection. Ignore characters, we're not using characters right now. When it comes to the relationship settings, you have three options:
Leaving both boxes unticked will allow someone to input any relationship that has been wrangled into the fandom and any relationship in your tag set.
Clicking Fandom Only will allow people to use any wrangled canon tag that has been associated to this fandom— but only those tags.
Clicking Tag Set Fandom Only will allow people to use any tag in your tag set that is associated with your fandom— but only those tags.
Fandom Only is not very useful for how we're using tag sets, because we specifically want non-canon unique tags we are designing for our purpose. Both boxes unticked is only useful if you want people to be able to do mash-up signups where someone puts ZombieCleo & LDShadowLady (3rd Life) on a signup for a fandom of Dream SMP— which in most cases you don't want, because matching that is gonna be very difficult. (We do something like this for mcyt recursive, but recursive is— weird.) The usual and simplest way to run is to click Tag Set Fandom Only, and that way your participants will get a drop-down autocomplete menu of the tags in your tag set, the ones they can use, when they sign up. Easy and simple!
I am leaving characters unchecked, because in both cases selecting a box will restrict the options available to someone signing up to character tags that have been associated or wrangled into a fandom, and we are either a) not using characters at all, or b) using the character field for gift types (more on that later), and we specifically want unassociated gift type tags that are not affiliated with any specific fandom. What tags? Well. Let's move over to the tag set itself.
So, I started a new tag set, and I'm over there on that screen, looking at it. What does that screen look like?
Okay so, part of the appeal of a tag set is that your participants are able to specify the difference between "Rendog & InTheLittleWood" and "Rendog/InTheLittleWood". You don't have to worry about people getting undesired shipping, because people were specifying if they wanted shipping when they signed up. You can reduce a great deal of people getting matched badly by using relationship matching, because most of the time even if people want a Tommy-centric fic, there's a pretty big difference between people who want "Tommy & Technoblade" and "Tommy & Dream". By specifying who you want the gift to be about, you remove a big hurdle of matching right away. That's why most exchanges run on relationship matching.
However, if there are 37 people on a given server, that's something like 2,600 possible combinations of people if you include both romantic and platonic, and that's before you start getting into trios, and that's just way too many tags for the mods to enter manually. So what you do is run a nomination period, and for a week or two weeks you go to all your participants and you go "do you want to sign up for this exchange? Nominate the tags you want to use now! If it doesn't get nominated, it can't be used!" And then people head to the tag set to nominate.
So, on this page, you want "visible tag list" to be selected, because you want people to see what's already been nominated so they don't duplicate, and you want "currently taking nominations" to be selected because you will be taking those nominations instead of doing them all yourself.
So you have to set up limits on those nominations.
The point of taking nominations is to make matching easier, so people normally use the same fandom and relationship limits as they are going to use on the sign-up, to make sure there aren't dozens of tags in the tag set that nobody's using, just cluttering up the space. It also helps stop the issue where someone sees a tag in the tag set, goes "oh man I love that ship" and signs up, but its an extra tag that no one intended to offer, so they don't match to anyone. That's why sometimes people keep the amount of tags that can be nominated low, I've seen people limit this to 10 tags per fandom, or even 7, so that's up to you.
And you save, and now when you link your participants the tag set, they will have a "nominate" button.
They will hurry over to press that button, and then they will see a page that looks like this.
This is a thing where you absolutely want to give your participants detailed instructions, because what Ao3 will try to do is auto-fill people's nominations with canonical tags. WE DO NOT WANT CANONICAL TAGS. CANONICAL TAGS ARE THE ENEMY OF EXCHANGES. CANONICAL TAGS ARE THE ENEMY OF MCYT EXCHANGES IN PARTICULAR.
Remember back when we clicked the button that says tags have to be unique? The canonical tag for Philza & Technoblade doesn't have a server on it, and people might want to be requesting that relationship for SMPEarth, Dream SMP, Origins SMP, or arguably even QSMP. If you only have the canonical tag, people can only request a specific dynamic once, for one server. And that is a problem for every situation where people interacted on multiple servers, and with the network of overlaps that is Empires/SOS/3rd Life/Hermitcraft and DSMP/Origins/SMPEarth/QSMP, that's going to lead to unhappy participants. So you tell people to nominate the ship and also "disambiguate" it, and add the server in parentheses. And then all your participants will hit the button to submit, and you will go into the "review nominations" button, and you will let those tags into the tag set.
Now I just distributed the tag set to a couple friends, so let's look at what this looks like behind the scenes.
Brace yourself, it's gonna be wild, but I believe we can get through it.
Now here is a perfectly standard look at tag set nominations after a few people have gotten into the tag set. This is why they pay tag mods the big bucks.
As you can see, there are a few things to be gathered. The first things is a bunch of people used the canon tags (because that's what Ao3 tries to get them to do), someone else nominated an x-reader ship, we have one tag there twice (spelled differently), and the tags are Piped (they have both the person's tax name and the username). (You can let tags in that are Piped, but I find that it makes the tag set harder to read, and usually exchanges are character-focused unless you're writing video blogging rpf anyways, so I ask people to submit tags unpiped, using usernames.) And for the tags that were nominated in a way that I want (unpiped, and disambiguated so they're unique), Ao3 is trying to get me to use the canon tag. But I don't want the canon tag, I want a unique tag, with the server on it, with no pipes. So.
So were I moderating the tag set, after a few minutes it would look like this.
That's going through and disambiguating the tags (adding the server, which I could tell because of the fandom it was nominated under), removing the piping and using the usernames instead of tax names, and then re-ordering the names so they're alphabetical so people can find them on the list later, rejecting the x-reader tag, rejecting the duplicate and allowing the one that's spelled correctly through. Amazing. I have tags that I want to use (I did some other tags that were ready to go in other fandoms as well). I hit submit. Am I ready to go?
Not yet! First, associating tags. If you accepted the tags through the tag nomination process, you will have a button up there that says Review Associations.
If you click on this, on the back end, anything that you accepted under a previously accepted fandom will be helpfully paired up with this fandom, with Ao3 trying to say "ah, does it go here?"
You just go down the list, and if is trying to put it in the right fandom, then you click the box, and at the bottom of the page you press submit, and then there's your tags sorted out to your fandoms! Bingo! Are you done now?
No.
Because tag sets are the most complicated part of exchanges.
So. if you open up your tag set, and you scroll down to "Unassociated characters and relationships" there are a bunch of tags that are are lost, Ao3 doesn't know where to put them. This happens when a) you accepted a tag that was associated with a fandom that hadn't been accepted yet, b) it was trying to associate it with a basket fandom that you don't want to associate it with so you couldn't accept the suggested associations (for example: Philza hardcore tags will show up in Dream SMP but you don't want to associate them there), c) sometimes Ao3 just breaks, spaghetti code d), you had manually added these tags on the Edit page— more on that later. So all of these tags you have to manually associate.
You hit the Edit button on the tag set, and scroll down to the bottom, to "tag associations", and start selecting where tags go.
Honestly this is a great time to be listening to a stream or a podcast or something, and then you have the tag set open in another tab so you know what all the unassociated tags are, and you just go down the list like a databasing machine. It is not hard, cause you disambiguated each tag with its own server, it's just time consuming. Note. This is why people go in and accept tags regularly during the nomination period, because if you do this all at the end you've got a BIG job ahead of you.
So, you turned on your VOD playlist and you associated all your tags, and all the tags are where they are supposed to go. You have a beautiful tag set.
But wait, you say, looking at this beautiful tag set. Some of those tags look at little different. What is the "Dream smp and only dream smp" that a couple of them have?
Well.
You see.
Ao3 designed tag sets to work a certain way, and nobody uses them that way. It turns out that "Quackity/Wilbur Soot (Dream SMP)" is a wrangled canon tag, and the system goes "ah, I know where this goes, this is a sub-tag of the major tag, and the top-level tag is Video Blogging RPF, so it goes under Video Blogging RPF, as all MCYT tags do. I am very smart. I have stuck this Dream SMP tag under Video Blogging RPF. I am a good machine". And then you go AUUUUUUUUGH, and then you turn up the podcast a little louder, and then you sit down and you delete the old tag and you write out a new tag that the system doesn't know what to do with, and it goes uhhhhhhh and sticks it in "unassociated tags" and then you go in again and you manually associate it into the right server.
Edit in 2024: I use (DFE), Disambiguated For Fandom Exchanges, at the end of the tag now, because it's shorter.
It's not hard, it's just time consuming. Shouting at the tag set like STOP TELLING ME WHAT TO DO as it helpfully tries to stick dsmp tags in SMPearth and you wrestle it out of SMPEarth and into the right fandom bucket.
Deep breath moment. Honestly that's the most fiddly part of a fiddly process, so if you can get through this you're absolutely golden.
Anyways. You got clean disambiguated unique tags, and then you associated them in the right spot, and then you found the ones that got sorted to the wrong spot and you associated them yourself, and now you have a beautiful tag set ready to go. It's a thing of beauty. Shed a tear. Your participants can select from anything in this tag set, and you know they want to use these specific relationships, because they submitted them to you. What next?
THE MATCHING
Okay. You have your tag set set up and it's accepting nominations. Your participants are filling it out right now. You go back to your collection. it's time to tell it how to match.
This is the "minimum number to match" pane, and this is the minimum numbers to make a successful match. You want 1 for Fandom, and 1 for Relationship, and that's it. People will show up to the machine as a viable match as long as they have submitted a fandom and relationship that matches someone else's offered fandom and relationship.
This is a minimum viable exchange. You're ready to go. As soon as your tag set is done (or immediately if you're not using a tag set), you're ready to go back and open your exchange to sign-ups.
Congratulations!
FURTHER TWEAKING
HOWEVER. There is more that you can do. For example, do you want to allow people to request or opt into NSFW? There's an easy way to do that! First thing is you go back to your tag set, and you scroll down to the "ratings" section that you've been ignoring.
You select G and E, and that way, if people are opting into explicit that means they're okay with NSFW, and if they only select G, that means they only want a non-explicit piece.
Then on the collection you switch the requests and offers sections to include a place to specify a rating.
You want them to definitely specify at least one, and if you maximum allowed is 2, people can opt into both and say "i'm good with whatever"!
Then you scroll down to the matching section, and you tweak that to make sure that people will match on Fandom, Relationship, and at least one Rating.
Bingo. You now have a toggle to turn NSFW on and off.
But a lot of people like to match by TYPE of gift too, specifying if they want art or fic or playlist or web weave etc. How do you do that? Ah, at this point you are master of all you survey, and you can make tag sets do absolutely anything you want. Remember we talked about using the character slot? You go back to the tag set and you scroll down to "characters".
Now we were matching on relationships, so the character box is unused. And it lets you put in your own tags. So what you do is you start to add in custom tags.
And then you go back to the Collection settings, and on the requests and the offers you go in to the "characters" section and you say "must select at least one, can select up to six".
And then, you guessed it— you go back to "minimum number to match" and you set that "characters" tab to 1 minimum, 6 maximum. Now people who specified that they wanted Art can be matchable to artists who Offered Art. You have unlimited power, the world is at your fingertips.
There's even more customization that you can do, too! There's "additional tags", which is entirely custom tags you add yourself, that can be anything from specifying if people want fluff or horror or hurt/comfort etc— with the recursive exchange we used it to specify the works people were recursing— I'm considering using it for holidays with the holiday exchange. You can let people opt in or out of major archive warnings by selecting "archive warnings" as a thing that's in the tag set and that you're matching for. Once you understand how the underpinnings of how the machine works, you can wrestle it into almost any shape you want.
So. Whew. That's how exchanges work, under the hood. When I say that this is significantly easier than hand matching the holiday exchange, I ask you to picture just how complicated hand matching gets. Go forth! Thrive! Set up exchanges if you want! The world is your oyster!
Feel free to message me if you have further questions.


















